{
  "markdown": "<p align=\"center\">\n  <img src=\"./token-the-ripper.png\" alt=\"token-the-ripper\" width=\"600\" />\n</p>\n<p align=\"center\">\n  <strong>Strip scaffolding. Keep signal.</strong>\n</p>\n<p align=\"center\">\n  A skill for your coding agent that stops it from burying the answer.<br>\n  Action first. No filler. No hallucination cover-ups.\n</p>\n<p align=\"center\">\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/license-MIT-blue?style=flat\" alt=\"License\"></a>\n  <a href=\"https://github.com/M4NT/token-the-ripper/releases\"><img src=\"https://img.shields.io/github/v/release/M4NT/token-the-ripper?style=flat&label=release\" alt=\"Release\"></a>\n  <a href=\"https://www.npmjs.com/package/token-the-ripper\"><img src=\"https://img.shields.io/npm/v/token-the-ripper?style=flat&label=npm\" alt=\"npm\"></a>\n</p>\n\n<p align=\"center\">\n  <strong>English</strong> ·\n  <a href=\"README.pt-BR.md\">Português</a>\n</p>\n\n<p align=\"center\">\n  <strong>Skill:</strong>\n  <a href=\"skills/token-the-ripper/SKILL.md\">EN</a> ·\n  <a href=\"skills/token-the-ripper/SKILL.pt-BR.md\">PT-BR</a> ·\n  <a href=\"skills/token-the-ripper/SKILL.es.md\">ES</a> ·\n  <a href=\"skills/token-the-ripper/SKILL.zh.md\">ZH</a> ·\n  <a href=\"skills/token-the-ripper/SKILL.ja.md\">JA</a>\n</p>\n\n---\n\n## Install\n\n<details>\n<summary><strong>npx (any tool)</strong></summary>\n\n```bash\nnpx token-the-ripper\n```\n\nCopies `SKILL.md` to your clipboard. Paste into any system prompt or custom instructions field.\n\n```bash\nnpx token-the-ripper --print   # print to stdout instead\n```\n\n</details>\n\n<details>\n<summary><strong>Claude Code</strong></summary>\n\n```bash\nclaude plugin marketplace add M4NT/token-the-ripper\nclaude plugin install token-the-ripper@token-the-ripper\n```\n\nThen type `/token-the-ripper`. No local clone needed.\n\nWant it on every session? `touch ~/.claude/.token-the-ripper-always` (see [INSTALL.md](./INSTALL.md)).\n\nTo deactivate mid-session: `stop ripper` or `normal mode`.\n\n</details>\n\n<details>\n<summary><strong>Cursor</strong></summary>\n\nCopy `.cursor/rules/token-the-ripper.mdc` into your project's `.cursor/rules/` folder.\n\nActivate via Cursor's rule selector, or set `alwaysApply: true` in the file header to enable globally.\n\n</details>\n\n<details>\n<summary><strong>Codex</strong></summary>\n\n```bash\ncodex plugin marketplace add M4NT/token-the-ripper --ref main\ncodex plugin add token-the-ripper@token-the-ripper\n```\n\nThen type `$token-the-ripper`.\n\n</details>\n\n<details>\n<summary><strong>Gemini CLI</strong></summary>\n\nCopy `GEMINI.md` to your project root. Gemini CLI picks it up automatically.\n\n</details>\n\n<details>\n<summary><strong>Windsurf</strong></summary>\n\nCopy `.windsurf/rules/token-the-ripper.md` into your project's `.windsurf/rules/` folder.\n\nActivate via Windsurf's rule selector or set the trigger to `always` in the file header.\n\n</details>\n\n<details>\n<summary><strong>ChatGPT</strong></summary>\n\n1. Settings → Personalization → Custom instructions\n2. Paste `skills/token-the-ripper/SKILL.md` into **\"How would you like ChatGPT to respond?\"**\n\n</details>\n\n<details>\n<summary><strong>Perplexity</strong></summary>\n\n1. Settings → AI Profile\n2. Paste `skills/token-the-ripper/SKILL.md` into the profile field\n\n</details>\n\n<details>\n<summary><strong>Any other tool</strong></summary>\n\nPaste the contents of `skills/token-the-ripper/SKILL.md` into your system prompt or custom instructions.\n\nWorks with any instruction-following LLM.\n\n</details>\n\nFull setup guide → [INSTALL.md](./INSTALL.md)\n\n---\n\n## What it does\n\nYour agent buries the answer. token-the-ripper fixes that.\n\n<table>\n<tr>\n<td width=\"50%\">\n\n### Before\n\n> Great question! There are several approaches you could take here. The first option would be to update the dependency and refactor the function. The second option would be a more conservative patch. You might also want to consider the broader architecture. After making the change, run the tests to make sure nothing breaks. Hope this helps! Let me know if you'd like me to elaborate.\n\n</td>\n<td width=\"50%\">\n\n### After\n\n> Run `npm install jsonwebtoken@latest`, then edit [`src/auth.ts:42`](src/auth.ts).\n>\n> 1. Replace `verifyToken` (lines 42–58):\n> ```ts\n> export function verifyToken(token: string): JwtPayload {\n>   return jwt.verify(token, process.env.JWT_SECRET!) as JwtPayload;\n> }\n> ```\n> 2. Run `npm test -- auth.spec.ts`\n>\n> [!] This removes the old `secret` param — any caller passing a second arg will break. Check with `grep -r \"verifyToken\" src/`.\n\n</td>\n</tr>\n</table>\n\nSame answer. ~70% fewer tokens. Zero filler. The `[!]` marker replaced a paragraph of hedging.\n\n---\n\n## The rules\n\n9 rules. Full text in [SKILL.md](./skills/token-the-ripper/SKILL.md).\n\n| # | Rule | In one line |\n|---|------|-------------|\n| 1 | **Action first** | First line = something the reader can do. The reader can stop at any line and still have the answer. |\n| 2 | **Decide and execute** | One answer. Not \"you could do X or Y.\" Pick and go. |\n| 3 | **Code over prose** | If code answers it, write code. Explanation after, only if needed. |\n| 4 | **No recap** | Never summarize what was just done. The reader saw it. |\n| 5 | **Explanation on demand** | Skip the why unless the reader adds `?` or says `explain`. |\n| 6 | **Markers** | `[?]` flags uncertainty, `[!]` flags destruction, `[?] missing: X` blocks on absent info. |\n| 7 | **Verify before referencing** | Confirm files, functions, and config values exist before citing them. |\n| 8 | **No process trail** | Never narrate what you're about to do. Do it. Omission is evidence the work was done. |\n| 9 | **Cut every word that survives removal** | If the sentence works without a word, remove it. Density is precision. |\n\nFull text → [SKILL.md](./skills/token-the-ripper/SKILL.md) · Philosophy → [PHILOSOPHY.md](./PHILOSOPHY.md) · Examples → [examples/](./examples/)\n\n---\n\n## Intellectual foundations\n\nThese rules didn't come from thin air. Each maps to a body of work on clear communication.\n\n**Barbara Minto — *The Pyramid Principle* (1987)**\nThe source of BLUF (Bottom Line Up Front): lead with the conclusion, support it after. Rule 1 is a direct application. The SCQ structure (Situation → Complication → Question) informs when to skip context the reader already knows.\n\n**Journalism — Inverted Pyramid**\nThe most important information goes first. The reader can stop at any line and still have the answer. Multi-step responses follow this: one anchor line, then steps. Applied in Rule 1.\n\n**Military doctrine — SMEAC briefing format**\nEvery briefing opens with a Mission statement — one line that names the objective. No preamble. Applied as the \"anchor line\" principle in Rule 1.\n\n**George Orwell — *\"Politics and the English Language\"* (1946)**\nSix rules for clear writing. The most applicable: *\"If it is possible to cut a word out, always cut it out.\"* Rule 9 is Orwell verbatim, adapted for LLM output.\n\n**Ernest Hemingway — Iceberg Theory**\nThe writer knows 90%. They write 10%. What's omitted sustains what's shown — and its absence is felt as confidence, not laziness. The note in Rule 8 (\"Omission is evidence the work was done, not that it was skipped\") is pure Hemingway.\n\n**Jack the Ripper case — surgical economy**\nThe most authentic letter attributed to Jack had no greeting, no signature, no context — just the subject. Applied as Rule 8: no process narration, only results.\n\n---\n\n## The marker system\n\nThree signals that replace paragraphs of hedging:\n\n```\n[?] check your tsconfig, but try: \"moduleResolution\": \"bundler\"\n```\n> Uncertain — answered anyway, flagged so you can verify.\n\n```\n[!] deletes all rows in sessions table — confirm?\n```\n> Irreversible — stops and asks before acting.\n\n```\n[?] missing: database schema — paste it or point to the file\n```\n> Can't answer without X — asks directly instead of guessing.\n\n---\n\n## Tune it\n\n### Test locally first\n\nBefore publishing a fork, paste the contents of your edited `SKILL.md` directly into your system prompt or custom instructions in any tool. Verify behavior, then publish.\n\n### Publish your fork\n\n```bash\nclaude plugin uninstall token-the-ripper\nclaude plugin marketplace remove token-the-ripper\nclaude plugin marketplace add <your-username>/token-the-ripper\nclaude plugin install token-the-ripper@token-the-ripper\n```\n\nRestart Claude Code, then re-invoke `/token-the-ripper`.\n\nThe rules are plain markdown — no code to maintain. See [CONTRIBUTING.md](./CONTRIBUTING.md) for the contribution guide.\n\n---\n\n## License\n\nMIT.\n\n⭐ Star if it saved you one scroll past one \"Hope this helps!\"\n\n---\n\n## Ripper ecosystem\n\n| Tool | What it does |\n|---|---|\n| [token-the-ripper](https://github.com/M4NT/token-the-ripper) | Skill that strips scaffolding from agent responses |\n| [context-the-ripper](https://github.com/M4NT/context-the-ripper) | MCP server that prunes dead context automatically |\n\n---\n\n## Banner art\n\nThe banner is an AI-edited version of a 19th-century British illustration depicting police officers discovering a victim on the dark streets of Whitechapel, London — associated with the crimes attributed to Jack the Ripper (1888). Dramatic engravings like this were published in French and British newspapers and periodicals of the era to illustrate the panic and investigations surrounding the Whitechapel murders.\n\n© Stefano Bianchetti / Corbis Historical / Getty Images (ID [526614274](https://www.gettyimages.com.br/detail/526614274)). Editorial use only. Original illustration c. 1891. Digitally edited by AI for this project.\n",
  "bytes": 9446,
  "sha": "285ab3e4b67e9cb8935459f1886cf8cc674e0785e60b196e597f97eab88dccf3",
  "repo_slug": "m4nt/token-the-ripper",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_m4nt_token_the_ripper_e4d3b664/readme"
}