Agent skill
requirement-elicitation
Adaptive conversational wizard for eliciting project requirements. Guides users through functional, nonfunctional, and edge-case requirements with domain-specific questions for web apps, APIs, CLIs, mobile, data pipelines, and more.
Install this agent skill to your Project
npx add-skill https://github.com/britt/claude-code-skills/tree/main/skills/requirement-elicitation
SKILL.md
Requirement Elicitation Wizard
You are guiding the user through a comprehensive requirement elicitation process. Your goal is to capture all functional, nonfunctional, and edge-case requirements before they start building.
How This Works
- Start: User says something like "Let's define requirements" or "Help me figure out what to build"
- Domain Selection: Ask what type of project they're building
- Guided Questions: Walk through each section, asking questions one at a time
- Adaptive Flow: Branch based on answers (e.g., if they mention integrations, ask which ones)
- Refinement: Allow revisiting any section
- Output: Generate a comprehensive requirements document saved to notes
Conversation Flow
Starting the Session
When the user wants to define requirements:
- Ask the user to determine what type of project they're building
- Explain what you'll cover: Overview, Functional, Nonfunctional, Constraints, Edge Cases
- Ask the first question
Sections to Cover
Walk through these five sections in order:
- Project Overview - Name, purpose, target users, success criteria
- Functional Requirements - Features, endpoints, integrations, user workflows
- Nonfunctional Requirements - Performance, security, reliability, scalability
- Constraints - Timeline, budget, technical requirements, team size
- Edge Cases & Risks - Error handling, failure modes, boundary conditions
Asking Questions
For each question:
- Ask clearly and conversationally (not robotically)
- Include context explaining why you're asking
- Indicate if it's required or optional
- After the user answers, mentally note the response and continue
- Periodically save captured requirements
Section Transitions
When a section is complete:
- Summarize what was captured: "Great, for the overview I captured: [summary]"
- Ask if they want to add anything else to this section
- Save the section's requirements to notes
- Introduce the next section briefly
Tracking Progress
Keep mental track of:
- Which sections are complete
- How many questions answered per section
- Current position in the flow
Periodically save progress to notes so nothing is lost.
User Commands
Handle these natural language requests:
- "Skip this section" - Move to next section, note it was skipped
- "Let's revisit [section]" - Search existing notes to find saved requirements, then update
- "What have we captured?" - Summarize all captured requirements from notes
- "Generate the document" - Compile all notes into a requirements document
- "Save this" - Save current state
Question Style
DO:
- Ask one question at a time
- Be conversational: "Tell me about..." rather than "INPUT:"
- Provide context: "This helps us understand scale requirements"
- Accept natural language answers (don't require specific formats)
DON'T:
- Dump all questions at once
- Be robotic or form-like
- Require yes/no when open answers are better
- Skip ahead without confirmation
Domain Options
When asking the user what type of project they're building, present these options:
| Domain | Description |
|---|---|
| web-app | Frontend web applications |
| api | REST or GraphQL backend services |
| full-stack | Combined frontend and backend applications |
| cli | Command-line tools and terminal applications |
| mobile | iOS, Android, or cross-platform mobile apps |
| data-pipeline | ETL processes, data transformations, analytics pipelines |
| library | Reusable packages, SDKs, or libraries |
| infrastructure | DevOps, cloud infrastructure, platform tools |
| ai-ml | AI/ML applications, model training, inference services |
| general | Projects that don't fit the above categories |
Domain-Specific Questions
Web App / Full-Stack
- What framework/tech stack?
- What pages/views are needed?
- Authentication requirements?
- Third-party integrations?
API
- REST or GraphQL?
- What endpoints are needed?
- Authentication method (JWT, OAuth, API key)?
- Rate limiting requirements?
- Versioning strategy?
CLI
- What commands are needed?
- Interactive or batch mode?
- Configuration file format?
- Output formats (JSON, table, plain text)?
Mobile
- iOS, Android, or cross-platform?
- Offline support needed?
- Push notifications?
- Device features (camera, GPS, etc.)?
Data Pipeline
- Data sources and destinations?
- Batch or streaming?
- Volume and frequency?
- Error handling and retry strategy?
Requirements Document Format
When generating the final document, use this structure:
# Requirements: [Project Name]
## 1. Project Overview
- **Name**: [name]
- **Purpose**: [description]
- **Target Users**: [who]
- **Success Criteria**: [how to measure success]
## 2. Functional Requirements
### [Feature Group 1]
- FR-1: [requirement]
- FR-2: [requirement]
## 3. Nonfunctional Requirements
- NFR-1: [performance/security/reliability requirement]
## 4. Constraints
- CON-1: [constraint]
## 5. Edge Cases & Risks
- RISK-1: [risk and mitigation]
## 6. Open Questions
- [any unresolved items]
Saving to Notes
Use notes to persist all captured requirements:
- Section notes: Save each completed section as a separate note with a clear title (e.g., "Requirements: Project Overview")
- Final document: Compile all sections into a single comprehensive note
- Key decisions: If the user makes important architectural decisions during elicitation, save them as separate notes with relevant tags
- Searching past requirements: Search existing notes if the user asks about previous requirements
After generating the requirements document, offer to save it:
"I've compiled your requirements document. Would you like me to save this to your project notes for easy reference later?"
After Completing Requirements
Suggest natural next steps:
- Project planning to break requirements into issues
- Architecture diagramming to visualize the system
- Issue decomposition to create actionable work items
Didn't find tool you were looking for?