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/robconery/cassini-workshop/plangit clone --depth 1 https://github.com/robconery/cassini-workshopWhat 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.00018 | $0.00867 |
| Opus 5 | $0.00009 | $0.00434 |
| Sonnet 5 | $0.00004 | $0.00173 |
| Haiku 4.5 | $0.00002 | $0.00087 |
Grade A, and why
plan 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 — 79 lines — stays where its author put it; the contents beside it link to each section on GitHub.
plan
🎯 Design for change. Slice tasks so each one touches one seam. A task that edits five unrelated files is a coupling smell — re-slice before you ship it to
/build-loop.
Turn the design into something the build process can execute. This command transforms SPEC.md — it does not re-elicit requirements.
Scope
- IN: derive user stories from SPEC, order tasks into a dependency-aware
checklist, mark what can run concurrently, then generate executable specs
from the finalized stories via the
bdd-specsskill — always, no asking. - OUT: gathering requirements (
/explore//design), building (/build-loop). This authors a plan and its specs; it does not consume them.
Preflight
- Read
docs/SPEC.mdanddocs/PROJECT.md. If SPEC.md is a stub or full ofTODO, stop — there's nothing to plan. Send the user back to/design. - Read existing
docs/STORIES.md/docs/PLAN.md. Re-entrant: reconcile and extend; never silently drop or renumber completed (- [x]) tasks.
Stories
Delegate to the user-stories skill to produce/refine docs/STORIES.md
(it already formats Story→Feature with Given/When/Then so bdd-specs can
consume it). Don't hand-roll the format.
Specs (always, no asking)
Once docs/STORIES.md is finalized and docs/PLAN.md is written, always
delegate to the bdd-specs skill to generate executable spec files from
the stories. Do not ask the user whether to run it — it is part of /plan's
contract. The generated specs should fail until /build-loop turns them green.
Interview
Light — this is confirmation, not elicitation. ~3–5 questions, batched:
- Here's how I sliced SPEC into stories — anything mis-cut or missing?
- Priority/sequence right? What's the first shippable slice?
- Any task I marked parallel that actually shares state?
- Hard external dependencies that gate ordering?
Produce
- docs/STORIES.md (owned, via
user-storiesskill). - docs/PLAN.md (owned): a checklist
build-loopcan execute —- every task is
- [ ], top-to-bottom in dependency order; - each task line carries: a short id, the story it implements
(
story:), explicitdepends-on:ids, and aparallel-group:tag for tasks with no ordering between them; - one task = one reviewable, committable unit of work;
- no task references a file or decision not in ARCHITECTURE.md/SPEC.md.
- every task is
- Wire tasks are first-class. For every feature that touches a deployed
entry point (exported handler, route file,
default.fetch, Next route), include an explicitwire: <feature> into <entry>task whose acceptance is a real request through the production binary producing the spec's side effect. A task whose only acceptance criterion is "unit tests pass" is not allowed for code on a production path — that's how stubs ship. - Executable specs (via
bdd-specsskill): generated automatically from finalized STORIES.md + PLAN.md. Not optional. - docs/MEMORY.md: append dated entries for sequencing decisions that weren't obvious (why X blocks Y, why a slice was deferred).
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 · 79 lines · 18 tokens per session scan A f493836c1931
plan is a command published in the GitHub repository robconery/cassini-workshop (1 stars, last pushed 2mo ago), licensed MIT. It adds 18 tokens to every session and 867 once invoked, about $0.0001 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
quick-fix
Make a small, obvious fix directly on the current branch. No sprint, no PLAN, no stories.
ctx-list
Experimental integration for listing ctx workstreams in Cursor.
product-intake
Turn raw experience reports from using the product into agent-ready GitHub issues at the right maturity. The user arrives wearing the user hat — "here's what happened when I used the thing" — and shifts to the product hat to make decisions about maturity, framing, and priority.
analyze
Extract project-relevant insights from user-provided input. The user brings material — a session write-up, product feedback, a captured fragment, an error log, a design sketch, a conversation transcript — and you turn it into actionable artifacts: GitHub issues, issue comments, doc updates, ADRs, or memory entries.
work-on-issue
Execute the full planning-before-implementation workflow for a GitHub issue. The user provides an issue number or description — you handle the rest.
quick-fix
Make a small, obvious fix directly on the current branch. No sprint, no PLAN, no stories.