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/16wells/claude-project-setup/project-setupgit clone --depth 1 https://github.com/16wells/claude-project-setupWhat 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.00031 | $0.02430 |
| Opus 5 | $0.00015 | $0.01215 |
| Sonnet 5 | $0.00006 | $0.00486 |
| Haiku 4.5 | $0.00003 | $0.00243 |
Grade A, and why
project-setup scanned grade A with 0 findings 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 136 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Handle project setup for one of three project types: client engagement, internal product owned by the practice, or tool built for personal/team use. There are three modes (greenfield / retrofit / reconcile) — you must determine both the type and the mode before doing any work.
Step 0: Read config first
Before anything else, read $TEMPLATE_ROOT/config.local.md first — if it exists, use those values. Otherwise fall back to $TEMPLATE_ROOT/config.md at the root of the cloned claude-project-setup repo. The .local.md variant is gitignored and holds the user's real paths and identity; config.md is the generic public version.
That file defines:
TEMPLATE_ROOT— the absolute path to the cloned repo on this machineCLIENTS_ROOT— the absolute path to the directory where client project folders liveINTERNAL_ROOT— the absolute path to the directory where internal-product folders liveTOOLS_ROOT— the absolute path to the directory where tool folders live (often the same asINTERNAL_ROOT— both paths are configurable)
Every path in this command is expressed relative to those variables. Do not hardcode anyone's home directory.
If the file that was actually read (either .local.md or .md) is missing or any required variable is empty, stop and ask the user to fill it before continuing. If the file still contains /REPLACE/WITH/... placeholders, stop and tell the user to fill it first — the repo won't work until they do.
Step 1: Determine the mode
Greenfield mode (new project): There is no existing folder at the target path. You'll create one from a template.
Retrofit mode (existing folder): A folder already exists — either a legacy project that pre-dates the template, or one the user created manually. You'll add missing template pieces without stomping existing content.
Reconcile mode (memory drift after a thread loss): A folder already conforms to the template, but 01-context/state.md is stale, missing, or out of sync with what's actually deployed/committed. You'll rebuild state.md from on-disk evidence and flag contradictions in the other memory files.
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 · 136 lines · 0 tokens per session scan A 625b6381719a
project-setup is a command published in the GitHub repository 16wells/claude-project-setup (2 stars, last pushed 4d ago), licensed MIT. It adds 31 tokens to every session and 2,430 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
dream
Consolidate and reorganize project memory.
commit
Analyze Git changes and generate a conventional commit message following the Commitizen format.
start
Start watching the current project with Bonsai.
discuss
Discuss a Bonsai observation in the current session.
mute
Silence Bonsai temporarily for this project (or all projects with --global).
dismiss
Mark a Bonsai observation as not useful (the gardener learns from this).