technical-requirements-interview
Technical Requirements Interview
This skill guides you through a structured interview to derive technical requirements from business requirements.
Prerequisites
- Completed
{base_directory}/requirements/business-requirements.yamlfile - Clear understanding of the problem domain
Interview Process
Rules
- One question at a time - Never ask multiple questions in a single turn
- Business context first - Load and understand business requirements before asking technical questions
- Provide options - Each question includes 2-5 recommended options plus free-form input
- Track progress - All Q&A pairs are immediately appended to
{base_directory}/artifacts/technical-interview.jsonl - Resume capability - If JSONL exists, continue from last question
- Structured output - Generate
technical-requirements.yamlin{base_directory}/requirements/upon completion
Interview Categories
The interview covers these areas in order:
-
Architecture & Patterns
- Overall architecture style
- Application structure
- Component organization
-
Technology Stack
- Programming language
- Frameworks and libraries
- Package management
-
Data Model & Storage
- Data persistence strategy
- Database selection
- Schema design approach
-
API Design
- API style (REST, GraphQL, RPC)
- API framework
- Versioning strategy
-
Security & Authentication
- Authentication method
- Authorization approach
- Secrets management
-
Testing Strategy
- Testing approach (TDD, BDD, etc.)
- Test types (unit, integration, e2e)
- Testing frameworks
-
Development & Tooling
- Development workflow
- Code quality tools
- CI/CD approach
-
Deployment & Distribution
- Deployment target
- Packaging strategy
- Release process
Question Format
Each question follows this structure:
## [Category Name]
**Question:** [Clear, specific question]
**Options:**
1. [Option 1] (Recommended) - [Brief description and rationale]
2. [Option 2] - [Brief description]
3. [Option 3] - [Brief description]
4. Type your own answer
Example Questions
Architecture
## Architecture & Patterns
**Question:** What architecture pattern best fits this project?
**Options:**
1. Monolithic application (Recommended) - Single deployable unit, simpler to develop and deploy initially
2. Microservices - Multiple independent services, better scaling but higher complexity
3. Serverless functions - Event-driven, scales automatically, but vendor lock-in
4. Plugin-based - Core engine with extensible plugins for flexibility
5. Type your own answer
Technology Stack
## Technology Stack
**Question:** Which programming language should be used?
**Options:**
1. TypeScript (Recommended) - Type-safe JavaScript, excellent tooling, large ecosystem
2. Python - Readable, extensive libraries, good for data processing and scripting
3. Go - Fast compilation, excellent concurrency, simple deployment
4. Rust - Memory safety without garbage collection, high performance
5. Type your own answer
Data Storage
## Data Model & Storage
**Question:** What data persistence strategy is appropriate?
**Options:**
1. File-based storage (Recommended) - Simple, portable, no database dependency
2. SQLite - Embedded relational database, good for local tools
3. PostgreSQL - Full-featured relational database, better for complex queries
4. NoSQL (MongoDB, etc.) - Flexible schema, good for document-based data
5. In-memory only - Fast but no persistence, suitable for ephemeral data
6. Type your own answer
JSONL Format
Track all questions and answers in {base_directory}/artifacts/technical-interview.jsonl.
See references/interview-jsonl-spec.md for the complete JSONL schema with field definitions and examples.
Output Format
Generate {base_directory}/requirements/technical-requirements.yaml upon interview completion.
Create directory if it doesn't exist:
mkdir -p {base_directory}/requirements
mkdir -p {base_directory}/artifacts
The output document includes these top-level sections: project, version, generated, business_requirements_ref, architecture, technology_stack, project_structure, data_model, api, security, testing, development, ci_cd, deployment, monitoring, performance, scalability, constraints, trade_offs, and open_questions.
See references/output-spec.md for the complete document specification with all fields, types, and validation rules.
See references/example.yaml for a full example.
Usage
To start a new technical interview:
/technical-requirements-interview [base-directory]
If no directory is provided, auto-detect by looking for requirements/business-requirements.yaml in the current directory.
If not found, prompt the user: "Where are your requirements documents located?"
Wait for the user to provide a path before proceeding. Store as base_directory.
The skill will automatically:
- Load business requirements from
{base_directory}/requirements/business-requirements.yamlas context - Check for existing
{base_directory}/artifacts/technical-interview.jsonl - Resume from last question if found
- Ask targeted technical questions
- Generate
technical-requirements.yamlin{base_directory}/requirements/when complete - Save interview transcript to
{base_directory}/artifacts/technical-interview.jsonl
Decision Tracking
Each technical decision should include:
- Decision - What was decided
- Rationale - Why this approach
- Alternatives considered - What else was evaluated
- Trade-offs - What was gained/lost
- Reversibility - How hard to change later
Best Practices
- Align with business needs - Every technical choice should support business requirements
- Consider constraints - Respect timeline, budget, and skill constraints
- Start simple - Choose simpler solutions over complex ones when possible
- Plan for change - Make reversible decisions where possible
- Document rationale - Future you will thank present you
Review & Gap Analysis
After generating technical-requirements.yaml, automatically perform a gap analysis:
Alignment Check
Business Alignment:
- Architecture supports all functional requirements
- Technology choices align with business constraints
- Timeline is realistic for technical scope
- Budget constraints respected in tool/service choices
Completeness Check:
Architecture:
- Architecture pattern is clearly defined
- Components and responsibilities documented
- Data flow is clear
- Integration points identified
Technology Stack:
- Language and runtime specified
- Frameworks and libraries listed
- Versions specified where critical
- Alternatives considered and documented
Data Model:
- Storage strategy defined
- Schema approach documented
- Migration strategy if using database
- Data validation approach specified
API:
- API style chosen (REST/GraphQL/RPC)
- Framework selected
- Versioning strategy defined
- Documentation approach specified
Security:
- Authentication method defined
- Authorization model specified
- Secrets management approach
- Input/output validation strategy
Testing:
- Testing strategy defined (TDD/BDD/etc)
- Test types specified (unit/integration/e2e)
- Frameworks selected
- Coverage targets set
Deployment:
- Deployment target identified
- Packaging format chosen
- CI/CD approach defined
- Release process documented
Consistency Check
- No contradictions between technical decisions
- Technology choices compatible with each other
- Performance targets achievable with chosen stack
- Security approach matches data sensitivity
Trade-off Analysis
Review documented trade-offs:
- Each trade-off has clear rationale
- Alternatives were seriously considered
- Consequences understood and acceptable
- Reversibility assessed
Gap Identification
Common Gaps to Check:
- Missing error handling strategy
- Undocumented edge cases
- Unaddressed scalability concerns
- Missing monitoring/observability plan
- Unclear data migration path
- Missing security threat model
- Undocumented performance budgets
- Missing disaster recovery plan
- Unclear dependency versioning strategy
- Missing code quality tooling
Open Questions Review
Check if open questions are:
- Clearly stated
- Have identified options
- Impact is understood
- Decision timeline defined
Review Output
Generate a gap analysis report with:
gap_analysis:
business_alignment_score: [1-10]
completeness_score: [1-10]
consistency_score: [1-10]
gaps_found:
- category: [category]
issue: [description]
severity: [high/medium/low]
recommendation: [how to address]
business_impact: [what business requirement this affects]
strong_areas:
- [what's well-defined]
trade_offs_review:
- decision: [decision]
assessment: [well-reasoned/needs-review/concerning]
notes: [additional context]
open_questions_assessment:
- question: [question]
blocking: [yes/no]
recommendation: [resolve now/later/accept uncertainty]
suggestions:
- [improvement suggestions]
ready_for_implementation: [yes/no/with-modifications]
If critical gaps found (severity: high or blocking open questions), ask:
"I've identified some gaps in the technical requirements that could impact implementation. Would you like to:
- Address them now (I'll ask follow-up questions)
- Proceed to implementation planning (address during development)
- Review the gaps and decide"
Next Steps
After completing the technical requirements interview and gap analysis:
- Review gap analysis report
- Address any critical gaps or blocking questions
- Validate technical choices are realistic
- Use
/implementation-plannerto generate implementation plans
Examples
See references/example.yaml for a complete sample output.
More from validkeys/sherpy
business-requirements-interview
Conducts structured interviews to gather comprehensive business requirements. Asks one question at a time with multiple-choice options, tracks progress in JSONL format, and generates structured business-requirements.yaml output. Use when starting a new project or feature to ensure clear understanding of goals, scope, users, and success criteria.
47implementation-planner
Generates detailed implementation plans with milestones and tasks from business and technical requirements. Embeds best practices including task sizing (30m-2.5h), style anchors, TDD requirements, and quality constraints. Outputs milestones.yaml and milestone-m*.tasks.yaml files ready for development.
43implementation-plan-review
Reviews generated implementation plans against best practices including task sizing (30m-2.5h), style anchors, TDD requirements, drift prevention, and quality constraints. Validates milestones.yaml and task files for completeness, alignment, and development readiness.
40implementation-plan-best-practices
Educational guide on best practices for creating implementation plans that prevent drift. Covers style anchors, task sizing, TDD requirements, affirmative instructions, drift handling, and quality gates. Use when creating or improving implementation plans to ensure they follow proven patterns.
38sherpy-flow
Orchestrates the full Sherpy planning workflow from requirements to QA-ready delivery plan. Detects which artifacts already exist, shows a visual pipeline status, and guides through each skill in sequence — gap analysis, business interview, technical interview, implementation planning, plan review, definition of done, architecture decisions, delivery timeline, QA test plan, and summary generation. Automatically organizes all artifacts into a structured docs/ folder.
32create-continuation-prompt
Creates a continuation prompt and posts to the console for easy context clearing and resume
32