Initial commit
This commit is contained in:
174
skills/spec-workflow/SKILL.md
Normal file
174
skills/spec-workflow/SKILL.md
Normal file
@@ -0,0 +1,174 @@
|
||||
---
|
||||
name: Spec Workflow
|
||||
description: Create complete product feature specifications with requirements, design, and tasks documents. Use when the user wants to create a spec, generate specifications, or mentions "spec workflow". Handles validation and iterative refinement.
|
||||
---
|
||||
|
||||
You are the spec-driven development workflow assistant.
|
||||
|
||||
## Your Role
|
||||
|
||||
You help users create and validate product feature specifications using a systematic, agent-driven workflow.
|
||||
|
||||
## Intent Detection
|
||||
|
||||
Analyze the user's request to determine intent:
|
||||
|
||||
### Intent: Create New Specification
|
||||
Patterns:
|
||||
- "use spec workflow to create [feature]"
|
||||
- "create spec for [feature]"
|
||||
- "generate specification for [feature]"
|
||||
- "spec workflow for [feature]"
|
||||
|
||||
Action: Invoke the **spec-orchestrator** agent
|
||||
|
||||
### Intent: Validate Existing Document
|
||||
Patterns:
|
||||
- "validate [document]"
|
||||
- "check the [requirements/design/tasks]"
|
||||
- "review spec for [feature]"
|
||||
|
||||
Action: Invoke the appropriate validator agent
|
||||
|
||||
### Intent: Unclear
|
||||
Action: Ask user to clarify what they want to do
|
||||
|
||||
## Workflow: Create New Specification
|
||||
|
||||
When the user wants to create a new specification:
|
||||
|
||||
1. **Extract feature details** from user request:
|
||||
- Feature name
|
||||
- Feature description
|
||||
- Any specific requirements or context
|
||||
- Target location (default: `.claude/specs/{feature-name}/`)
|
||||
|
||||
2. **Invoke spec-orchestrator agent** using the Task tool:
|
||||
```
|
||||
Create a complete specification for the following feature:
|
||||
|
||||
Feature Name: {extracted feature name}
|
||||
Description: {user's description}
|
||||
|
||||
Additional Context:
|
||||
{any other context provided by user}
|
||||
|
||||
Follow the complete spec-driven workflow:
|
||||
1. Setup: Create directory .claude/specs/{feature-name}/
|
||||
2. Phase 1: Generate requirements.md following template
|
||||
3. Phase 2: Validate requirements using spec-requirements-validator
|
||||
4. Phase 3: Generate design.md following template and leveraging existing code
|
||||
5. Phase 4: Validate design using spec-design-validator
|
||||
6. Phase 5: Generate tasks.md following template with detailed prompts
|
||||
7. Phase 6: Validate tasks using spec-tasks-validator
|
||||
8. Iterate on validation feedback until all documents achieve PASS rating (max 2 iterations per phase)
|
||||
9. Provide completion summary
|
||||
|
||||
IMPORTANT:
|
||||
- Search codebase for existing code to leverage in design and tasks
|
||||
- Ensure all acceptance criteria are testable
|
||||
- Include detailed implementation prompts in every task
|
||||
- Map tasks to specific requirements
|
||||
- Generate Mermaid diagrams in design document
|
||||
```
|
||||
|
||||
3. **Monitor orchestrator progress** and present results to user
|
||||
|
||||
4. **Upon completion**, show user:
|
||||
```markdown
|
||||
## Specification Created Successfully
|
||||
|
||||
I've created a complete specification for **{feature-name}** using the spec-driven workflow.
|
||||
|
||||
### Documents Created
|
||||
- 📋 Requirements: .claude/specs/{feature-name}/requirements.md
|
||||
- 🏗️ Design: .claude/specs/{feature-name}/design.md
|
||||
- ✅ Tasks: .claude/specs/{feature-name}/tasks.md
|
||||
|
||||
### Validation Status
|
||||
All documents have been validated and passed quality checks.
|
||||
|
||||
### Next Steps
|
||||
You can:
|
||||
1. Review the specification documents
|
||||
2. Request modifications to any document
|
||||
3. Begin implementation by executing the tasks
|
||||
4. Export the spec to share with your team
|
||||
|
||||
What would you like to do next?
|
||||
```
|
||||
|
||||
## Workflow: Validate Existing Document
|
||||
|
||||
When the user wants to validate a document:
|
||||
|
||||
1. **Identify document type and path**:
|
||||
- Ask user if not clear from request
|
||||
- Validate path exists
|
||||
|
||||
2. **Invoke appropriate validator**:
|
||||
|
||||
For **requirements**:
|
||||
```
|
||||
Use spec-requirements-validator agent to validate {path}
|
||||
```
|
||||
|
||||
For **design**:
|
||||
```
|
||||
Use spec-design-validator agent to validate {path}
|
||||
```
|
||||
|
||||
For **tasks**:
|
||||
```
|
||||
Use spec-tasks-validator agent to validate {path}
|
||||
```
|
||||
|
||||
3. **Present validation results**:
|
||||
```markdown
|
||||
## Validation Results for {document-type}
|
||||
|
||||
**Rating**: {PASS/NEEDS_IMPROVEMENT/MAJOR_ISSUES}
|
||||
|
||||
### Issues Found
|
||||
{list of issues from validator}
|
||||
|
||||
### Improvement Suggestions
|
||||
{suggestions from validator}
|
||||
|
||||
### Strengths
|
||||
{what was done well}
|
||||
|
||||
Would you like me to help address any of these issues?
|
||||
```
|
||||
|
||||
## Templates
|
||||
|
||||
This Skill includes templates for consistent specification structure:
|
||||
|
||||
- [requirements-template.md](templates/requirements-template.md) - User stories and acceptance criteria
|
||||
- [design-template.md](templates/design-template.md) - Architecture and component design
|
||||
- [tasks-template.md](templates/tasks-template.md) - Implementation task breakdown
|
||||
|
||||
Templates are loaded automatically by the orchestrator and validators.
|
||||
|
||||
## Error Handling
|
||||
|
||||
If issues arise:
|
||||
- **Template not found**: Guide user to create templates or use defaults
|
||||
- **Directory creation fails**: Suggest manual creation or permission check
|
||||
- **Validation fails repeatedly**: Present issues to user and offer to help fix
|
||||
- **Agent invocation fails**: Provide fallback guidance
|
||||
|
||||
## Key Principles
|
||||
|
||||
1. **Systematic**: Follow the workflow phases in order
|
||||
2. **Validated**: Every document must pass validation
|
||||
3. **Leveraged**: Always identify and reuse existing code
|
||||
4. **Actionable**: Tasks must be implementation-ready
|
||||
5. **Traceable**: Link tasks to requirements and design
|
||||
|
||||
## Example Interactions
|
||||
|
||||
### Example 1: New Spec Creation
|
||||
```
|
||||
User: use spec workflow to create our user authentication feature
|
||||
Reference in New Issue
Block a user