spec_coding_design_start
Initiate design documentation phase by providing structured guidance for creating technical design documents based on specified requirements.
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 core handler function that implements the spec_coding_design_start tool logic. It reads a 'gen-design.md' template, constructs a markdown response with workflow progress, design instructions, and session details.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:97-112 (schema)JSON Schema definition for the tool's input parameters (session_id and feature_name) used in MCP tool listing and validation.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/server.ts:223-225 (registration)Registration and dispatch logic in the CallToolRequestSchema handler's switch statement, which calls the designStart function when the tool is invoked.case 'spec_coding_design_start': result = await designStart(args as any); break;
- src/tools/design.ts:3-6 (schema)TypeScript interface defining the input parameters for the designStart handler function.export interface DesignStartParams { session_id: string; feature_name: string; }
- src/utils/workflow.ts:42-48 (helper)Workflow step definition referencing the spec_coding_design_start tool as part of the overall development workflow.{ step_number: 3, name: STEP_NAMES.DESIGN, description: 'Create technical design document based on requirements', tool: 'spec_coding_design_start β spec_coding_design_confirmed', deliverable: 'docs/specs/{feature_name}/design.md' },