token-the-ripper
Strip scaffolding. Keep signal.
Open source Open in the app JSON README (API)
About
Strip scaffolding. Keep signal.
Details
- Kind
- Plugins
- Topic
- Developer tools
- Publisher
- m4nt
- Origin
- gemini
- Category
- ferramentas
- Stars
- 2
- Last push
- 2026-07-28T17:50:40Z
- Repository state
- ativo
- Language
- Shell
- License
- MIT
- Added
- 2026-08-30 14:13:39
- Updated
- 2026-08-30 14:13:39
- Origin id
m4nt/token-the-ripper
README
<p align="center">
<img src="./token-the-ripper.png" alt="token-the-ripper" width="600" />
</p>
<p align="center">
<strong>Strip scaffolding. Keep signal.</strong>
</p>
<p align="center">
A skill for your coding agent that stops it from burying the answer.<br>
Action first. No filler. No hallucination cover-ups.
</p>
<p align="center">
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue?style=flat" alt="License"></a>
<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>
<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>
</p>
<p align="center">
<strong>English</strong> ·
<a href="README.pt-BR.md">Português</a>
</p>
<p align="center">
<strong>Skill:</strong>
<a href="skills/token-the-ripper/SKILL.md">EN</a> ·
<a href="skills/token-the-ripper/SKILL.pt-BR.md">PT-BR</a> ·
<a href="skills/token-the-ripper/SKILL.es.md">ES</a> ·
<a href="skills/token-the-ripper/SKILL.zh.md">ZH</a> ·
<a href="skills/token-the-ripper/SKILL.ja.md">JA</a>
</p>
---
## Install
<details>
<summary><strong>npx (any tool)</strong></summary>
```bash
npx token-the-ripper
```
Copies `SKILL.md` to your clipboard. Paste into any system prompt or custom instructions field.
```bash
npx token-the-ripper --print # print to stdout instead
```
</details>
<details>
<summary><strong>Claude Code</strong></summary>
```bash
claude plugin marketplace add M4NT/token-the-ripper
claude plugin install token-the-ripper@token-the-ripper
```
Then type `/token-the-ripper`. No local clone needed.
Want it on every session? `touch ~/.claude/.token-the-ripper-always` (see [INSTALL.md](./INSTALL.md)).
To deactivate mid-session: `stop ripper` or `normal mode`.
</details>
<details>
<summary><strong>Cursor</strong></summary>
Copy `.cursor/rules/token-the-ripper.mdc` into your project's `.cursor/rules/` folder.
Activate via Cursor's rule selector, or set `alwaysApply: true` in the file header to enable globally.
</details>
<details>
<summary><strong>Codex</strong></summary>
```bash
codex plugin marketplace add M4NT/token-the-ripper --ref main
codex plugin add token-the-ripper@token-the-ripper
```
Then type `$token-the-ripper`.
</details>
<details>
<summary><strong>Gemini CLI</strong></summary>
Copy `GEMINI.md` to your project root. Gemini CLI picks it up automatically.
</details>
<details>
<summary><strong>Windsurf</strong></summary>
Copy `.windsurf/rules/token-the-ripper.md` into your project's `.windsurf/rules/` folder.
Activate via Windsurf's rule selector or set the trigger to `always` in the file header.
</details>
<details>
<summary><strong>ChatGPT</strong></summary>
1. Settings → Personalization → Custom instructions
2. Paste `skills/token-the-ripper/SKILL.md` into **"How would you like ChatGPT to respond?"**
</details>
<details>
<summary><strong>Perplexity</strong></summary>
1. Settings → AI Profile
2. Paste `skills/token-the-ripper/SKILL.md` into the profile field
</details>
<details>
<summary><strong>Any other tool</strong></summary>
Paste the contents of `skills/token-the-ripper/SKILL.md` into your system prompt or custom instructions.
Works with any instruction-following LLM.
</details>
Full setup guide → [INSTALL.md](./INSTALL.md)
---
## What it does
Your agent buries the answer. token-the-ripper fixes that.
<table>
<tr>
<td width="50%">
### Before
> 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.
</td>
<td width="50%">
### After
> Run `npm install jsonwebtoken@latest`, then edit [`src/auth.ts:42`](src/auth.ts).
>
> 1. Replace `verifyToken` (lines 42–58):
> ```ts
> export function verifyToken(token: string): JwtPayload {
> return jwt.verify(token, process.env.JWT_SECRET!) as JwtPayload;
> }
> ```
> 2. Run `npm test -- auth.spec.ts`
>
> [!] This removes the old `secret` param — any caller passing a second arg will break. Check with `grep -r "verifyToken" src/`.
</td>
</tr>
</table>
Same answer. ~70% fewer tokens. Zero filler. The `[!]` marker replaced a paragraph of hedging.
---
## The rules
9 rules. Full text in [SKILL.md](./skills/token-the-ripper/SKILL.md).
| # | Rule | In one line |
|---|------|-------------|
| 1 | **Action first** | First line = something the reader can do. The reader can stop at any line and still have the answer. |
| 2 | **Decide and execute** | One answer. Not "you could do X or Y." Pick and go. |
| 3 | **Code over prose** | If code answers it, write code. Explanation after, only if needed. |
| 4 | **No recap** | Never summarize what was just done. The reader saw it. |
| 5 | **Explanation on demand** | Skip the why unless the reader adds `?` or says `explain`. |
| 6 | **Markers** | `[?]` flags uncertainty, `[!]` flags destruction, `[?] missing: X` blocks on absent info. |
| 7 | **Verify before referencing** | Confirm files, functions, and config values exist before citing them. |
| 8 | **No process trail** | Never narrate what you're about to do. Do it. Omission is evidence the work was done. |
| 9 | **Cut every word that survives removal** | If the sentence works without a word, remove it. Density is precision. |
Full text → [SKILL.md](./skills/token-the-ripper/SKILL.md) · Philosophy → [PHILOSOPHY.md](./PHILOSOPHY.md) · Examples → [examples/](./examples/)
---
## Intellectual foundations
These rules didn't come from thin air. Each maps to a body of work on clear communication.
**Barbara Minto — *The Pyramid Principle* (1987)**
The 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.
**Journalism — Inverted Pyramid**
The 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.
**Military doctrine — SMEAC briefing format**
Every briefing opens with a Mission statement — one line that names the objective. No preamble. Applied as the "anchor line" principle in Rule 1.
**George Orwell — *"Politics and the English Language"* (1946)**
Six 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.
**Ernest Hemingway — Iceberg Theory**
The 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.
**Jack the Ripper case — surgical economy**
The 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.
---
## The marker system
Three signals that replace paragraphs of hedging:
```
[?] check your tsconfig, but try: "moduleResolution": "bundler"
```
> Uncertain — answered anyway, flagged so you can verify.
```
[!] deletes all rows in sessions table — confirm?
```
> Irreversible — stops and asks before acting.
```
[?] missing: database schema — paste it or point to the file
```
> Can't answer without X — asks directly instead of guessing.
---
## Tune it
### Test locally first
Before 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.
### Publish your fork
```bash
claude plugin uninstall token-the-ripper
claude plugin marketplace remove token-the-ripper
claude plugin marketplace add <your-username>/token-the-ripper
claude plugin install token-the-ripper@token-the-ripper
```
Restart Claude Code, then re-invoke `/token-the-ripper`.
The rules are plain markdown — no code to maintain. See [CONTRIBUTING.md](./CONTRIBUTING.md) for the contribution guide.
---
## License
MIT.
⭐ Star if it saved you one scroll past one "Hope this helps!"
---
## Ripper ecosystem
| Tool | What it does |
|---|---|
| [token-the-ripper](https://github.com/M4NT/token-the-ripper) | Skill that strips scaffolding from agent responses |
| [context-the-ripper](https://github.com/M4NT/context-the-ripper) | MCP server that prunes dead context automatically |
---
## Banner art
The 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.
© 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.