원클릭으로
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