
spec-driven-dev
by AsiaOstrich
Universal, language-agnostic development standards for software projects. Includes coding standards, git workflows, testing guidelines, documentation structure, and AI collaboration rules.
SKILL.md
name: spec-driven-dev description: | Guide Spec-Driven Development (SDD) workflow for planning changes before implementation. Use when: creating specs, proposals, planning features, using OpenSpec or similar tools. Keywords: spec, specification, SDD, proposal, openspec, design doc, 規格, 提案, 設計文件.
Spec-Driven Development Guide
Language: English | 繁體中文
Version: 1.0.0 Last Updated: 2025-12-30 Applicability: Claude Code Skills
Purpose
This skill guides you through Spec-Driven Development (SDD), ensuring changes are planned, documented, and approved before implementation.
Quick Reference
SDD Workflow
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Proposal │───▶│ Review │───▶│Implementation│
└──────────────┘ └──────────────┘ └──────────────┘
│
▼
┌──────────────┐ ┌──────────────┐
│ Archive │◀───│ Verification │
└──────────────┘ └──────────────┘
Workflow Stages
| Stage | Description | Output |
|---|---|---|
| Proposal | Define what to change and why | proposal.md |
| Review | Stakeholder approval | Approval record |
| Implementation | Execute approved spec | Code, tests, docs |
| Verification | Confirm implementation matches spec | Test results |
| Archive | Close and archive | Archived spec with links |
Core Principles
| Principle | Description |
|---|---|
| Spec First | No functional changes without approved spec |
| Tool Priority | Use SDD tool commands when available |
| Methodology > Tooling | SDD works with any tool or manual process |
Exceptions to "Spec First"
- Critical hotfixes (restore service immediately, document later)
- Trivial changes (typos, comments, formatting)
Proposal Template
# [SPEC-ID] Feature Title
## Summary
Brief description of the proposed change.
## Motivation
Why is this change needed? What problem does it solve?
## Detailed Design
Technical approach, affected components, data flow.
## Acceptance Criteria
- [ ] Criterion 1
- [ ] Criterion 2
## Dependencies
List any dependencies on other specs or external systems.
## Risks
Potential risks and mitigation strategies.
Detailed Guidelines
For complete standards, see:
AI-Optimized Format (Token-Efficient)
For AI assistants, use the YAML format files for reduced token usage:
- Base standard:
ai/standards/spec-driven-development.ai.yaml
Integration with Other Standards
With Commit Messages
Reference spec ID in commit messages:
feat(auth): implement login feature
Implements SPEC-001 login functionality with OAuth2 support.
Refs: SPEC-001
With Check-in Standards
Before checking in code for a spec:
- Spec is approved
- Implementation matches spec
- Tests cover acceptance criteria
- Spec ID referenced in PR
With Code Review
Reviewers should verify:
- Change matches approved spec
- No scope creep beyond spec
- Spec acceptance criteria met
Examples
✅ Good Practices
# SPEC-001 Add OAuth2 Login
## Summary
Add Google OAuth2 login to allow users to sign in with their Google accounts.
## Motivation
- Reduce friction for new users
- Improve security by not storing passwords
## Acceptance Criteria
- [ ] Users can click "Sign in with Google" button
- [ ] New users are automatically registered
- [ ] Existing users are linked to Google account
❌ Bad Practices
# Add login
Adding login.
- Missing spec ID
- No motivation
- No acceptance criteria
Common SDD Tools
| Tool | Description | Command Examples |
|---|---|---|
| OpenSpec | Specification management | /openspec proposal, /openspec approve |
| Spec Kit | Lightweight spec tracking | /spec create, /spec close |
| Manual | No tool, file-based | Create specs/SPEC-XXX.md manually |
Best Practices
Do's
- ✅ Keep specs focused and atomic (one change per spec)
- ✅ Include clear acceptance criteria
- ✅ Link specs to implementation PRs
- ✅ Archive specs after completion
Don'ts
- ❌ Start coding before spec approval
- ❌ Modify scope during implementation without updating spec
- ❌ Leave specs in limbo (always close or archive)
- ❌ Skip verification step
Configuration Detection
This skill supports project-specific configuration.
Detection Order
- Check for SDD tool in workspace (OpenSpec, Spec Kit, etc.)
- Check
CONTRIBUTING.mdfor spec workflow documentation - If not found, default to manual file-based workflow
First-Time Setup
If no configuration found:
- Ask the user: "This project hasn't configured SDD. Would you like to set up a specs directory?"
- Suggest documenting in
CONTRIBUTING.md:
## Spec-Driven Development
We use Spec-Driven Development for all non-trivial changes.
### Process
1. Create proposal in `specs/` directory
2. Get approval from team lead
3. Implement and reference spec in PR
4. Archive spec after merge
### Spec Template
See `specs/TEMPLATE.md`
Related Standards
Version History
| Version | Date | Changes |
|---|---|---|
| 1.0.0 | 2025-12-30 | Initial release |
License
This skill is released under CC BY 4.0.
Source: universal-dev-standards
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
1ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon


