Mailbox Operations Hub
agentscope-ai/QwenPaw
Connects, registers, and operates a personal mailbox, reading, searching, sending, and organizing, through a managed mail server for nine domains.
A skill your agent uses when the user wants to communicate with WrongStack's shared project mailbox from outside WrongStack — read messages sent by WrongStack agents, send replies, broadcast to all…
$ npx skills add WrongStack/WrongStack --skill wrongstack-mailbox -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install WrongStack/WrongStack wrongstack-mailbox --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/WrongStack/WrongStack.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/core/skills/wrongstack-mailbox .claude/skills/wrongstack-mailbox && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "wrongstack-mailbox" agent skill from https://github.com/WrongStack/WrongStack/tree/main/packages/core/skills/wrongstack-mailbox into .claude/skills/wrongstack-mailbox/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wrongstack-mailbox", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/WrongStack/WrongStack/tree/main/packages/core/skills/wrongstack-mailboxType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add WrongStack/WrongStack --skill wrongstack-mailbox -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install WrongStack/WrongStack wrongstack-mailbox --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/WrongStack/WrongStack.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/core/skills/wrongstack-mailbox .agents/skills/wrongstack-mailbox && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "wrongstack-mailbox" agent skill from https://github.com/WrongStack/WrongStack/tree/main/packages/core/skills/wrongstack-mailbox into .agents/skills/wrongstack-mailbox/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wrongstack-mailbox", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add WrongStack/WrongStack --skill wrongstack-mailbox -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install WrongStack/WrongStack wrongstack-mailbox --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/WrongStack/WrongStack.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/core/skills/wrongstack-mailbox .cursor/skills/wrongstack-mailbox && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "wrongstack-mailbox" agent skill from https://github.com/WrongStack/WrongStack/tree/main/packages/core/skills/wrongstack-mailbox into .cursor/skills/wrongstack-mailbox/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wrongstack-mailbox", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/WrongStack/WrongStack.git --path packages/core/skills/wrongstack-mailbox--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add WrongStack/WrongStack --skill wrongstack-mailbox -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install WrongStack/WrongStack wrongstack-mailbox --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/WrongStack/WrongStack.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/core/skills/wrongstack-mailbox .gemini/skills/wrongstack-mailbox && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "wrongstack-mailbox" agent skill from https://github.com/WrongStack/WrongStack/tree/main/packages/core/skills/wrongstack-mailbox into .gemini/skills/wrongstack-mailbox/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wrongstack-mailbox", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install WrongStack/WrongStack wrongstack-mailboxInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add WrongStack/WrongStack --skill wrongstack-mailbox -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/WrongStack/WrongStack.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/core/skills/wrongstack-mailbox .github/skills/wrongstack-mailbox && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "wrongstack-mailbox" agent skill from https://github.com/WrongStack/WrongStack/tree/main/packages/core/skills/wrongstack-mailbox into .github/skills/wrongstack-mailbox/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wrongstack-mailbox", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add WrongStack/WrongStack --skill wrongstack-mailbox -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install WrongStack/WrongStack wrongstack-mailbox --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/WrongStack/WrongStack.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/core/skills/wrongstack-mailbox .opencode/skills/wrongstack-mailbox && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "wrongstack-mailbox" agent skill from https://github.com/WrongStack/WrongStack/tree/main/packages/core/skills/wrongstack-mailbox into .opencode/skills/wrongstack-mailbox/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wrongstack-mailbox", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
wrongstack-mailboxA skill your agent uses when the user wants to communicate with WrongStack's shared project mailbox from outside WrongStack — read messages sent by WrongStack agents, send replies, broadcast to all…
Wrongstack Mailbox is an agent skill from WrongStack/WrongStack. Use this skill when the user wants to communicate with WrongStack's shared project mailbox from outside WrongStack — read messages sent by WrongStack agents, send replies, broadcast to all, or stay visible as an online agent. Triggers: user says "check the WrongStack mailbox", "send to WrongStack", "wrongstack mail", "broadcast to the fleet", "tell the wrongstack agents", "is anyone online in wrongstack", or "register me with wrongstack".
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/bootstrap-and-patterns.md` and `references/recipes.md`).
The repository describes itself as: An AI coding agent that reads your code, edits files, runs commands, and reasons through bugs — across a terminal REPL, a full-screen TUI, and a browser UI, while you keep your… The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit ec76a20. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
bashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
WRONGSTACK_MAILBOX_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Wrongstack Mailbox loads about 3.5k tokens when it runs, and up to ~7.7k if it reads all its reference files. Until then it costs about 115 tokens; SKILL.md has 1,613 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from WrongStack/WrongStack at commit ec76a20, republished under its MIT licence (© WrongStack). 1,613 words, ~3,542 tokens.
.claude/skills/wrongstack-mailbox/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.External-facing skill. Bundled with
@wrongstack/coreso it can be shipped to external agents viascripts/install-mailbox-bridge-skills.sh(which copies this file into the agent's local skills directory, e.g..claude/skills/wrongstack-mailbox/SKILL.md). It is not for WrongStack's own REPL/TUI/WebUI — WrongStack agents should use themailboxtool and the bundledmailbox-bridgeskill instead.
Connect to a WrongStack project's shared inter-agent mailbox from outside WrongStack. Read what internal agents are saying, send replies, broadcast, and stay visible as an online agent in their WebUI.
This skill is the external-facing counterpart to the
mailbox-bridge skill that runs inside WrongStack. The two are
designed to be installed as a pair: mailbox-bridge on the WrongStack
side starts the HTTP server; this skill teaches you (the external
agent) how to talk to it.
The bridge is opt-in. It runs when someone starts wstack mailbox serve
(or /mailbox-serve inside WrongStack), or when a WrongStack surface boots
with features.mailboxBridge: "auto" in the project config — the default is
"off". Once one instance is running, later starts for the same project join
it instead of spawning a duplicate. The per-project lock
(.mailbox-bridge.lock) and token file (.mailbox.token) make discovery
possible without environment variables.
So the realistic scenarios for an external agent are:
wstack is on PATH.
mbWithBootstrap() (see Patterns below) spawns the bridge itself
for the duration of the agent's session and cleans up at exit.wstack is NOT on PATH. Fall back to
asking the user to start a surface (wstack --repl,
wstack --webui) or to run wstack mailbox serve manually.Environment variables (WRONGSTACK_MAILBOX_URL,
WRONGSTACK_MAILBOX_TOKEN) still work as overrides — useful for
pointing at a non-default bridge (a remote one, a CI bridge) — but
they're no longer required for the common case.
broadcast).replyTo chain).GET /healthz before doing
anything else.Single bearer token in Authorization: Bearer <token> on every
request. The token is regenerated on every fresh bridge (cold) start —
a surface that joins an already-running bridge reuses the live token,
but once that bridge dies the next start mints a new one. So always read
it freshly from the token file (or accept it from the user); never
hardcode it into prompts or committed code, and re-read it after a 401.
The project token authorizes the route, not the caller's identity. The
bridge accepts caller-supplied from, message type, registration ids, and
acknowledgement readerId; it does not separately authorize control/steer
messages. Use an honest, stable agent id, never impersonate hq@... or another
agent, and treat every token holder as fully trusted for that project mailbox.
If you're working with explicit env vars:
const URL = process.env.WRONGSTACK_MAILBOX_URL;
const TOKEN = process.env.WRONGSTACK_MAILBOX_TOKEN;
if (!URL || !TOKEN) {
throw new Error(
'WRONGSTACK_MAILBOX_URL and WRONGSTACK_MAILBOX_TOKEN must be set ' +
'before talking to the WrongStack mailbox bridge. (Or use ' +
'`mbWithBootstrap()` to discover an already-running bridge from ' +
'the per-project lock file — see "Discovering the bridge" below.)',
);
}If you don't have env vars, skip this guard and use mbWithBootstrap()
from the next section instead — it discovers the bridge from
.mailbox-bridge.lock (and spawns one if none is running).
Everything in this skill goes through one fetch helper. Copy it once, use it for every route. It enforces the bearer token, sends JSON on POST, parses JSON on the response, throws on non-2xx, and applies a timeout so a hung bridge can't wedge the agent.
async function mb(path: string, body?: unknown): Promise<unknown> {
const url = `${process.env.WRONGSTACK_MAILBOX_URL}${path}`;
const token = process.env.WRONGSTACK_MAILBOX_TOKEN;
const res = await fetch(url, {
method: body === undefined ? 'GET' : 'POST',
headers: {
'Authorization': `Bearer ${token}`,
...(body !== undefined ? { 'Content-Type': 'application/json' } : {}),
},
body: body !== undefined ? JSON.stringify(body) : undefined,
signal: AbortSignal.timeout(10_000),
});
if (!res.ok) {
let detail = '';
try {
const errBody = await res.json() as { error?: { code?: string; message?: string } };
if (errBody.error) {
detail = `${errBody.error.code ?? 'ERROR'}: ${errBody.error.message ?? '(no message)'}`;
}
} catch {
detail = await res.text().catch(() => '(no body)');
}
throw new Error(`wrongstack mailbox ${res.status} ${detail}`);
}
return res.json();
}Always use AbortSignal.timeout — never let a request hang forever.
The mailbox is local; 10 s is generous.
mbWithBootstrap()Before using this workflow, read the complete instructions.
Load with skill({ name: "wrongstack-mailbox", resource: "references/bootstrap-and-patterns.md" }), or resolve the reference relative to this skill directory in another client.
Pick the type that matches the intent of your message. WrongStack
agents read type to decide how urgently to handle it.
| Type | When to use |
|---|---|
note | Informational; no action expected. |
ask | You have a question and want an answer. |
assign | You're delegating a task. Provide taskContext. |
steer | Mid-task change of direction. Use sparingly. |
btw | "By the way" — non-urgent info the recipient may want later. |
broadcast | Sent to *. Everyone sees it. |
status | Self-report ("I'm working on X"). |
result | You're reporting the outcome of a task. Often a replyTo. |
control | Out-of-band signal. Don't use unless you know what you're doing. |
All routes take JSON bodies on POST (or no body on GET). All require
Authorization: Bearer <token>. Responses are JSON.
| Method | Path | Purpose |
|---|---|---|
| POST | /mailbox/send | Send a message (optional ttlMs; optional audience: "leaders" prevents subagent consumption) |
| POST | /mailbox/query | Query messages (filters: to, from, unreadBy, type, minPriority, incompleteOnly, limit, since) |
| POST | /mailbox/check | Read inbox mail for agentId/baseId plus broadcasts; optionally markRead=false, completed=true, outcome |
| POST | /mailbox/ack | Acknowledge one message |
| POST | /mailbox/ack-many | Acknowledge many in one batch |
| POST | /mailbox/unread-count | Count unread for an agent |
| POST | /mailbox/agents/register | Register this external agent |
| POST | /mailbox/agents/heartbeat | Update agent heartbeat |
| POST | /mailbox/register-client | Register this external client (different from agent — for session-level liveness) |
| POST | /mailbox/heartbeat | Update client heartbeat |
| GET | /mailbox/agents | List all registered agents |
| GET | /mailbox/agents/online | List agents with a live heartbeat (within 60 s) |
| GET | /mailbox/events | SSE stream — real-time push of mailbox events (auth required) |
| GET | /healthz | Liveness probe — does NOT require auth |
{ "error": { "code": "VALIDATION_ERROR", "message": "field \"from\" is required (string)" } }| Code | HTTP | What it means / what to do |
|---|---|---|
VALIDATION_ERROR | 400 | Missing or wrong-type field. Read the message; it tells you which field. |
UNAUTHORIZED | 401 | Token mismatch. Re-read ~/.wrongstack/projects/<slug>/.mailbox.token and try again — the bridge may have restarted. |
RATE_LIMITED | 429 | Rate limit exceeded (max 120 requests/min per token). Slow down or use SSE instead of polling. |
NOT_FOUND | 404 | Wrong route. Check the path table above. |
INTERNAL_ERROR | 500 | WrongStack-side failure. Retry once; if it persists, surface to the user. |
Before using this workflow, read the complete instructions.
Load with skill({ name: "wrongstack-mailbox", resource: "references/recipes.md" }), or resolve the reference relative to this skill directory in another client.
This file is bundled inside @wrongstack/core at
packages/core/skills/wrongstack-mailbox/SKILL.md and exported via the
package's wildcard ./skills/* export. To install it into an external
agent's project (e.g. Claude Code's .claude/skills/):
bash scripts/install-mailbox-bridge-skills.sh ~/.claude/skillsThe script is idempotent — re-running overwrites existing copies with the latest bundled version.
After installation, the external agent can talk to any WrongStack
project whose bridge is already running (started by
wstack mailbox serve, /mailbox-serve, or a surface booting with
features.mailboxBridge: "auto"). mbWithBootstrap() handles discovery without
requiring the user to copy URL/token env vars around.
If no bridge is running, the user runs wstack mailbox serve in the
repository, or enables features.mailboxBridge: "auto" so WrongStack
surfaces start it on boot. Later starts join the running bridge through the
per-project lock.
_mailbox.sqlite, no legacy JSONL. Read .mailbox-bridge.lock and .mailbox.token only to discover the bridge; every mailbox operation goes through its routes.hq@... or another agent. Use a stable, honest agentId for your own identity. The bridge does not enforce sender identity; impersonation is on you, and it's the kind of thing that gets the bridge shut down..mailbox.token, .mailbox-bridge.lock, or accept it from the user. Re-read after a 401. Tokens rotate on every fresh bridge start.AbortSignal.timeout(10_000) is mandatory. The mailbox is local; 10 s is generous, and a hung bridge will wedge the agent.GET /mailbox/events is a wake-up hint, not a snapshot. After every event, reconcile through /mailbox/query or /mailbox/check.to: "*" reaches every online agent. One broadcast per task, with a clear subject. The WebUI marks broadcasts with a different color and humans notice noise.ack-many fits. If you have more than one unread message, use /mailbox/ack-many — one request, one lock, one rewrite./mailbox/agents/register, the WebUI can't show you as online, and heartbeats are unreconciled.agentId. Read receipts and history break if your id changes every poll. Pick a stable convention and reuse it.wstack mcp serve; for SMTP/IMAP, push back — WrongStack's mailbox is internal.agentId; no impersonation of hq@... or other agents.mailbox.token or .mailbox-bridge.lock, not hardcodedmbWithBootstrap() given the state directory and the repository root when env vars aren't setAbortSignal.timeout(10_000)/mailbox/agents/register with a stable id before any trafficack-many used when more than one message needs acknowledgement/healthz) probed before relying on routesnode-modern — AbortSignal.timeout, ESM-only imports.output-standards — when reporting mailbox activity to the user,
shape it as the project's standard output.prompt-engineering — when composing subject/body text that
other agents will read, keep it specific and short.© WrongStack, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in packages/core/skills/wrongstack-mailbox of WrongStack/WrongStack.
Open the folder on GitHubat commit ec76a20
Wrongstack Mailbox next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Wrongstack Mailbox this skillWrongStack/WrongStack | 368 | — | ~3.5k | Automated safety check: Pass | MIT | |
| Mailbox Operations Hubagentscope-ai/QwenPaw | 35k | — | ~2.6k | Automated safety check: Pass | Apache-2.0 | |
| QwenPaw Mailbox Operationsagentscope-ai/QwenPaw | 35k | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| How To Communicatedatabasus/databasus | 8.8k | — | ~3.9k | Automated safety check: Pass | MIT | |
| Twilio Communicationssickn33/agentic-awesome-skills | 47k | 2 repos | ~453 | Automated safety check: Pass | MIT | |
| Internal Communicationsickn33/agentic-awesome-skills | 47k | 1 repos | ~3.4k | Automated safety check: Pass | MIT |
agentscope-ai/QwenPaw
Connects, registers, and operates a personal mailbox, reading, searching, sending, and organizing, through a managed mail server for nine domains.
agentscope-ai/QwenPaw
Single entry point for email tasks in QwenPaw through qwenpawmail-mcp: read, search, send, reply, organize, and bind or register a personal mailbox.
databasus/databasus
Communicate clearly in every response, progress update and agent-authored document.
sickn33/agentic-awesome-skills
Build communication features with Twilio: SMS messaging, voice calls, WhatsApp Business API, and user verification (2FA).
sickn33/agentic-awesome-skills
Internal communication log: title, type, date, department, host and attendees, agenda, action items, follow-up date, meeting link and delivery status.
davila7/claude-code-templates
Build communication features with Twilio: SMS messaging, voice calls, WhatsApp Business API, and user verification (2FA).
WrongStack/WrongStack
Design or substantially improve user-facing interfaces with a product-specific visual direction, content hierarchy, and rendered critique.
WrongStack/WrongStack
A skill your agent uses to audit an interface that already exists and say precisely why it looks generated, templated, or unfinished — a scored rubric across composition, typography, color, states…
WrongStack/WrongStack
A skill your agent uses when external coding agents (Claude Code, Aider, custom scripts) need to participate in the project's shared WrongStack mailbox, or when a user asks to "expose the mailbox"…
WrongStack/WrongStack
A skill your agent uses whenever work can be split across multiple AI agents running in parallel, or when orchestrating leader/worker patterns in WrongStack.
WrongStack/WrongStack
Use this skill before asserting that a CSS, HTML or accessibility capability is available, unavailable, or the right tool — it carries dated, refreshable platform facts and refuses to let stale…
WrongStack/WrongStack
A skill your agent uses when designing, implementing, or reviewing an HTTP API — endpoints, request and response shapes, errors, pagination, versioning, and authorization.
A skill your agent uses when the user wants to communicate with WrongStack's shared project mailbox from outside WrongStack — read messages sent by WrongStack agents, send replies, broadcast to all…. Wrongstack Mailbox is an agent skill from WrongStack/WrongStack. Use this skill when the user wants to communicate with WrongStack's shared project mailbox from outside WrongStack — read messages sent by WrongStack agents, send replies, broadcast to all, or stay visible as an online agent.
Wrongstack Mailbox fits situations like: the user wants to communicate with WrongStacks shared project mailbox from outside WrongStack — read messages sent by WrongStack agents; broadcast to all; stay visible as an online agent.
Run `npx skills add WrongStack/WrongStack --skill wrongstack-mailbox -a claude-code`. Or copy the skill folder (packages/core/skills/wrongstack-mailbox in WrongStack/WrongStack) into .claude/skills/wrongstack-mailbox in your project. Claude Code loads it when a task matches its description.
Run `npx skills add WrongStack/WrongStack --skill wrongstack-mailbox -a codex`. Or copy the skill folder (packages/core/skills/wrongstack-mailbox in WrongStack/WrongStack) into .agents/skills/wrongstack-mailbox in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add WrongStack/WrongStack --skill wrongstack-mailbox -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/wrongstack-mailbox, .gemini/skills/wrongstack-mailbox, .github/skills/wrongstack-mailbox and .opencode/skills/wrongstack-mailbox in your project.
Going by SKILL.md and its folder, Wrongstack Mailbox needs the command-line tools its instructions call (bash) and credentials named WRONGSTACK_MAILBOX_TOKEN. Our summary lists: A credential in WRONGSTACK_MAILBOX_TOKEN.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Wrongstack Mailbox is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Wrongstack Mailbox: Mailbox Operations Hub (agentscope-ai/QwenPaw, 35k stars), QwenPaw Mailbox Operations (agentscope-ai/QwenPaw, 35k stars), How To Communicate (databasus/databasus, 8.8k stars) and Twilio Communications (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
WrongStack (a GitHub organization) maintains it in WrongStack/WrongStack, which has 368 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on October 6, 2026.
Source: WrongStack/WrongStack on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.