Transform vague requirements into clear engineering specifications through Socratic interviews, then invoke Plan mode to generate an executable implementation plan.
Brainstorming Integration
Read resources/BRAINSTORMING_INTEGRATION.md to understand the brainstorming protocol. If the user says "skip brainstorming" or "skip brainstorming", skip the branches marked as [可选] in steps 3, 7, and 8.
Steps
Preparation Phase
- Confirm input source: if
$ARGUMENTSis empty, prompt the user to provide the requirements document path (by default, look forplan.md). If the file does not exist, report an error and exit. - Analyze the requirements document: read the target file, and analyze the core business objectives, solution completeness, ambiguous/contradictory/missing points, and potential risks.
- [Optional] Scope decomposition check: if 3+ independent subsystems are detected or the requirements document exceeds 500 lines, propose a split according to the brainstorming protocol.
Interview Phase
- Load interview principles: read
resources/INTERVIEW_PRINCIPLES.md, and conduct the Socratic interview according to its questioning principles. - Ask questions according to the dimension framework: read
resources/INTERVIEW_DIMENSIONS.md, and ask the user questions item by item according to the A-G dimension framework:- A (engineering principles review) must be covered, and the rest should be selectively covered according to the project type.
- The
AskUserQuestiontool must be usedto present each round of questions, mapping 2-3 convergent options into clickable interactive tabs (options); outputting them in plain-text A/B/C form is prohibited. - Each
AskUserQuestioncall contains 1-4 questions (questions), each question has 2-4 options (options), and the user can select directly through the UI. - Mutually independent questions should be merged into the same
AskUserQuestioncall to reduce the number of interaction rounds.
- [Optional · UI project] Visual companion proposal: if the project involves UI/front-end development, propose enabling the browser visual companion according to
resources/VISUAL_COMPANION.md.- Start the server only after the user explicitly accepts.
- Default to binding
127.0.0.1/localhost; when there is no explicit remote access requirement, do not relax the listening scope.
Convergence Phase
- [Optional] Solution proposal: after the dimension questions are completed, propose 2-3 implementation solutions with trade-off analysis according to the brainstorming protocol, and let the user choose through
AskUserQuestion. - Risk assessment: if high-risk operations are involved, read
resources/RISK_PROTECTION.mdand issue a warning, then wait for explicit user authorization. - Organize the interview conclusions: internally organize a summary of the interview conclusions (business objectives, architectural decisions, selected solution and reasons for rejected solutions, technical constraints, risk assessment, etc.).
Output Phase
- Plan generation (dual-track mode):
a. Check the list of available skills in the system context to determine whether
planning-with-filesexists. b. If planning-with-files is available (preferred path):-
Output prompt:
📋 检测到 planning-with-files,使用文件计划模式 -
First write the interview conclusions in the notes.md template format to the working directory's
notes.md -
Call
Skill(skill="planning-with-files:plan", args="基于访谈结论创建实施计划,访谈结论已写入 notes.md") -
Generate task_plan.md according to the following template structure:
# Implementation Plan ## Goal <从访谈提取的核心业务目标> ## Phases - [ ] Phase 1: <阶段名> — <关键交付物> - [ ] Phase 2: ... ## Key Questions Resolved | 问题 | 决策 | 理由 | |------|------|------| | ... | ... | ... | ## Decisions Made - **选定方案**: <方案名> — <一句话理由> - **被拒方案**: <方案名> — <为什么不选> ## Risks - [ ] <风险描述> → 缓解措施: <措施> ## Status - 当前阶段: Phase 1 - 创建时间: YYYY-MM-DD -
After completion, inform the user of the plan file location; the process ends c. If planning-with-files is unavailable (degraded path):
-
Output prompt:
📋 planning-with-files 不可用,使用平台原生 Plan 模式 -
Call
EnterPlanModeto enter native Plan mode -
Write the interview conclusions and implementation plan into the plan file (task breakdown, dependencies, acceptance criteria, risk mitigation)
-
- [Degraded path only] Approval execution: After the user approves the plan, call
ExitPlanModeto enter the execution phase.
Technical constraints
- Paths are wrapped in double quotes, with forward slashes
/as separators - Prefer using
rginstead ofgrep - Do not automatically execute
commit、pushand other Git write operations - Follow the Read-before-Write principle
- Do not generate a separate spec.md file, and integrate the specification content into
task_plan.md(file mode) or native Plan (degraded mode) - In planning-with-files mode,
task_plan.mdandnotes.mdare created in the root path of the working directory, without creating subdirectories