spec_driven_dev_design_start
Initiate the design documentation phase for a specific feature by providing structured guidance and frameworks to create design documents.
Instructions
Start the design documentation phase and provide guidance for creating design documents
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| feature_name | Yes | Feature name | |
| session_id | Yes | Session identifier |
Implementation Reference
- src/tools/design.ts:8-46 (handler)The handler function `designStart` that executes the tool logic: logs the start, reads a template, and returns a formatted markdown prompt for the design phase with workflow status and instructions.export async function designStart( params: DesignStartParams ): Promise<string> { const { session_id, feature_name } = params; console.error(`[MCP] Starting design phase for feature: ${feature_name}`); // Use gen-design.md template const template = await readTemplate('gen-design.md', { feature_name, session_id }); return `# 📝 Design Documentation Stage (3/5) ## Feature: ${feature_name} ### Workflow Progress: - [x] 1. Goal Collection ✅ - [x] 2. Requirements Gathering ✅ - [x] 3. **Design Documentation** ← Current Stage - [ ] 4. Task Planning - [ ] 5. Task Execution --- ${template} --- **Important**: - Please create design document according to the above guidelines - **Only when you explicitly confirm the design is complete can you call** \`spec_coding_design_confirmed\` tool - **Never** call the next stage tool before the user **explicitly confirms the design** **Session Information**: - Session ID: \`${session_id}\` - Feature Name: \`${feature_name}\` - Requirements: \`docs/specs/${feature_name}/requirements.md\``; }
- src/server.ts:99-112 (schema)The input schema definition for the 'spec_coding_design_start' tool, specifying required parameters session_id and feature_name.inputSchema: { type: 'object', properties: { session_id: { type: 'string', description: 'Session identifier' }, feature_name: { type: 'string', description: 'Feature name' } }, required: ['session_id', 'feature_name'] }
- src/server.ts:223-225 (registration)Registration of the tool handler in the switch statement: calls designStart for 'spec_coding_design_start'.case 'spec_coding_design_start': result = await designStart(args as any); break;
- src/server.ts:96-113 (registration)Tool registration in the tools list array used for ListToolsRequest, defining name, description, and schema.{ name: 'spec_coding_design_start', description: 'Start the design documentation phase and provide guidance for creating design documents', inputSchema: { type: 'object', properties: { session_id: { type: 'string', description: 'Session identifier' }, feature_name: { type: 'string', description: 'Feature name' } }, required: ['session_id', 'feature_name'] } },
- src/tools/design.ts:3-6 (schema)Local TypeScript interface matching the input schema for type safety in the handler.export interface DesignStartParams { session_id: string; feature_name: string; }