Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/xtsoftwarelabs/neatcontext-plugins/creategit clone --depth 1 https://github.com/XTSoftwareLabs/neatcontext-pluginsWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00012 | $0.00825 |
| Opus 5 | $0.00006 | $0.00413 |
| Sonnet 5 | $0.00002 | $0.00165 |
| Haiku 4.5 | $0.00001 | $0.00082 |
Grade B, and why
create scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Unrestricted tool accessmediumExcessive agency
A wildcard tool grant or "run any command" leaves no least-privilege boundary at all.
Ask these three questions **one at a time**, waiting for each answer. Do not run any command until all three are answered. What it actually says
Guide the user through creating a Context: one domain profile and one knowledge folder. It is stored locally by the plugin.
This remains the deliberate flow for a fresh context. If the user wants to
distill work already present in the current conversation, direct them to
/neatcontext:save instead.
Ask these three questions one at a time, waiting for each answer. Do not run any command until all three are answered.
- What is this context for? Ask them to describe what it covers, what you should do, what you should avoid, and how you should behave. This becomes the domain profile — your primary behavioral guide whenever the context is connected, so encourage specifics over generalities.
- Which folder holds the knowledge? Ask for a path to an existing folder, and tell them to put their TSGs, runbooks, postmortems, or other docs there. The folder is referenced where it is — nothing is copied or moved.
- What should the context be called? A short name they will type after
/neatcontext:use.
Then, before creating anything:
- Shape answer 1 into a markdown profile with the sections
## Purpose,## What to do,## What to avoid, and## Behavior, keeping their wording and adding nothing they did not say. Start it with# <context name>. - Derive a routing description from that profile: one sentence, under 200
characters, saying what kinds of question belong to this context. Name the
systems, symptoms, ticket prefixes, repos, and terminology someone would
actually type — this is what a future session matches a request against when
deciding whether to switch here.
- Describe scope only. No instructions about tone, format, or how to answer: this line is read while another context is connected, and behavioral text in it would bleed into unrelated answers.
- Run
/neatcontext:listfirst and make it contrastive. If a context already covers something adjacent, say what distinguishes this one. Two contexts that both describe themselves as "payments questions" cannot be told apart by anything downstream.
- Show the drafted profile and the routing description to the user and ask them to confirm or amend both. The profile is the whole behavioral contract of the context, and the routing description decides when it gets used, so they should see both before anything is saved.
Once they confirm, write the profile with the Write tool to a file in your
scratchpad directory (e.g. profile.md) — never pass the prose as a command-line
argument, it will not survive shell quoting — then run:
node "${CLAUDE_PLUGIN_ROOT}/src/claude/neatcontext-cli.mjs" create --name "<name>" --knowledge "<folder>" --profile-from "<scratchpad>/profile.md" --use-when "<routing description>"
The routing description is a single line, so it does survive quoting — but keep it free of double quotes.
On Windows, strip any trailing backslash from the folder path before quoting it —
"C:\docs\" escapes the closing quote and mangles the argument.
Relay the result. On success it prints the exact /neatcontext:use command —
show that to the user so they can connect it. Do not connect it yourself.
If it reports a problem (missing folder, duplicate name, empty profile), tell the user what it said, ask for a corrected answer to just that question, and run the command again.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 69 lines · 12 tokens per session scan B 5465de4776b8
create is a command published in the GitHub repository XTSoftwareLabs/neatcontext-plugins (13 stars, last pushed 9d ago), licensed MIT. It adds 12 tokens to every session and 825 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it B with 1 finding (unrestricted tool access). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
bug
Reproduce then TDD-fix a ready-for-agent bug ticket in this checkout. Web bugs get a browser repro first.
feature
Implement a ready-for-agent feature ticket in this checkout. Do not expand the ask.
qa
Smoke or browser-walk a running app. Report only. Do not implement. Do not merge.
telemetry
Pull breakage or product-performance evidence. Funnels, feature completion, errors. Do not implement.
ci
Watch gh pr checks until green and fix failures on this branch. Do not merge.
docs
Docs-only change for a ready-for-agent ticket. No application code.