plan

plan is a command for coding agents from vsladkov/claudex-stereo. It costs 14 tokens per session (4,987 once invoked), scanned A, original, Apache-2.0.

A command for drafting or reviewing an implementation plan with selected Claude or Codex models.

In plain words
What is it for?
It is for choosing planning and review models, creating a plan, and checking that plan. The command itself does not implement the work.
Why use it?
It separates planning from coding and adds a review step, helping catch planning problems before implementation begins.

Command

Installs and runs on its own, but its text points at files inside its plugin — anything it tells you to read at a ${CLAUDE_PLUGIN_ROOT} path is only there once the plugin is installed. Installing the plugin gets both.

Part of the stereo plugin — 4 skills, 15 commands, 7 agents, 3 hooks shipped together

Install

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.

agentmods
npx agentmods add commands/vsladkov/claudex-stereo/plan
Clone the repo
git clone --depth 1 https://github.com/vsladkov/claudex-stereo

Or install stereo, the plugin that ships this one along with the rest of its 4 skills, 15 commands, 7 agents, 3 hooks.

Wrote 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.

agentmods badge for plan

README.md
[![agentmods](https://agentmods.dev/badge/commands/vsladkov/claudex-stereo/plan.svg)](https://agentmods.dev/commands/vsladkov/claudex-stereo/plan)
Your own site
<a href="https://agentmods.dev/commands/vsladkov/claudex-stereo/plan"><img src="https://agentmods.dev/badge/commands/vsladkov/claudex-stereo/plan.svg" alt="Measured on agentmods" height="20"></a>
Per session 14 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 4,987 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00014 $0.04987
Opus 5 $0.00007 $0.02493
Sonnet 5 $0.00003 $0.00997
Haiku 4.5 $0.00001 $0.00499

Measured 4d ago against content hash bfa8ccbe3c57, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

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 4d 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.

plugins/stereo/commands/plan.md · 349 lines

How it starts

The opening of the file, as written. The whole thing — 349 lines — stays where its author put it; the contents beside it link to each section on GitHub.

First Read ${CLAUDE_PLUGIN_ROOT}/skills/model-routing/SKILL.md and apply its routing, foreground agent, validation, persistence, quoting, and background-job rules. The rules below are step-specific.

Run the planning phase of the Stereo workflow. The current Claude session orchestrates; the selected planner and plan-reviewer perform their routed steps. Never implement from this command.

Raw slash-command arguments: $ARGUMENTS

Arguments and modes

After reading the routing skill, parse every argument before inspecting the repository or starting a routed step:

  • --planner <model> selects the drafter and defaults to claude:fable.
  • --planner-effort <none|minimal|low|medium|high|xhigh|max> overrides effort for a Codex-routed planner.
  • --plan-reviewer <model> selects the plan reviewer and defaults to codex:sol.
  • --plan-reviewer-effort <none|minimal|low|medium|high|xhigh|max> overrides effort for a Codex-routed plan reviewer.
  • --effort <none|minimal|low|medium|high|xhigh|max> is the command-wide default for Codex-routed roles that have no role effort flag. When no active role is Codex-routed, accept --effort but report that it is inert rather than silently dropping it.
  • --max-plan-rounds <n> defaults to 6.
  • --slot <name> selects the durable plan slot this run stores into and defaults to default. Slot names are trimmed, lowercased, may contain only letters, digits, hyphens, and underscores, and must start with a letter or digit. Relay the CLI's validation error verbatim.
  • --draft-only runs one draft step, stores it, and stops.
  • --review-only reviews the stored plan exactly once and stops.
  • --plan-file <path> reviews that external plan exactly once and is valid only with --review-only.
  • Without a mode flag, run the complete draft-plus-review/revision phase.

Reject missing values, duplicate role or role-effort flags, invalid effort or round values, unknown flags, unknown claude:* values, and both mode flags together. Accept claude:inherit alongside claude:session and the four explicit Claude aliases. Accept a Codex selection with or without the codex: prefix and reject codex:claude:*. The removed --planner-model and reviewer --model flags are unknown; report the role-named replacements.

For --review-only, reject task text, --planner, and --planner-effort. Reject --plan-file with --draft-only or the full phase and say that it requires --review-only. For --draft-only, reject --plan-reviewer, --plan-reviewer-effort, and --max-plan-rounds. Reject a role effort flag when its selected role is Claude-routed. Resolve each active Codex role through the routing skill's role effort > command-wide effort > workspace role effort > model default hierarchy. Full phase and --draft-only require task text; if it is empty, ask the user what to plan.

Define these invocation placeholders before any routed step:

  • <plannerSelectionArgs> = --model <effectivePlannerModel> <plannerEffortArg>.
  • <reviewSelectionArgs> = --model <effectivePlanReviewerModel> <planReviewerEffortArg>.
  • <plannerEffortArg> and <planReviewerEffortArg> are --effort <resolved effort> when the corresponding role's resolved effort is non-null, and are omitted entirely otherwise.
  • <slotArg> = --slot <slot> when this run targets a non-default slot, and is omitted entirely for the default slot.

The task command injects no server-side effort default, so omitting the planner --effort silently loses a resolved max for a gpt-* planner. plan-review does default a missing --effort to the selected model's pair default, so the reviewer placeholder enforces consistency rather than correcting runtime behavior.

The codex-result-handling stop-after-findings rule applies at explicit user-decision points and to --review-only. During the full phase's review loop, revise automatically.

Read the full file on GitHub · 349 lines

Changes

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.

  1. 4d ago First seen · 349 lines · 14 tokens per session scan A bfa8ccbe3c57

Subscribe to this mod's changes

plan is a command published in the GitHub repository vsladkov/claudex-stereo (3 stars, last pushed 25d ago), licensed Apache-2.0. It adds 14 tokens to every session and 4,987 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.

Related

Other commands, from other repositories

rest

Maude's end-of-session ritual — digest + tomorrow's starting point + close-the-loop check + full save fan-out. Run before you stop, so the next session opens cleanly. Session-end is the right time to pay network cost, so Tier 2 writes happen here when registered.

john-broadway/maude-for-claude · 61 tokens

save

Save the current session digest. Fans out across every writable memory tier per the house-map. Tier 0 always; Tier 1 if reachable; Tier 2 only if registered writable with auth. Each tier independent — failures degrade gracefully.

john-broadway/maude-for-claude · 49 tokens

wake

Maude's session-start ritual — brief + house-walk + 1-3 things to know first. Runs at session-start manually if SessionStart hook didn't catch you, or anytime you need a clean re-orient. Cheap by design — Tier 0 always, Tier 1 if cached-up, Tier 2 never.

john-broadway/maude-for-claude · 68 tokens

notice

Maude surfaces patterns from the turn-by-turn trace — recurring topics, repeated mistakes, time-of-day patterns, sessions that keep ending in the same place.

john-broadway/maude-for-claude · 33 tokens

teach

Tell Maude something about yourself directly — how you work, your rhythm, what help you want — and she records it in her cross-project profile of you. Use when you want her to KNOW a fact rather than wait for her to infer it. Tier 0, user-global, no network.

john-broadway/maude-for-claude · 62 tokens

verify

Run Maude's programmatic project audit — version consistency, JSON validity, link integrity, header dates, watch-list paths, worn-framing scan. Catches "ready" before it's actually ready.

john-broadway/maude-for-claude · 42 tokens