一键导入
requirements
Interactive requirement gathering producing technical specifications
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Interactive requirement gathering producing technical specifications
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Create Architecture Decision Record
Design API contracts with OpenAPI specifications
Assess architecture decisions tradeoffs and edge cases
Design database schemas with migrations and repository interfaces
Break requests into parallel tasks for team execution
Audit dependencies for vulnerabilities and plan upgrades
| name | requirements |
| description | Interactive requirement gathering producing technical specifications |
| allowed-tools | Read, Write, Glob, Grep |
Gather requirements interactively to produce a package specification.
You are entering an interactive requirements-gathering session. Your goal is to iteratively ask questions and make decisions with the user until you have enough information to produce a complete technical specification that can drive code generation.
Do NOT write code in this session. The output is a specification document only.
Start by understanding the big picture. Ask about:
Ask these one group at a time. Wait for answers before proceeding.
Narrow down the scope. Ask about:
For each major design choice, present the user with 2-4 options including tradeoffs:
For each decision:
Record each decision with rationale.
Ask about failure modes and boundary conditions:
Based on all gathered information, produce a spec document at docs/spec/biz/{feature-name}-spec.md:
# {Feature Name} -- Technical Specification
## Overview
- **Problem statement**: {what problem this solves}
- **Goals**: {what success looks like}
- **Non-goals**: {what's explicitly out of scope}
## Use Cases
### UC-1: {Name}
- **Actor**: {who}
- **Preconditions**: {what must be true}
- **Flow**: {step-by-step}
- **Postconditions**: {what's true after}
- **Error scenarios**: {what can go wrong}
## Data Models
### {Entity Name}
| Field | Type | Constraints | Description |
|-------|------|-------------|-------------|
| id | UUIDv7 | PK | {description} |
## API Contracts
### {Operation Name}
- **Method/Interface**: {details}
- **Input**: {request shape}
- **Output**: {response shape}
- **Errors**: {error codes and conditions}
## Error Handling
| Error Code | Condition | HTTP Status | User Message |
|------------|-----------|-------------|-------------|
## Non-Functional Requirements
- **Latency**: {p50, p99 targets}
- **Throughput**: {requests/sec}
- **Availability**: {SLA}
- **Data retention**: {policy}
## Architecture Decisions
| # | Decision | Rationale |
|---|----------|-----------|
## Dependencies
- {package/service}: {what for}
## Testing Strategy
- **Unit tests**: {what to test, coverage target}
- **Integration tests**: {what to test}
- **Edge cases to cover**: {list}
## Open Questions
- {anything unresolved}
Present the draft spec and ask:
If the user has feedback, incorporate it and present the updated spec. Repeat until the user approves.
When the spec is approved:
/plan with codegen.plan.llm for implementation planning/decompose to break into parallel tasksdocs/spec/.llm/PROGRESS.md with a note about the new spec$ARGUMENTS