Why Concise
Prompts ask an agent to be brief. Concise checks whether it actually was, before the write runs.
Install ConciseCatch it before it lands.
Concise gives the finding. The agent can revise.
It does not rewrite your files.
// Check whether the provided user has// permission to access the resource.// First read their permissions list,// then look for the requested entry.// Return true when a match is found.export function canAccess(user, resource) { return user.permissions.includes(resource);}// Check resource permissions.export function canAccess(user, resource) { return user.permissions.includes(resource);}Comment is 5 lines (limit 2).
5 comment lines become 1. The code stays the same.See the hook in action
Illustrative examples, not a live agent. No files are changed.
Three core checks.
Enabled without configuration. Checks apply to submitted writes and additions, not the whole repository.
- Comments
- Comment blocks over 2 lines trigger a denial with the location and limit.
- Files
- Whole-file writes and new-file patches over 300 lines are flagged. Ordinary update hunks are checked only for additions.
- PRs and issues
- Inline bodies allow 1 prose paragraph of up to 3 sentences. Headings and lists are allowed.
After two denials on the same target, the next attempt is allowed and flagged. Em-dash and AI-writing checks are optional and off by default.
Choose checks and exceptionsQuieter test output.
A passing test run reaches the agent as a short summary. A failed run keeps its full output. Each run’s complete log is saved, and its path is printed with the summary.
pytest, go test, npm test, Jest, and Vitest
$ pytest tests/
[filtered] runner=pytest exit=0 (cap 100)
[filtered] available output: cat '$TMPDIR/concise-test-output-hS2x6f/output.log'
[filtered] last 5 lines:
…
========== 214 passed in 3.82s ==========