requirements-gathering

K9i-0's avatarfrom K9i-0

Systematic requirements gathering through AskUserQuestion. Use when starting development to clarify app specifications.

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 11, 2026

When & Why to Use This Skill

The Requirements Gathering skill streamlines the initial phase of software development by systematically extracting critical project specifications through interactive dialogue. It eliminates ambiguity by guiding users through structured phases—covering purpose, features, UI design, and technical stacks—ultimately generating a comprehensive REQUIREMENTS.md file to align development efforts and prevent scope creep.

Use Cases

  • Initial Project Scoping: Transforming a brief user idea (e.g., 'I want to build a fitness app') into a detailed technical specification document.
  • MVP Definition: Helping stakeholders prioritize core features and identify the most critical functionality for an initial release to ensure faster time-to-market.
  • Technical Alignment: Ensuring developers and users are aligned on platform support, data storage methods, and authentication requirements before any code is written.
  • Documentation Automation: Automatically generating and maintaining a structured REQUIREMENTS.md file in the project root to serve as a single source of truth for the development lifecycle.
namerequirements-gathering
descriptionSystematic requirements gathering through AskUserQuestion. Use when starting development to clarify app specifications.

Requirements Gathering Skill

Systematically gather requirements through AskUserQuestion to ensure clear specifications before implementation.

Trigger Conditions

Apply this skill when:

  • User invokes /start-development command
  • Starting development of a new feature or app
  • Requirements are unclear and need clarification

Gathering Process

Phase 1: Basic Information

Question 1: App Purpose

Header: "Purpose"
Question: "What is the main purpose of this app?"
Options:
- "Productivity/Task management"
- "E-commerce/Shopping"
- "Social/Communication"
- "Entertainment/Media"
(User can also provide custom answer)

Question 2: Target Users

Header: "Users"
Question: "Who are the target users?"
Options:
- "General consumers (B2C)"
- "Business users (B2B)"
- "Internal company use"
- "Specific community/group"

Question 3: Platform

Header: "Platform"
Question: "Which platforms do you want to support?"
Options:
- "iOS only"
- "Android only"
- "Both iOS and Android"
- "iOS, Android, and Web"
multiSelect: true

Phase 2: Feature Requirements

Question 4: Core Features

Header: "Features"
Question: "What are the 3-5 main features you need? (Select all that apply)"
Options:
- "User authentication (login/signup)"
- "Data listing and detail views"
- "Create/Edit/Delete operations"
- "Search and filtering"
multiSelect: true

Question 5: MVP Scope

Header: "MVP"
Question: "For the initial release (MVP), which feature is most critical?"
Options:
- "Core functionality working end-to-end"
- "Beautiful UI/UX design"
- "Performance and speed"
- "Comprehensive feature set"

Question 6: Data Storage

Header: "Storage"
Question: "How should data be stored?"
Options:
- "Local only (offline first)"
- "Cloud/Server (Firebase, Supabase, etc.)"
- "Hybrid (local + cloud sync)"
- "No persistent storage needed"

Phase 3: Screen Design

Question 7: Screen Count

Header: "Screens"
Question: "How many main screens do you expect?"
Options:
- "1-3 screens (simple app)"
- "4-6 screens (medium complexity)"
- "7-10 screens (complex app)"
- "10+ screens (large app)"

Question 8: Navigation Pattern

Header: "Navigation"
Question: "What navigation pattern do you prefer?"
Options:
- "Bottom navigation bar"
- "Drawer/Side menu"
- "Tab bar at top"
- "Simple stack navigation"

Phase 4: Technical Requirements

Question 9: External APIs

Header: "APIs"
Question: "Do you need external API integrations?"
Options:
- "No external APIs"
- "REST APIs"
- "GraphQL"
- "Third-party services (maps, payment, etc.)"
multiSelect: true

Question 10: Authentication

Header: "Auth"
Question: "What authentication method do you need?"
Options:
- "No authentication needed"
- "Email/Password"
- "Social login (Google, Apple, etc.)"
- "Phone number/OTP"
multiSelect: true

Question 11: Offline Support

Header: "Offline"
Question: "How important is offline functionality?"
Options:
- "Not needed (online only)"
- "Basic offline viewing"
- "Full offline support with sync"
- "Offline-first architecture"

Phase 5: Confirmation

After gathering all responses, compile a summary and confirm with the user.

Question 12: Requirements Summary

Header: "Confirm"
Question: "Does this requirements summary look correct?"
Options:
- "Yes, proceed with planning"
- "No, I need to modify some requirements"

Output: REQUIREMENTS.md

Generate a REQUIREMENTS.md file in the project root with the gathered information:

# Project Requirements

## Overview
- **App Name**: [To be determined]
- **Purpose**: [From Question 1]
- **Target Users**: [From Question 2]
- **Platforms**: [From Question 3]

## Features

### Core Features
[From Question 4]

### MVP Scope
[From Question 5]

## Data & Storage
- **Storage Method**: [From Question 6]
- **Offline Support**: [From Question 11]

## Screens & Navigation
- **Expected Screens**: [From Question 7]
- **Navigation Pattern**: [From Question 8]

## Technical Requirements

### Authentication
[From Question 10]

### External Integrations
[From Question 9]

## Next Steps
1. Review and approve this requirements document
2. Enter Plan Mode to design implementation
3. Begin feature-by-feature development

---
Generated on: [Date]

Integration with Workflow

After requirements gathering:

  1. Save REQUIREMENTS.md
  2. Transition to Plan Mode (EnterPlanMode)
  3. Design implementation based on requirements
  4. User approves plan
  5. Begin implementation with TodoWrite tracking

Tips for Effective Gathering

  1. Be Specific: Ask for concrete details, not vague descriptions
  2. Prioritize: Help users identify MVP features vs nice-to-have
  3. Validate: Confirm understanding before proceeding
  4. Iterate: Allow users to modify answers as they think through requirements

Sample Workflow

1. User: "I want to build a todo app"
2. Claude: Invokes requirements-gathering skill
3. Claude: Asks Question 1-12 using AskUserQuestion
4. Claude: Compiles responses into REQUIREMENTS.md
5. Claude: Shows summary and asks for confirmation
6. User: Confirms or requests modifications
7. Claude: Saves REQUIREMENTS.md
8. Claude: Enters Plan Mode for implementation design