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/othmanadi/planning-with-files/plan-attestgit clone --depth 1 https://github.com/OthmanAdi/planning-with-filesWhat 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.00064 | $0.00402 |
| Opus 5 | $0.00032 | $0.00201 |
| Sonnet 5 | $0.00013 | $0.00080 |
| Haiku 4.5 | $0.00006 | $0.00040 |
Grade A, and why
plan-attest 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 yesterday.
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.
What it actually says
Run the plan attestation helper for the active plan.
Steps:
- Resolve the active plan: prefer
${PLAN_ID}env var, then.planning/.active_plan, then newest.planning/<dir>/, then legacy./task_plan.md. - Compute the SHA-256 of the resolved
task_plan.md. - Write the hex digest to
.planning/<active-plan>/.attestation(parallel-plan mode) or./.plan-attestation(legacy mode). - Confirm to the user with the short hash (first 12 hex chars) and the storage path.
Implementation:
- On Linux/macOS/Git Bash:
sh ${CLAUDE_PLUGIN_ROOT}/scripts/attest-plan.sh - On Windows PowerShell plugin installs:
& "$env:CLAUDE_PLUGIN_ROOT\scripts\attest-plan.ps1" - On Windows PowerShell standalone installs:
& "$env:USERPROFILE\.claude\skills\planning-with-files\scripts\attest-plan.ps1"
Flags:
--show— print the currently stored hash and where it lives.--clear— remove the attestation (re-open the plan to free editing).
After running this command, every UserPromptSubmit and PreToolUse hook fire compares task_plan.md against the stored hash. If they diverge, the hook emits [PLAN TAMPERED — injection blocked] instead of feeding plan content into the model. Re-run /plan-attest whenever you intentionally edit and re-approve the plan.
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.
- yesterday First seen · 25 lines · 64 tokens per session scan A ae3f009bdfd3
plan-attest is a command published in the GitHub repository OthmanAdi/planning-with-files (26,438 stars, last pushed yesterday), licensed MIT. It adds 64 tokens to every session and 402 once invoked, about $0.0003 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-30.
Other commands, from other repositories
BOOTSTRAP
First-run ritual for new agents.
UPDATE_MEMORY
Time to organize your memory.
checklist
Generate a custom checklist for the current feature based on user requirements.
clarify
Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
specify
Create or update the feature specification from a natural language feature description.
analyze
Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.