Skip to main content
ClaudeWave
Slash Command127 repo starsupdated 1mo ago

plan

The /plan command creates a detailed implementation contract for a specified project before development begins, documenting product concept, research facts, architecture, phases, acceptance tests, and guardrails in both narrative and JSON formats. Use this command when starting substantial application work, site builds, games, or refactors to establish shared expectations and prevent scope drift, while skipping it for small targeted fixes.

Install in Claude Code
Copy
mkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/0xhimanshu/governor/HEAD/commands/plan.md -o ~/.claude/commands/plan.md
Then start a new Claude Code session; the slash command loads automatically.

plan.md

# Governor Plan

Create an implementation contract for `$ARGUMENTS`. This command is explicit
opt-in governance: do not implement yet.

Use bounded research when facts are current or market/design/API dependent. Keep
research compact and cite sources when browsing.

Return a contract with:

- product concept and audience
- key research facts or assumptions
- brand/theme/storyline
- UI strategy and responsive states
- architecture and data model
- implementation phases
- planned files or file areas
- acceptance tests
- drift guardrails
- stop conditions

At the end, include a JSON contract block with these keys:

```json
{
  "title": "",
  "goal": "",
  "requirements": [],
  "planned_files": [],
  "acceptance_tests": [],
  "drift_guardrails": [],
  "stop_conditions": []
}
```

Also save the same JSON contract into plugin data before returning:

```bash
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/governor.py" save-contract --title "SHORT TASK TITLE"
```

Pass the JSON on stdin. The helper generates a safe lowercase slug.

Tell the user implementation should begin only after they approve the contract.
Do not make `/governor:plan` a hidden prerequisite for small focused fixes.