{"id":"07207cf1-5cae-4eea-804d-c1e2cb3dda8f","slug":"toon-skill","kind":"skill","name":"toon-skill","summary":"Claude skill: compresses heavy AI-coding-agent prompts into lean, TOON-encoded, token-efficient specs","owner":"sheikhsajid69","repoUrl":"https://github.com/sheikhsajid69/toon-skill","license":"MIT","licenseTier":"permissive","trust":"community","stars":4,"match":null,"fewStars":true,"format":"skill","createdAt":"2026-07-03T07:28:13.000Z","addedAt":"2026-10-14T06:29:13.871Z","logoUrl":"https://avatars.githubusercontent.com/u/176652111?u=3ec987b3c32ba079e70787af1e3a9897c4ce74e2&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["writing"],"tags":["ai-agents","prompt-engineering","toon-format"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-17T10:30:49.453Z","sample":false,"url":"https://conduits.dev/tools/toon-skill","language":"Python","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# toon-skill\n\n[![CI](https://github.com/sheikhsajid69/toon-skill/actions/workflows/ci.yml/badge.svg)](https://github.com/sheikhsajid69/toon-skill/actions/workflows/ci.yml)\n\nA Claude [skill](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/overview) that compresses large, heavy prompts into lean, unambiguous specs for AI coding agents — encoding any structured data inside the prompt as [TOON](https://github.com/toon-format/toon) (Token-Oriented Object Notation) to cut token usage.\n\nTriggered by starting a message with `/toon`, or by asking to compress/optimize/reduce the token cost of a prompt headed for a coding agent (Claude Code, Cursor, Copilot, Antigravity, OpenCode, Windsurf, etc.).\n\n## What it does\n\nHeavy prompts are usually two things tangled together, and this skill treats them differently:\n\n- **Prose** (instructions, context, requirements) is rewritten tighter — filler and hedging cut, exact file paths / constraints / done-criteria always preserved — so the result is still safe for an autonomous agent to act on without asking a follow-up question.\n- **Structured data** (file lists, test cases, config, sample records) is re-encoded in TOON, which benchmarks ~30–60% fewer tokens than pretty-printed JSON on uniform, tabular data.\n\nIt also knows when *not* to use TOON — deeply nested or non-uniform data, or a handful of key-value pairs, are left as compact JSON, since TOON's savings only materialize on uniform tabular arrays.\n\nSee [`SKILL.md`](./SKILL.md) for the full workflow and [`references/`](./references) for the TOON syntax cheat sheet and the prompt-compression rules.\n\n## Install\n\nRequires Python 3. The bundled converter (`scripts/to_toon.py`) prefers the official [`@toon-format/cli`](https://www.npmjs.com/package/@toon-format/cli) via `npx` (Node.js) when available, and falls back to a bundled pure-Python encoder otherwise.\n\n```bash\ngit clone https://github.com/sheikhsajid69/toon-skill.git\ncd toon-skill\n./install.sh              # personal install: ~/.claude/skills/toon — available in every project\n./install.sh --project    # this repo only: ./.claude/skills/toon — commit it to share with a team\n```\n\n### Claude Code / Claude Desktop\n`install.sh` drops the skill straight into the directory these tools already scan (`~/.claude/skills/` or `<project>/.claude/skills/`). No further setup — the skill triggers automatically once the agent's task matches its description.\n\n### Claude.ai (web/desktop/mobile)\nZip the folder (`SKILL.md`, `references/`, `scripts/`) into a `.skill` file and upload it from Settings → Capabilities → Skills.\n\n### Other IDE agents (Cursor, Windsurf, Copilot Chat, etc.)\nThese tools don't read a `skills/` folder natively. Point the agent's custom-instructions / rules file at the installed `SKILL.md`, e.g. in `.cursor/rules` or your agent's system-prompt config:\n```\nFollow the workflow in ~/.claude/skills/toon/SKILL.md whenever asked to\ncompress, optimize, or /toon a prompt.\n```\n\n## Usage\n\n```\n/toon <paste your heavy prompt here>\n```\n\nor just ask directly: *\"toonify this prompt for my coding agent\"*, *\"compress this so it costs fewer tokens\"*.\n\nThe converter script can also be run standalone:\n\n```bash\npython3 scripts/to_toon.py input.json --stats\n```\n\n## Repo structure\n\n```\ntoon-skill/\n├── SKILL.md                            # workflow the agent follows\n├── references/\n│   ├── toon-cheatsheet.md              # TOON syntax + tabular-eligibility check\n│   └── prompt-compression-guide.md     # what to cut vs. never cut, worked example\n├── scripts/\n│   └── to_toon.py                      # JSON -> TOON converter (CLI-backed, Python fallback)\n├── install.sh\n├── LICENSE\n└── SECURITY.md\n```\n\n## Testing\n\nRun the test suite:\n```bash\npytest tests/\n```\n\n## License\n\n[MIT](./LICENSE)\n"}