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/ramantiz/planship/plangit clone --depth 1 https://github.com/ramantiz/planshipWhat 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.00032 | $0.01035 |
| Opus 5 | $0.00016 | $0.00517 |
| Sonnet 5 | $0.00006 | $0.00207 |
| Haiku 4.5 | $0.00003 | $0.00103 |
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 — 76 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Draft a planship PLAN.md. You create no issues and change no code — your only output is one
markdown file. Shipping is a separate, confirmed step (/planship:ship).
Input: $ARGUMENTS — either a free-text idea, or a path to an existing spec/plan markdown file.
An optional -o <path> sets the output file (default: PLAN.md; never overwrite an existing file
without asking first).
The schema you must produce
Read ${CLAUDE_PLUGIN_ROOT}/templates/PLAN.template.md for the exact shape, and
${CLAUDE_PLUGIN_ROOT}/examples/PLAN.example.md for a filled-in example. The parser is strict:
## Phase N — Name→ a milestone.> Milestone: <one line>directly under it → its description.### Task title→ an issue. Imperative, one line, unique across the whole plan.- Each task carries
- **Labels:**,- **Blocked by:**,- **Context:**,- **Scope:**(a- [ ]checklist),- **Files:**,- **Done when:**. Blocked byreferences another task BY ITS EXACT TITLE, or—for none. Never write issue numbers — they don't exist yet. A title that doesn't match another###heading exactly is an error that will block shipping.
Which mode you're in
If $ARGUMENTS is a path to a markdown file: read it and restructure its content into the
schema. Preserve the author's intent and their acceptance criteria; do not invent scope they didn't
ask for. Where the source is vague about ordering, infer dependencies and say so in the summary you
report back.
If $ARGUMENTS is an idea: ask once, in one message, whether to read the repo to ground the
plan — then stop and wait for the answer.
Read the repo to ground this plan in the real code? (Recommended — dependencies and "blocked by" will reflect what's actually there.) [Y/n]
- If yes: use Glob/Grep/Read to actually investigate before writing a single phase. Find the
entry points, the build config, the modules the work touches, what already exists versus what
doesn't. Ground every dependency in something you actually read. The point of repo-aware
planning is that
Blocked byreflects reality — e.g. "Phase 1 is blocked because the build config doesn't ship the worker" is a claim you can only make after opening the build config. Cite real paths in**Files:**. Never list a file you haven't confirmed exists (unless the task creates it — then say so in the scope). - If no: draft from the idea alone. Keep
**Files:**empty or clearly speculative rather than inventing plausible-looking paths.
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 · 76 lines · 32 tokens per session scan A 85c9ec7d9c2c
plan is a command published in the GitHub repository ramantiz/planship (10 stars, last pushed 1mo ago), licensed MIT. It adds 32 tokens to every session and 1,035 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
git
Git operations with intelligent commit messages and workflow optimization.
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.
converge
Assess the current codebase against the feature's spec, plan, and tasks, then append any remaining unbuilt work as new tasks to tasks.md so implement can complete it.