Read requirements markdown and generate detailed technical specifications. Analyzes requirements, clarifies ambiguities, and updates the specs document. Use when user has written requirements and wants to generate specs.
Part of the spec-manager agent. This skill analyzes requirements and generates detailed technical specifications.
The user provides a task slug (or task title) as arguments: $ARGUMENTS
If no arguments are provided:
*/requirements.md files in specs/ directoryIf a task title (not slug) is provided, convert it to a slug to find the matching files.
specs/{slug}/requirements.md/init-specs firstInspect the Pipeline: header field in requirements.md:
Pipeline: full (or missing — treat missing as full for backward compatibility): proceed to Step 2 normally.
Pipeline: lite: this slug was initialized as a lite-pipeline task and does not yet have a specs.md file. Calling /specify-with-requirements on a lite task means the user wants to escalate to full pipeline.
In this case:
이 태스크는 lite 파이프라인(`Pipeline: lite`)으로 초기화되어 specs.md가 없습니다.
full 파이프라인으로 escalate 하시겠습니까?
Options: Escalate (recommended) / Cancel.requirements.md header: change Pipeline: lite → Pipeline: full. Also bump Updated: {today}.
b. Create specs/{slug}/specs.md from the standard template (status Pending — will be filled in Step 5 below).
c. If specs/{slug}/plans.md exists and its current Status is not Pending, edit its header to:
> Status: Stale (specs added — re-run /plan-with-specs to regenerate)
and add a row to its Progress Tracking table:
| Escalation | Stale | {today} | | lite→full escalation: specs.md added, plan needs regeneration |
d. Append a Clarification Log entry to the new specs.md (will be added during Step 5 generation) with Question: "lite→full escalation", Answer: "approved by user", today's date.Check that requirements are sufficiently detailed:
If requirements are incomplete or too vague, inform the user about what's missing and ask them to fill in the gaps before proceeding. Do NOT generate specs from empty templates.
Perform thorough analysis of the requirements:
If analysis reveals ambiguities, conflicts, or gaps:
Example clarifications:
Update specs/{slug}/specs.md with comprehensive technical specifications:
# Specs: {Original Task Title}
> Created: {original date}
> Updated: {YYYY-MM-DD}
> Status: Draft
> Requirements: [requirements.md](./requirements.md)
## Overview
{Brief technical overview of what will be built, derived from requirements}
## Technical Specifications
### TS-1: {Spec Name} (from FR-1)
- **Description**: {Technical description}
- **Components Involved**: {List of components/modules}
- **Data Flow**: {How data moves through the system}
- **Implementation Approach**: {High-level approach}
- **Constraints**: {Technical constraints}
### TS-2: {Spec Name} (from FR-2)
{Same structure}
## Architecture
### Component Design
{Describe the components that need to be created or modified}
### Data Flow
{Describe how data flows through the system for this feature}
### Integration Points
{How this feature integrates with existing systems}
## Data Models
### {Model Name}
| Field | Type | Description | Constraints |
|-------|------|-------------|-------------|
| | | | |
## API / Interface Design
### {Endpoint/Function Name}
- **Method**: {GET/POST/etc. or function signature}
- **Path**: {URL path or module path}
- **Input**: {Request body/parameters}
- **Output**: {Response format}
- **Errors**: {Possible error responses}
## Error Handling
| Scenario | Handling Strategy | User Impact |
|----------|-------------------|-------------|
| | | |
## Dependencies
### External
- {Library/service}: {Purpose} - {Version/notes}
### Internal
- {Module/component}: {How it's used}
## Security Considerations
- {Security concern and mitigation}
## Performance Considerations
- {Performance concern and mitigation}
## Open Questions
- {Any remaining unresolved questions}
## Clarification Log
| # | Question | Answer | Date |
|---|----------|--------|------|
| 1 | {Question asked} | {Answer received} | {Date} |
After generating specs, display a summary:
Specs generated for: "{Original Task Title}"
Updated: specs/{slug}/specs.md
Summary:
- {N} technical specifications derived from {M} requirements
- {X} components identified
- {Y} API endpoints/interfaces defined
- {Z} open questions remaining
Please review the generated specs in specs/{slug}/specs.md
If you need to clarify or modify anything, discuss it here.
When specs are finalized, run:
/plan-with-specs {slug}
If the user requests changes or has questions about the generated specs:
If the user requests changes to requirements during this process:
specs/{slug}/requirements.md with the changesspecs/{slug}/specs.md reflecting the changesspecs/{slug}/plans.md status to "Pending (specs updated)"/plan-with-specsplans.md. Mark it stale and let the user explicitly re-run /plan-with-specs.npx skills add datamaker-kr/specify-with-requirements下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer