ワンクリックで
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