CONCISE
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Fail
- process.env — Environment variable access in benchmarks/run.js
- fs module — File system access in benchmarks/run.js
- network request — Outbound network request in benchmarks/run.js
- network request — Outbound network request in benchmarks/tasks.js
- os.homedir — User home directory access in bin/install.js
- process.env — Environment variable access in bin/install.js
- fs module — File system access in bin/install.js
- process.env — Environment variable access in hooks/concise-check-update.js
- fs module — File system access in hooks/concise-check-update.js
- fs.rmSync — Destructive file system operation in hooks/concise-config.js
- os.homedir — User home directory access in hooks/concise-config.js
- process.env — Environment variable access in hooks/concise-config.js
- fs module — File system access in hooks/concise-config.js
- fs.rmSync — Destructive file system operation in hooks/concise-enforce.js
- fs module — File system access in hooks/concise-enforce.js
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
CONCISE - Cuts prose filler
Cuts prose filler from AI coding agent responses - trailing summaries,
restated context, hedging, over-long preambles - while leaving code, commit
messages, and analysis depth fully intact. Covers subagents too, not just
the main session.

Install • Before / After • How it works • Commands • Configuration • Benchmarks • Support
Works two ways:
- Full plugin (Claude Code only): the compression rules, plus a live
per-response prose-budget bar in the statusline that measures every
response as it happens - main session and subagents alike. - Agent Skills (any compatible tool): the same compression rules as a
portable skill - Claude Code, Cursor, GitHub Copilot, Codex, Gemini CLI,
and every other tool that supports the open Agent Skills
format. No live bar outside Claude Code - most tools have no equivalent
of its per-turn measurement hooks to drive one.
Before / After
Before:
Sure! I'd be happy to help you with that. Let me take a look at the file
first.Great, I found the issue! The problem is that the function is checking
if (x = 5)instead ofif (x == 5), which is an assignment rather than
a comparison. This is a very common bug in JavaScript and other C-like
languages. Let me fix that for you now.I've made the fix. To summarize what I did: I changed the assignment
operator to a comparison operator on line 42. This should resolve the
issue you were experiencing. Let me know if you have any other
questions!
After:
Line 42:
if (x = 5)is assignment, not comparison. Fixed to==.
Same fix, same code, same clarity - just without the wrapper.
Install on any Agent Skills compatible tool
npx skills add 0xyph3r/CONCISE
Detects which supported tool(s) you have (Claude Code, Cursor, Copilot,
Codex, Gemini CLI, and more) and installs the concise skill for each -
just the compression rules, no live bar. See Agent Skills clients
for the full list of compatible tools. Target one specific tool withnpx skills add 0xyph3r/CONCISE --agent <name>.
Install the full plugin (Claude Code only)
This repo doubles as a Claude Code plugin marketplace - add it once, then
install like any other plugin:
claude plugin marketplace add 0xyph3r/CONCISE && claude plugin install concise@concise
That's it - no clone, no separate installer to run. Restart Claude Code
(or start a new session) and it's active. On first session start it will
also detect if your statusline isn't configured and offer to set it up.
Prefer the interactive UI? Inside Claude Code, run /plugin marketplace add 0xyph3r/CONCISE, then /plugin install concise@concise from the plugin
browser.
- npx (no plugin marketplace):
Copies the hooks intonpx github:0xyph3r/CONCISE~/.claude/hooks/conciseand wires them (plus the
statusline) into~/.claude/settings.jsondirectly - backing up your
existingsettings.jsonfirst, and never overwriting a hook orstatusLinealready set by something else. Safe to re-run. - npm registry:
npm install -g @0xyph3r/concisethen runconcise.
Same installer as the npx methods above, published to npm fornpm search/registry discoverability.
How it works
Claude Code plugin - three hooks:
| Hook | What it does |
|---|---|
SessionStart |
Injects the compression rules once per session. |
UserPromptSubmit |
Re-injects a short reminder every turn, so the model doesn't drift back to verbose over a long session. |
Stop |
After each response, measures how many prose words it used (code blocks excluded) against your budget, and updates the statusline bar. |
SubagentStop |
Same measurement, for a Task-tool subagent's final response - it also updates the bar/history. |
PreToolUse (matcher Task) |
Rewrites a subagent's dispatch prompt to prepend the ruleset before it runs, confirmed by inspecting a real subagent's transcript directly. |
PreToolUse (matcher SendMessage) |
Prepends a one-line reminder to every follow-up message sent to an existing subagent, so a resumed subagent stays concise too. |
Agent Skills - a single SKILL.md carrying the same ruleset, loaded by
the host tool's own skill-discovery mechanism. No live measurement; the
rules alone still do most of the work.
Already running caveman? No need to worry -
CONCISE collaborates with it instead of fighting it. Its ruleset explicitly
defers grammar/style to whatever other compression mode is also active - it
only adds the measurement/bar and its own specific cuts, never a competing
style mandate. Both plugins' hooks and files stay fully separate, so
running both never breaks either.
Compression targets prose only:
| Cut | trailing summaries, restating what a diff already shows, politeness/hedging, re-explaining visible context, long tool-call preambles, code comments longer than the code they explain |
| Never cut | code logic and structure, commit messages, PR descriptions, analysis depth, security warnings, irreversible-action confirmations |
Ask to elaborate or go into more detail and that one turn answers in full,
then compression resumes automatically next turn - no toggling needed.
A response under 8 prose words is flagged [terse?] on the bar when that
same turn edited a file or ran a command - a floor safety check against
over-compression, not a correctness check (word count alone can't verify
that).
Commands
(Claude Code plugin only)
| Command | Effect |
|---|---|
/concise on |
Turn compression on (default). |
/concise off |
Turn compression off for this session. |
/concise budget <n> |
Set the per-response prose word budget for this session (default 400). Resets to the configured default at the start of the next session - set CONCISE_BUDGET_WORDS, the config file, or a project .concise.json for a budget that sticks. |
/concise level light|normal|strict |
Preset budgets (600 / 400 / 200 words) instead of picking a raw number. |
/concise-stats |
Show lifetime stats: turns tracked, average % of budget used, over-budget rate, total prose words. Measured only, never an extrapolated "tokens saved" number. |
Configuration
(Claude Code plugin only)
Resolution order: env var > project .concise.json > global config file > default.
| Setting | Effect |
|---|---|
CONCISE_BUDGET_WORDS env var |
Override the default word budget. |
CONCISE_DEFAULT env var |
on or off - sets the SessionStart default. |
.concise.json in the project root |
Checked-in, repo-specific: {"budgetWords": 300, "default": "on"} |
~/.config/concise/config.json (Linux/macOS)%APPDATA%\concise\config.json (Windows) |
Personal default, same shape as the project config. |
CONCISE_NO_UPDATE_CHECK env var |
Set to disable the SessionStart update check entirely. |
On SessionStart, once per 24h at most (cached, never on every session), concise
checks the npm registry for a newer published version and - if one exists - tells
the user in chat, with the exact update command to run. It never downloads or
runs anything on its own.
Benchmarks
Real numbers coming - see benchmarks/.
Support
If CONCISE saves you tokens, donations welcome:
- Monero (XMR):
45aJUjAM63pVsd3QB872kAGDbvGCG4Bs9755qLfo6ikXYQsw2hvpKYHNQXvFzdhGWgGs5QHYLqXijR5Miyqo7s4gAaxm6RT - Solana (SOL):
5ChmkTVKhbnCCYf7Ss3Q6uxoErqx3ZR7q1QhSFqR4N79 - Bitcoin (BTC):
bc1qmclxs8lmkxvhavz7u6j7jwxw7n7txdexlkuv0j - Ethereum (ETH / EVM):
0xA6c145D12b7C5623663Db4bCf80B9DA7FD536883
License
MIT - see LICENSE
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found