design
Present 2-3 architectural approaches for user to choose before planning
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Present 2-3 architectural approaches for user to choose before planning
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Use when a feature plan has been verified and is ready for implementation — executes tasks with atomic commits
Use when you want to auto-run all remaining Ship steps for a feature without manual step-by-step invocation
Use when a feature has been brainstormed and needs a detailed implementation plan with tasks
Use when a brainstormed feature needs architectural decisions — presents 2-3 approaches for user to choose before planning
Use when a plan has been created and needs independent verification against codebase patterns before building
Use when beginning new feature work, adding functionality, or fixing a bug — runs intensive brainstorming to capture requirements before planning
| name | design |
| description | Present 2-3 architectural approaches for user to choose before planning |
| when_to_use | TRIGGER when: user says "design", "architect", or feature needs architecture decisions. DO NOT TRIGGER when: no brainstorm exists or already planned. |
| effort | medium |
| allowed-tools | Read, Write, Agent, AskUserQuestion |
| argument-hint | [feature-name] |
!for f in .planning/features/*/CONTEXT.md; do [ -f "$f" ] && d=$(dirname "$f") && echo "$(basename "$d"): $(sed -n 's/^status: *//p' "$f")"; done 2>/dev/null; true
!for f in .planning/features/*/PLAN.md; do [ -f "$f" ] && d=$(dirname "$f") && echo "$(basename "$d") plan: $(grep -c 'status="done"' "$f" 2>/dev/null || echo 0) done, $(grep -c 'status="pending"' "$f" 2>/dev/null || echo 0) pending"; done 2>/dev/null; true
Present architecture options for the active feature so the user can choose an approach before planning.
.planning/features/ for feature directoriesCONTEXT.md and check the status fieldbrainstormed (before planning) or planned (replanning with architecture input)$ARGUMENTS is provided, use it as the feature nameLaunch 3 parallel architecture sub-agents using the Agent tool. Run all three simultaneously in a single response. Each explores the codebase and proposes a concrete approach under a different philosophy.
Agent 1 — Minimal Changes:
Design an architecture for feature '{name}' using a MINIMAL CHANGES philosophy.
Read .planning/features/{name}/CONTEXT.md for the feature requirements.
Explore the codebase with Glob/Read/Grep to understand existing patterns.
Propose the approach that achieves the feature with the smallest diff and maximum
reuse of existing code.
Report in this exact format:
## Approach: Minimal Changes
**Philosophy:** Smallest diff, maximum reuse
**Summary:** [2-3 sentences]
**Key implementation points:**
- [concrete point 1]
- [concrete point 2]
- [concrete point 3]
**Pros:** [2 items]
**Cons:** [2 items]
**Estimated tasks:** [N]
Agent 2 — Clean Architecture:
Design an architecture for feature '{name}' using a CLEAN ARCHITECTURE philosophy.
Read .planning/features/{name}/CONTEXT.md for the feature requirements.
Explore the codebase with Glob/Read/Grep to understand existing patterns.
Propose the approach that prioritizes maintainability, proper abstractions, and
elegant design — even if it means more files or refactoring.
Report in this exact format:
## Approach: Clean Architecture
**Philosophy:** Maintainability, elegant abstractions
**Summary:** [2-3 sentences]
**Key implementation points:**
- [concrete point 1]
- [concrete point 2]
- [concrete point 3]
**Pros:** [2 items]
**Cons:** [2 items]
**Estimated tasks:** [N]
Agent 3 — Pragmatic Balance:
Design an architecture for feature '{name}' using a PRAGMATIC BALANCE philosophy.
Read .planning/features/{name}/CONTEXT.md for the feature requirements.
Explore the codebase with Glob/Read/Grep to understand existing patterns.
Propose the approach that balances speed with quality — ship quickly without
accruing significant tech debt.
Report in this exact format:
## Approach: Pragmatic Balance
**Philosophy:** Ship quickly, quality where it matters
**Summary:** [2-3 sentences]
**Key implementation points:**
- [concrete point 1]
- [concrete point 2]
- [concrete point 3]
**Pros:** [2 items]
**Cons:** [2 items]
**Estimated tasks:** [N]
After all three agents return, read their outputs and present a comparison to the user.
Display a summary of all three approaches, then form your own recommendation based on the feature's complexity, the codebase's current state, and the trade-offs.
Use AskUserQuestion to ask: "Which architecture approach should we use for this feature?"
After the user chooses:
.planning/features/{name}/CONTEXT.md## Chosen Architecture section:## Chosen Architecture
**Approach:** {chosen approach name}
**Summary:** {summary from the chosen approach}
**Key implementation points:**
{points from the chosen approach}
## DESIGN COMPLETE
Feature: {name}
Chosen: {approach name}
The planner will use this architecture to guide task design.
Next: /ship:plan
$ARGUMENTS