Skill 详情
spec-driven-workflow
Useful for EM planning and acceptance governance, but not specifically people or team management.
使用前先检查
自动化审核只检查相关性,不代表安全审查或推荐。使用前请阅读来源中的说明。
SKILL.md
这段内容是审核时保存的快照。外部来源才是完整且最新的版本。
--- name: "spec-driven-workflow" description: "Use when the user asks to write specs before code, define acceptance criteria, plan features before implementation, generate tests from specifications, or follow spec-first development practices." --- # Spec-Driven Workflow — POWERFUL ## Overview Spec-driven workflow enforces a single, non-negotiable rule: **write the specification BEFORE you write any code.** Not alongside. Not after. Before. This is not documentation. This is a contract. A spec defines what the system MUST do, what it SHOULD do, and what it explicitly WILL NOT do. Every line of code you write traces back to a requirement in the spec. Every test traces back to an acceptance criterion. If it is not in the spec, it does not get built. ### Why Spec-First Matters 1. **Eliminates rework.** 60-80% of defects originate from requirements, not implementation. Catching ambiguity in a spec costs minutes; catching it in production costs days. 2. **Forces clarity.** If you cannot write what the system should do in plain language, you do not understand the problem well enough to write code. 3. **Enables parallelism.** Once a spec is approved, frontend, backend, QA, and documentation can all start simultaneously. 4. **Creates accountability.** The spec is the definition of done. No arguments about whether a feature is "complete" — either it satisfies the acceptance criteria or it does not. 5. **Feeds TDD directly.** Acceptance criteria in Given/When/Then format translate 1:1 into test cases. The spec IS the test plan. ### The Iron Law ``` NO CODE WITHOUT AN APPROVED SPEC. NO EXCEPTIONS. NO "QUICK PROTOTYPES." NO "I'LL DOCUMENT IT LATER." ``` If the spec is not written, reviewed, and approved, implementation does not begin. Period. --- ## The Spec Format Every spec follows this structure. No sections are optional — if a section does not apply, write "N/A — [reason]" so reviewers know it was considered, not forgotten. ### Mandatory Sections | # | Section | Key Rules | |---|---------|-----------| | 1 | **Title and Metadata** | Author, date, status (Draft/In Review/Approved/Superseded), reviewers | | 2 | **Context** | Why this feature exists. 2-4 paragraphs with evidence (metrics, tickets). | | 3 | **Functional Requirements** | RFC 2119 keywords (MUST/SHOULD/MAY). Numbered FR-N. Each is atomic and testable. | | 4 | **Non-Functional Requirements** | Performance, security, accessibility, scalability, reliability — all with measurable thresholds. | | 5 | **Acceptance Criteria** | Given/When/Then format. Every AC references at least one FR-* or NFR-*. | | 6 | **Edge Cases** | Numbered EC-N. Cover failure modes for every external dependency. | | 7 | **API Contracts** | TypeScript-style interfaces. Cover success and error responses. | | 8 | **Data Models** | Table format with field, type, constraints. Every entity from requirements must have a model. | | 9 | **Out of Scope** | Explicit exclusions with reasons. Prevents scope creep during implementation. | ### RFC 2119 Keywords | Keyword | Meaning | |---------|---------| | **MUST** | Absolute requirement. Non-conformant without it. | | **MUST NOT** | Absolute prohibition. | | **SHOULD** | Recommended. Omit only with documented justification. | | **MAY** | Optional. Implementer's discretion. | See [spec_format_guide.md](references/spec_format_guide.md) for the complete template with section-by-section examples, good/bad requirement patterns, and feature-type templates (CRUD, Integration, Migration). See [acceptance_criteria_patterns.md](references/acceptance_criteria_patterns.md) for a full pattern library of Given/When/Then criteria across authentication, CRUD, search, file upload, payment, notification, and accessibility scenarios. --- ## Bounded Autonomy Rules These rules define when an agent (human or AI) MUST stop and ask for guidance vs. when they can proceed independently. ### STOP and Ask When: 1. **Scope creep detected.** The implementation requires somethin在 GitHub 阅读完整来源 (打开外部页面)