start
Brainstorm and capture requirements for a new feature or bug fix
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
Brainstorm and capture requirements for a new feature or bug fix
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 | start |
| description | Brainstorm and capture requirements for a new feature or bug fix |
| when_to_use | TRIGGER when: user says "start", "new feature", "build me", or describes new work. DO NOT TRIGGER when: feature already exists in .planning/features/. |
| effort | high |
| allowed-tools | Read, Write, Glob, Grep, AskUserQuestion |
| argument-hint | [feature description] |
!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
Start a new feature brainstorming session.
Ensure .planning/features/ directory exists. Create it if not.
First-run detection: If .planning/features/ was just created or is empty (no existing feature directories), this is the user's first feature. Show a brief welcome:
Welcome to Ship! This is your first feature. Here's how Ship works:
- Brainstorm — I'll ask 5-10+ questions to deeply understand your needs
- Plan — I'll explore your codebase and design a step-by-step plan
- Build — I'll implement the plan with atomic git commits
- Verify — I'll check that all acceptance criteria are met
Let's start by understanding what you want to build.
Derive a feature name (kebab-case slug) from the user's input:
$ARGUMENTS → convert to a short kebab-case slug (e.g., "user authentication" → user-auth, "fix login bug" → fix-login-bug)Check if .planning/features/{name}/ already exists:
done, tell the user this feature is complete. Ask if they want to start a new related feature.done, tell the user this feature already exists and suggest /ship:resume instead.Create the feature directory: .planning/features/{name}/
IMPORTANT: Do NOT launch a subagent for brainstorming. The brainstorming process requires interactive user input via AskUserQuestion, which only works correctly in the main conversation — not inside a subagent.
Read .claude/agents/ship-brainstormer.md and follow its instructions directly in this conversation with:
{name}$ARGUMENTSYou must ask the user 5-10+ questions using AskUserQuestion, explore the codebase, and write .planning/features/{name}/CONTEXT.md.
$ARGUMENTS