Borrowing it
Nothing to install: this file belongs to jstxn/rein. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/jstxn/rein/main/.claude/commands/rein-plan.mdgit clone --depth 1 https://github.com/jstxn/reinWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/jstxn/rein/rein-plan)<a href="https://agentmods.dev/commands/jstxn/rein/rein-plan"><img src="https://agentmods.dev/badge/commands/jstxn/rein/rein-plan/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/jstxn/rein/rein-plan"><img src="https://agentmods.dev/badge/commands/jstxn/rein/rein-plan.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What 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.1 | $0.00034 | $0.00770 |
| Opus 5 | $0.00017 | $0.00385 |
| Sonnet 5 | $0.00007 | $0.00154 |
| Haiku 4.5 | $0.00003 | $0.00077 |
Grade A, and why
rein-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 10d 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 — 74 lines — stays where its author put it; the contents beside it link to each section on GitHub.
rein-plan
Use this after triage and before implementation when the work involves multiple files, multiple concerns, or a non-obvious execution order.
When To Use
- The task touches more than two files or modules
- The execution order matters (migrations before code, types before consumers)
- There are dependencies between subtasks
- The risk of a partial implementation is high
- A completed
rein-interviewspec bundle already exists and should drive the plan
When Not To Use
- The task is a single-file, single-concern change
- Triage already produced a clear, linear path
- The user explicitly asks to skip planning
Interview Handoff
Before planning, check whether there is a completed rein-interview artifact to consume.
Artifact priority:
- If the user provides
--from-interview <slug|path>, use that artifact. - If the user provides or references a
rein interview handoff --to planresult, use itssourceResultandrecommendedSkillInvocation. - Otherwise, look under
.rein/specs/forrein-interview-*/result.json. - If one clearly matches the current task, use it.
- If several plausible artifacts exist, prefer the most recent completed one whose
intent,desiredOutcome, orinScopematches the task. - If no relevant artifact exists, proceed with normal planning.
When a result.json artifact is available:
- treat it as the primary source of truth for intent, desired outcome, in-scope, out-of-scope, constraints, acceptance criteria, assumptions, technical context, and execution bridge
- use
spec.mdor the transcript only ifresult.jsonis insufficient - do not silently drift away from the artifact without naming the conflict
- if the live repo facts conflict with the artifact, call out the mismatch in the plan
- if the artifact is missing core planning fields, stop and report that the interview bundle is incomplete rather than planning from a hollow result
Steps
- Load the relevant
rein-interviewresult.jsonfirst when available. - List every discrete subtask required to complete the work.
- Identify dependencies between subtasks. Order them so each step has its prerequisites satisfied.
- Write each step in
change -> verifyform. - For each step, state:
- what changes
- why this is the minimum sufficient change
- what must stay untouched
- what could go wrong
- how to verify the step succeeded before moving on
- Reject speculative abstraction, flexibility, or helper extraction unless the plan explicitly justifies it.
- Identify the first safe checkpoint — the earliest point where the repo is in a valid state and work can be paused or reviewed.
- Identify rollback boundaries — points where a partial revert is clean rather than destructive.
- Flag any step that requires a decision the user has not yet made.
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.
- 10d ago First seen · 74 lines · 34 tokens per session scan A 11284a30a4c7
rein-plan is a command published in the GitHub repository jstxn/rein (12 stars, last pushed 4mo ago), licensed MIT. It adds 34 tokens to every session and 770 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-30.
Other commands, from other repositories
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.
implement
Execute the implementation plan by processing and executing all tasks defined in tasks.md.