Chisle
Cut your AI coding agent's token bill on three axes — terser prose, YAGNI-first code, compressed tool output — without losing accuracy.
- Source repo
- JayPokale/Chisle
- Stars
- ★ 723
- Last updated
- 4d ago
- License
- MIT
- Primary language
- JavaScript
- FA score
- 66/100 · Some gaps
At a glance
- How it runs
- Works with
- Universal · cross-platformCodex · Claude CodeChatGPT · Claude.ai (Partial support)
- Cost
- Free software; you pay for model usage
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- Individual developers running Claude Code daily who want a smaller monthly token bill
- Not a fit if
- Teams that want the model to skip reading code entirely
- Projects that depend on heavy scaffolding and abstraction layers
- Environments that cannot run npx or a shell installer
- Source review
- 66/100 · Some gaps
What does this agent do, and when should you use it?
Chisle is an injected ruleset plus compression hooks that reduce the tokens an AI coding agent spends in a session. It attacks three points: answer prose (filler, hedging, manufactured structure), generated code (a YAGNI ladder that asks whether the code needs to exist, is already in the repo, is covered by the stdlib or a platform feature), and tool output (a PostToolUse / tool_result / postToolUse hook scrubs, elides and dedups oversized results before they re-enter the context window). One npx chisle install auto-detects and wires 13 agents including Claude Code, Pi, Cursor, Windsurf, Cline, Kiro, Antigravity, Codex, Gemini, Copilot and OpenCode, and --uninstall puts everything back; npx chisle mcp wrap proxies stdio MCP servers for the same treatment. The project has zero runtime dependencies, is MIT licensed, and commits raw benchmark transcripts including the runs it lost. Published numbers put it at 56% of a bare model's answer length on Claude Code (Haiku 4.5, 26 prompts) and 37% on Pi (GPT-5.5, 6 tasks), while auto-graded accuracy held at 156/156 vs 155/156 and 48/60 vs 49/60 with no judge model.
At session start Chisle injects a zero-fluff ruleset that forbids filler and hedging, bans unrequested abstractions, and keeps code symbols, function/API names and error strings verbatim. Before writing code the agent walks a YAGNI ladder: does this need to exist at all → is it already in this codebase → does the stdlib do it → does a native platform feature cover it → is an already-installed dependency enough → can it be one line → otherwise write the minimum that works, noting deliberate shortcuts with // chisle: comments. On the input side, Claude's PostToolUse, Pi's tool_result, the OpenCode plugin and Copilot CLI's postToolUse run scrub → elide → dedup on oversized tool output and rebuild it into the tool's own shape; Read, Edit and Write payloads are deliberately untouched so exact bytes reach later edits. npx chisle mcp wrap inserts a proxy in front of each stdio MCP server so MCP results get the same compression. Activation is toggled with /chisle, /chisle off, stop chisle or normal mode.
- Individual developers running Claude Code daily who want a smaller monthly token bill
- Teams switching between Cursor, Codex, Gemini CLI and Copilot that want one consistent brevity ruleset everywhere
- Users whose sessions are flooded by grep, log or web-fetch output and hit context limits early
- Engineering leads who want benchmark numbers backed by committed raw transcripts rather than marketing claims
- Anyone wiring MCP servers into Cursor, Windsurf, Cline, Kiro or Gemini CLI who also wants MCP payloads compressed
How do you install or deploy this agent?
Node.js is needed to run npx, and the installer writes into each agent's config directory, so filesystem write access is required.
Install with auto-detection of installed agents:
npx chisleOr via curl / Windows PowerShell:
curl -fsSL https://raw.githubusercontent.com/JayPokale/Chisle/main/install.sh | bashirm https://raw.githubusercontent.com/JayPokale/Chisle/main/install.ps1 | iexPreview the changes, or scope to a single agent:
npx chisle --dry-run
npx chisle --only claude
npx chisle --only piRemove and restore configuration:
npx chisle --uninstallHow do you use this agent?
After install it is on by default every session. Toggle with slash commands or natural language:
/chisle
/chisle off
stop chisle
normal modeExtend compression to MCP servers:
npx chisle mcp wrapMark deliberate simplifications in generated code so they can be revisited:
// chisle: global lock, per-account locks if throughput matters
// chisle: O(n) scan, index this when table exceeds ~10k rowsWhat are this agent's strengths and limitations?
- Compresses on three axes at once — prose, code volume and tool-output input — not just prompt wording
- Commits raw benchmark transcripts and publishes the runs it lost, so claims are checkable
- Zero runtime dependencies; one
npx chislewires 13 agents and--uninstallreverts it - Accuracy is reported against a bare model with auto-grading only, no judge model (156/156 vs 155/156; 48/60 vs 49/60)
- Explicitly leaves Read/Edit/Write output untouched, protecting exact-byte edits
- Gains vary by model and prompt set — Pi shows 37% but Claude Code 56% of bare-model answer length
- Some capability is tied to specific agent hooks (Claude
PostToolUse, Pitool_result), so coverage is uneven across the 13 agents - Requires Node.js and network access for npx, and edits each agent's config files
- MCP compression needs a separate
npx chisle mcp wrapproxy process to operate - The ruleset derives from caveman and ponytail, so existing users of those tools face overlap and migration questions
How does this agent compare with similar options?
Directly benchmarked against caveman (terse prose) and ponytail (lazy-senior-dev code rules): on the same prompts Chisle reaches 56% (Claude Code) and 37% (Pi) of a bare model's answer length, versus caveman's 65%/56% and ponytail's 58%/49%. In the order-state-machine example Chisle produced 450 answer tokens against 1,140 for caveman and 842 for ponytail. The README positions it as the only tool in the class that publishes the runs where it lost.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Chisle This agent | 66 · Some gaps | CLIFree + model costs | ★ 723 | 4d ago | JavaScript | Codex · Claude Code |
| Agentic Plugin Marketplace | 66 · Some gaps | Agent plugin / skillFree + model costs | ★ 42k | 11d ago | Python | Codex · Claude Code |
| Netresearch Agentic Skills Marketplace | 56 · Major gaps | Agent plugin / skillFree | ★ 84 | today | JavaScript | Codex · Claude Code |
| Caveman Token-Saving Toolkit | 75 · Good | CLIFreemium | ★ 116k | today | Go | Codex · Claude Code |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence: SECURITY.md states Pi extensions run with full user permissions and asks users to review source; config layer claims O_NOFOLLOW/0600 symlink safety; installer offers --dry-run and --uninstall; NOTICE and README clearly attribute caveman/ponytail MIT origins (strong source_attribution). Deductions: install paths use curl|bash and irm|iex executing remote scripts with no signature verification (external_effects); hooks mutate tool output and static files cannot prove the Read/Edit/Write allowlist holds; publisher is unverified so accountability is unclear.
Evidence: CI runs tests on Node 18/20/22 plus rule/chart/sample sync checks, shell syntax checks and installer smoke test; zero dependencies lowers dependency-availability risk; publish uses OIDC trusted publishing with tag/version match. Deductions: failure messages and hook error-handling are not visible in the provided files, so degradation behavior is unassessable; only benchmark fixtures are shown, no tests for the compressor/hooks.
Evidence: supports 13 agents with per-agent install/update docs, dedicated Windows doc with PowerShell variants, and explicit capability boundaries (which agents get both axes vs static rules vs no live toggle). Deductions: trigger precision relies on natural-language phrases and output-style detection (mis-trigger/conflict risk); static-rule agents cannot honor runtime config, so capability is uneven.
Evidence: clear README, layered INSTALL/usage/benchmarks docs, honest FAQ and known limitations (including citing critic issue #2), full MIT license, changelog and release flow present. Deductions: CHANGELOG content itself is not in the provided files; publisher unverified leaves maintenance responsibility and update-path accountability unclear, hence maintenance_responsibility scored 1.
Evidence: benchmark tables compare against caveman/ponytail with accuracy parity and publish losing runs; --stats quantifies input-axis savings. Deductions: output-axis benefit rests on A/B benchmarks rather than user's own data; FAQ admits overhead exceeds savings on one-line prompts and prose is only ~25% of output, capping marginal value; all figures are self-reported and not independently reproduced.
Evidence: claims every number comes from committed raw transcripts, provides raw result dirs, method and writeup links, and separates input axis (countable) from output axis (needs A/B), showing good fact/inference separation. Deductions: static review cannot confirm raw transcripts or statistics (e.g. Fisher p) match the claims; some comparisons depend on external projects, limiting cross-source corroboration.
- Install paths execute remote code via curl|bash and irm|iex with no signature verification; download and review first or use --dry-run.
- Hooks mutate tool output; static review cannot confirm the Read/Edit/Write allowlist and error-line preservation actually hold — trial on sensitive repos first.
- Publisher is unverified; maintenance responsibility and security-response accountability are unclear, with SECURITY.md offering only a personal email.
- All benchmark figures are self-reported and not independently reproduced; output-axis savings may be negative on one-line prompts.
- Pi extensions run with full user permissions; review source before installing.
FAQ
Will terser rules make the agent skip necessary work?
// chisle: comments. Benchmarked accuracy matched the bare model.How much does it actually save?
Which agents are supported, and does my code need changes?
npx chisle detects and wires Claude Code, Pi, Cursor, Windsurf, Cline, Kiro, Antigravity, Codex, Gemini, Copilot, Copilot CLI, OpenCode and Hermes. No application code changes are needed; some agents only get ruleset injection without the tool-output hook.How do I turn it off or remove it?
/chisle off, stop chisle or normal mode inside a session (stop chisle also disables input-side compression), or run npx chisle --uninstall to remove everything.How does MCP output compression work?
npx chisle mcp wrap, which places a proxy in front of each stdio MCP server for Cursor, Windsurf, Cline, Kiro, Gemini, Qwen Code and Copilot CLI — an additional local process to manage.