planning · git:20260907.44ea54f · 2026-09-07 · sha256 4d075e33e95a4e11

planning git:20260907.44ea54fA

Immutable. This exact content is served forever at /api/v1/blob/4d075e33e95a4e11.

---
name: planning
description: "High-level development planning — features, TDD, architecture review. Triggers on: plan, feature, architecture, design, TDD, strategy."
argument-hint: "<what to plan: feature, tdd, architecture>"
---

# Planning

## Prompt refinement before scoping

Use the current turn's Attune refinement hook result, or call
`prompt_refinement(action="status")` if none was supplied. Follow its shared
policy to gather material missing context and incorporate answers into the
working prompt. If the user asks only to polish a prompt, return that prompt
without entering plan execution. An opt-out suppresses optional refinement,
not clarification needed for the actual planning task. Never restart intake
for a user's answer or correction, and never duplicate questions already asked
by refinement. Enable/disable only on the user's explicit request; a one-time
skip does not change the saved preference.

This skill fallback reaches planning invocations. Automatic delivery across
all messages requires a host that runs the plugin hook or follows MCP server
instructions; installing a skill alone does not establish that behavior.

**IMPORTANT: Start your response with a context preamble.**

Call `help_lookup(topic="spec-engine", mode="preamble")` and
display the returned `preamble` text as a blockquote. Then
tell the user they can say "tell me more" for a step-by-step
guide, or answer the scoping questions below to proceed.

If the MCP call fails, fall back to:

> **Planning** — Helps you plan features, architecture, and TDD strategy before writing code.

High-level development planning and architecture design.

## Routes

| Subcommand | Action |
| ---------- | ------ |
| `feature` | Plan a new feature |
| `tdd` | Plan TDD approach |
| `architecture` | Architecture review |

## MCP Tools

| Tool | What It Does |
| ---- | ------------ |
| `research_synthesis` | Synthesize insights from source documents at a path to inform planning |

Use `research_synthesis` when the user needs to gather
context from a directory of files or docs before planning.
Pass the directory (or file) as `path`; optionally set
`depth` to `quick`, `standard`, or `deep`:

```
research_synthesis(path="<dir or file>", depth="standard")
```

## Scoping

Before running, ask:

1. **Type**: "What kind of planning? Feature spec, TDD
   approach, or architecture review?"
2. **Subject**: Depending on type:
   - Feature: "What feature? What problem does it solve?"
   - TDD: "What behavior should the tests verify?"
   - Architecture: "What system? Any specific concerns?"
3. **Scope**: "How deep? Quick outline or detailed plan?"

**Surface.** The **Subject** phrasing branches on **Type**, so don't
batch all three — ask **Type** first (a single `AskUserQuestion`) when
it isn't already given by the `<what to plan>` argument. Once the type
is known, **Subject** (a textarea) and **Scope** (quick / detailed) are
independent and open: gather *those two* as one form via the `elicit`
skill, **preferring the rich widget surface** (`elicitation_render_widget`
→ `show_widget`) with the AskUserQuestion mapping as fallback. If only
one dimension is open, ask it as a single question — never force a
one-field form (the §4 batching rule).

## Execution

1. Use `EnterPlanMode` to create a structured plan
2. If context from multiple files is needed, call
   `research_synthesis` first to gather insights
3. Present the plan for user approval before any
   implementation