원클릭으로
plan
Use when a feature or change needs a detailed implementation plan before building.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when a feature or change needs a detailed implementation plan before building.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when updating the toolkit to a new version.
Use when code changes need review before merging or completing.
Use when diagnosing toolkit health issues or optimizing configuration.
Use when contributing generic improvements back to the toolkit repo.
Use when setting up or reconfiguring the toolkit for a project.
Use when existing code needs iterative quality improvement.
| name | plan |
| description | Use when a feature or change needs a detailed implementation plan before building. |
| argument-hint | <feature-name> [--auto-implement] |
| user-invocable | true |
Creates detailed implementation plans for major features with milestones, exit criteria, testing requirements, and architecture decisions. Does NOT implement — only plans.
Output: Plans are saved to docs/plans/<feature-name>.md in the format expected by the /implement skill.
aliases:
/plan: /plan
/feature-plan: /plan
defaults:
output_dir: docs/plans
codex_iterations: 10
Customization: Override defaults in
toolkit.tomlunder[skills.plan]. Runbash toolkit.sh customize skills/plan/SKILL.mdto take full ownership of this skill.
/plan <feature-name> # Plan a new feature
/plan user-notifications # Example: plan notifications feature
/plan refactor-auth-system # Example: plan a refactor
/plan user-notifications --auto-implement # Auto-spawn /implement after plan
"plan a notifications feature"
"create a plan for user preferences"
"help me plan the dark mode implementation"
| Flag | Description | Default |
|---|---|---|
<feature-name> | Required. The feature or change to plan | -- |
--auto-implement | After plan is finalized, automatically spawn /implement skill with the generated plan | off |
| Rule | Description |
|---|---|
| 1. NEVER implement | This skill only produces plan documents. Do not write any code. |
| 2. Ask questions FIRST | Before any research or planning, ask ALL clarifying questions in one batch |
| 3. Save to docs/plans/ | Always write plan to docs/plans/<feature-name>.md |
| 4. Implement-compatible format | Plans MUST use the milestone/exit-criteria format the /implement skill expects |
| 5. Thorough evaluation criteria | Every plan MUST end with specific, testable evaluation criteria |
| 6. No time estimates | Focus on what, not when |
| Rationalization | Why It Is Wrong | Correct Behavior |
|---|---|---|
| "This milestone is too small to split further" | Milestones without testable exit criteria cannot be verified by /implement; even small milestones need explicit checkboxes | Every milestone must have at least 2 testable exit criteria as checkboxes; if a milestone has only 1, it is either too vague or should be merged with an adjacent milestone |
| "Tests can be added later in a separate milestone" | Deferring tests decouples them from the code they validate; /implement runs tests per-milestone and will pass milestones with untested code | Include test requirements in the same milestone as the code they cover; exit criteria should include "tests pass" for each milestone |
| "The architecture is obvious, skip the research phase" | Skipping codebase exploration leads to plans that conflict with existing patterns, duplicate existing utilities, or miss integration points | Read existing code in Phase 1 to identify conventions, reusable abstractions, and files that need modification before drafting the plan |
| "The user's requirements are clear enough, skip the clarifying questions" | Unasked questions become wrong assumptions embedded in milestones; fixing wrong assumptions mid-implementation is expensive | Ask ALL clarifying questions in Phase 0 before any research; cover scope boundaries, technical constraints, and priority trade-offs |
| "This plan is good enough without codex feedback" | Codex feedback catches missing edge cases, over-engineering, and dependency risks that the plan author is blind to | Run the codex feedback loop (up to 10 iterations); only skip if codex is genuinely unavailable, in which case run architect and security agent reviews instead |
Before doing ANY research or planning:
docs/ideas/<feature-name>.md (produced by the /brainstorm skill).
user-notifications).docs/ideas/<slug>.md.docs/ideas/*{slug}* to catch partial matches or naming variations (e.g., docs/ideas/user-notifications-v2.md would match slug user-notifications). If multiple matches, prefer the most recently modified file.Do NOT skip this phase. Making assumptions leads to wasted planning.
Codebase exploration (automatic, no prompts)
External research (if applicable)
Create initial plan draft
subagent_type: "general-purpose" (the agent needs Read, Write, Edit, Grep, Glob, Bash, WebSearch, WebFetch, and context7 tools)docs/plans/<feature-name>.mdPlan agent Task() invocation:
Task:
subagent_type: "general-purpose"
prompt: |
You are a plan author. Create a detailed implementation plan for "{feature_name}".
Write the plan to docs/plans/{feature_name}.md using the plan template format
(milestones with exit criteria, evaluation criteria, etc.).
## Context
{codebase_findings}
{idea_doc_content_if_available}
{user_requirements}
## Constraints
{user_constraints_and_priorities}
## Rules
- Follow the plan template structure exactly
- Every milestone needs testable exit criteria as checkboxes
- No time estimates -- focus on what, not when
- List specific file paths in each milestone
- End with evaluation criteria grouped by category
After the initial plan is created, iterate with codex for feedback:
Loop Rules:
After codex feedback loop completes, run agent reviews for plans that involve architecture changes, security-sensitive areas, or user-facing features. Skip for simple refactors or documentation-only plans.
For each applicable agent, spawn via Task tool with the plan file as context:
Task:
subagent_type: "general-purpose"
prompt: |
Read the agent prompt at .claude/agents/<agent>.md.
Review the plan at docs/plans/<feature-name>.md for issues
within your domain. Report findings as a numbered list with
severity (high/medium/low). If no issues, state "No findings."
| Agent | When to Run | Focus |
|---|---|---|
| architect | Plans with new components, data flow changes, or cross-cutting concerns | Structural soundness, pattern consistency, scalability risks |
| security | Plans touching auth, data handling, APIs, or user input | Threat surface, missing validation, secret management |
| pm | Plans with user-facing changes or new features | Completeness, edge cases, user impact |
Incorporate agent findings into the plan. For high-severity findings, update milestones or add exit criteria. For medium/low, add them to the Risks section.
Incorporate agent feedback
Update plan status to "In Review"
Present final plan to user with summary of what was planned
Auto-flow to /implement (if --auto-implement flag is set):
IF --auto-implement is set:
Spawn a fresh Task agent with clean context to run the implement skill. The agent must read the skill file itself — do not pass session state or planning context.
Task:
subagent_type: "general-purpose"
prompt: |
Read the skill file at skills/implement/SKILL.md, then execute /implement with
the plan at docs/plans/<feature-name>.md.
Start fresh — do not assume any context from a previous session.
ELSE (flag not set):
Display: Next step: Run /implement docs/plans/<feature-name>.md to execute the plan
Codex should be configured as a project MCP server in .mcp.json.
Use the mcp__codex__codex tool with:
approval-policy: "never" (required for autonomous operation)prompt: review prompt focusing on completeness, testing, risks, dependencies, over-engineering| Rule | Value |
|---|---|
| Maximum iterations | 10 |
| Stop early when | Response starts with "SOLID:" |
| Continue when | Response starts with "ISSUES:" |
Plans are saved to: docs/plans/<feature-name>.md
Naming convention:
user-notifications.md, dark-mode.mdThe plan MUST follow this structure to be compatible with /implement:
# [Feature Name] — Implementation Plan
> **Status**: Draft | In Review | Approved | In Progress | Complete
>
> **Last Updated**: [Date]
>
> **Codex Iterations**: [N of 10]
## Summary
[1-3 sentence description of what this plan achieves]
## North Star
[The ideal end state — what does success look like?]
## Principles
[3-5 design principles guiding implementation decisions]
## Research Findings
### Best Practices
### Libraries Considered
## Architecture
### System Overview
### Data Flow
### Key Files
[List specific files to create/modify with paths]
## Implementation Milestones
### M0: [Foundation/Setup]
[Description of what this milestone achieves]
**Files to create/modify**:
- `path/to/file.py` (description)
**Exit Criteria**:
- [ ] Specific, testable criterion 1
- [ ] Specific, testable criterion 2
- [ ] Tests pass: `<test command>`
### M1: [Core Feature]
[Same structure as M0...]
### M2: [Integration/Polish]
[Same structure as M0...]
## Testing Strategy
### Unit Tests
### Integration Tests
### Manual Verification
## Risks & Mitigations
| Risk | Mitigation |
| ---- | ---------- |
| Risk 1 | Mitigation 1 |
## Open Questions
- [Any unresolved questions — ideally none by finalization]
---
## Evaluation Criteria
After all milestones are complete, the implementation is successful if:
### Functional Correctness
1. **Criterion**: specific testable statement
2. **Criterion**: specific testable statement
### Code Quality
1. **Criterion**: specific testable statement
### User Experience
1. **Criterion**: specific testable statement
---
## Feedback Log
[Summary of codex/agent feedback incorporated]
/implement docs/plans/<name>.md