spec_coding_requirements_start
Initiate requirements collection for spec-driven development by providing structured guidance to gather feature specifications in EARS format.
Instructions
Start the requirements collection phase and provide guidance for requirements gathering
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | Session identifier | |
| feature_name | Yes | Feature name |
Implementation Reference
- src/tools/requirements.ts:8-45 (handler)The main handler function that executes the tool logic: logs the start, reads 'gen-requirement.md' template, and returns a formatted Markdown prompt for requirements gathering including workflow progress and instructions.export async function requirementsStart( params: RequirementsStartParams ): Promise<string> { const { session_id, feature_name } = params; console.error(`[MCP] Starting requirements collection for feature: ${feature_name}`); // Use gen-requirement.md template const template = await readTemplate('gen-requirement.md', { feature_name, session_id }); return `# 📋 Requirements Gathering Stage (2/5) ## Feature: ${feature_name} ### Workflow Progress: - [x] 1. Goal Collection ✅ - [x] 2. **Requirements Gathering** ← Current Stage - [ ] 3. Design Documentation - [ ] 4. Task Planning - [ ] 5. Task Execution --- ${template} --- **Important**: - Please generate requirements document according to the above guidelines - **Only when you explicitly confirm the requirements are complete can you call** \`spec_coding_requirements_confirmed\` tool - **Never** call the next stage tool before the user **explicitly confirms the requirements** **Session Information**: - Session ID: \`${session_id}\` - Feature Name: \`${feature_name}\``; }
- src/server.ts:60-76 (schema)Defines the tool's metadata including name, description, and input schema requiring session_id and feature_name.{ name: 'spec_coding_requirements_start', description: 'Start the requirements collection phase and provide guidance for requirements gathering', 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:215-217 (registration)Registers the handler for the tool in the switch statement within the CallToolRequestSchema handler, delegating to the requirementsStart function.case 'spec_coding_requirements_start': result = await requirementsStart(args as any); break;
- src/tools/requirements.ts:3-6 (schema)TypeScript interface defining the input parameters for the handler function, matching the tool's input schema.export interface RequirementsStartParams { session_id: string; feature_name: string; }