Skip to main content

spec-create

Create functional specification for complex features: detailed requirements, user scenarios, constraints, acceptance criteria. Bridges strategic intent and implementation with MoSCoW prioritization and Given/When/Then scenarios.

ソース情報

リポジトリ
sddevelopment-be/quickstart_agent-augmented-development
ソースの最終更新活動
2026年2月7日 13:46
検出された SKILL.md の言語
英語
スター
13
フォーク
3

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
spec-create
description
Create functional specification for complex features: detailed requirements, user scenarios, constraints, acceptance criteria. Bridges strategic intent and implementation with MoSCoW prioritization and Given/When/Then scenarios.
version
1.0.0
type
specification
category
documentation
# Spec Create: Specification-Driven Development Create comprehensive functional specifications for complex features before implementation. Specifications translate requirements into concrete implementation guidance while remaining independent of specific acceptance tests or architectural decisions. ## Instructions Initialize as **Scribe Sally** or **Analyst Annie** to create a specification. 1. **Identify scope:** - Feature name and purpose - Target personas (see `docs/audience/`) - Related ADRs or design documents 2. **Gather requirements:** - Functional requirements (MUST/SHOULD/COULD/WON'T) - Non-functional requirements (performance, security, usability) - Business rules and constraints - Edge cases and error scenarios 3. **Write specification using template:** ```markdown # Specification: [Feature Name] **Status:** Draft **Created:** YYYY-MM-DD **Author:** [Agent Name] **Stakeholders:** [Who needs to review/approve] **Target Personas:** [List from docs/audience/] --- ## User Story **As a** [persona] **I want** [capability] **So that** [benefit] **Alternative: Acceptance Criterion Format** **Given** [context] **When** [action] **Then** [outcome] **Unless** [exception] --- ## Overview Brief description of the feature (2-3 paragraphs): - What problem does this solve? - Why is it needed now? - What constraints exist? **Related Documentation:** - Related ADRs: [links] - Related Specifications: [links] - Background: [context documents] --- ## Functional Requirements (MoSCoW) ### MUST Have (Critical - Feature unusable without these) **FR-M1:** System MUST [requirement] - **Rationale:** [Why this is critical] - **Personas Affected:** [Primary users] - **Success Criteria:** [How to verify] **FR-M2:** System MUST [requirement] ... ### SHOULD Have (Important - Feature degraded without these) **FR-S1:** System SHOULD [requirement] - **Rationale:** [Why important] - **Workaround if omitted:** [Alternative approach] ### COULD Have (Nice to have - Enhances experience) **FR-C1:** System COULD [requirement] - **Rationale:** [Why beneficial] - **If omitted:** [Impact on users] ### WON'T Have (Explicitly out of scope) **FR-W1:** [Feature/capability] - **Rationale:** [Why excluded] - **Future Consideration:** [When to revisit] --- ## Scenarios and Behavior ### Scenario 1: [Happy Path Name] **Context:** [When this applies] **Given:** [Initial state] **And:** [Additional context] **When:** [User action] **And:** [Additional actions] **Then:** [Expected outcome] **And:** [Additional outcomes] **Personas:** [Who this applies to] **Priority:** MUST | SHOULD | COULD --- ### Scenario 2: [Error Case Name] **Context:** [When this applies] **Given:** [Initial state with error condition] **When:** [User action] **Then:** [Error handling outcome] **And:** [System state after error] **Personas:** [Who encounters this] **Priority:** MUST | SHOULD --- ## Constraints and Business Rules ### Business Rules **BR1:** [Rule statement] - **Applies to:** [Which scenarios] - **Enforcement:** [How validated] **BR2:** [Rule statement] ... ### Technical Constraints **TC1:** [Constraint description] - **Measurement:** [How to verify] - **Rationale:** [Why this constraint exists] ### Non-Functional Requirements (MoSCoW) **NFR-M1 (MUST):** [Requirement] - **Example:** [Concrete example] - **Measurement:** [Metrics] - **Verification:** [Testing approach] --- ## Open Questions ### Unresolved Requirements - [ ] **Q1:** [Question about requirements] - **Assigned to:** [Who will answer] - **Target Date:** [When needed] - **Blocking:** [What can't proceed without answer] ### Design Decisions Needed - [ ] **D1:** [Decision point] - **Options:** (A) ..., (B) ..., (C) ... - **Decision Maker:** [Who decides] - **Context:** [Why decision needed] ### Clarifications Required - [ ] **C1:** [What needs clarification] - **Who to ask:** [Stakeholder] - **Why it matters:** [Impact on implementation] --- ## Out of Scope **Explicitly NOT included in this specification:** 1. **[Feature/capability]** - **Reason:** [Why excluded] - **Future:** [When/if to consider] --- ## Acceptance Criteria Summary **This feature is DONE when:** - [ ] All MUST requirements (FR-M*) implemented and verified - [ ] All SHOULD requirements (FR-S*) implemented OR documented workarounds exist - [ ] All MUST scenarios pass acceptance tests - [ ] All business rules (BR*) enforced in code - [ ] All technical constraints (TC*) met and verified - [ ] Open questions resolved or documented for future iterations - [ ] Acceptance tests derived from scenarios are passing - [ ] Documentation updated - [ ] Target personas have validated feature meets their needs --- ## Traceability ### Derives From (Strategic) - **Strategic Goal:** [High-level objective] - **User Need:** [Problem being solved] - **Related ADRs:** [Architecture decisions] ### Feeds Into (Tactical) - **Acceptance Tests:** [Test files/scenarios] - **Implementation Tasks:** [Task IDs or files] - **API Documentation:** [API specs or contracts] ### Related Specifications - **Dependencies:** [Specs that must be complete first] - **Dependents:** [Specs that depend on this one] - **Cross-References:** [Related features] --- ## Approval ### Reviewers | Role | Name | Date | Status | Comments | |------|------|------|--------|----------| | Implementer | [Agent] | - | ⏳ Pending | - | | Architect | Alphonso | - | ⏳ Pending | - | | Target Persona | [Name] | - | ⏳ Pending | - | | Stakeholder | [Name] | - | ⏳ Pending | - | ### Sign-Off **Final Approval:** - **Date:** [When approved] - **Approved By:** [Authority] - **Status:** Draft | Approved | Implemented --- ## Metadata **Tags:** `#feature-spec` `#[domain]` `#[milestone]` **Related Files:** - Template: `docs/templates/specifications/feature-spec-template.md` - Persona: [Links to persona documents] - ADR: [Links to relevant ADRs] - Tests: [Links to test files] **Navigation:** - Previous Spec: [Link] - Next Spec: [Link] - Parent Spec: [Link if hierarchical] ``` 4. **Location:** - Save in `specifications/[domain]/[feature-name].md` - Create domain directory if needed 5. **Review cycle:** - Draft: Initial creation - Review: Stakeholder feedback - Approved: Ready for implementation - Implemented: Feature complete, spec frozen ## When to Create Specifications ### Create Spec For ✅ - Complex features spanning multiple components - Features requiring cross-team coordination - API contracts needing stakeholder agreement - Features with security or performance constraints - Workflows requiring step-by-step definition - Features with multiple personas ### Skip Spec For ❌ - Simple CRUD operations (use acceptance tests directly) - Bug fixes (use directive 028: test-first bug fixing) - Architectural decisions (use ADRs instead) - Internal utilities (document in code) ## Spec vs. ADR vs. Acceptance Test | Document Type | Purpose | When | Lifecycle | |---------------|---------|------|-----------| | **Specification** | Detailed functional requirements | Complex features | Living (evolves during dev) | | **ADR** (Directive 018) | Architectural decision rationale | Significant tech choices | Immutable once accepted | | **Acceptance Test** (Directive 016) | Executable behavioral contract | All user-facing features | Frozen once passing | **Use all three together:** 1. **Spec** defines WHAT to build (requirements, scenarios) 2. **ADR** explains HOW technical choices were made (architecture) 3. **Acceptance Tests** verify DONE (executable scenarios) ## Example Usage ``` User: We need to implement a real-time execution dashboard for the LLM service Agent (Scribe Sally): Creating specification... 1. Identified scope: - Feature: Real-Time Execution Dashboard - Personas: Software Engineer (primary), Cost-Conscious Developer - Related ADRs: ADR-032 (dashboard architecture) 2. Gathered requirements: - MUST: Real-time task updates via WebSocket (<100ms latency) - MUST: Cost tracking (today/month/total) - MUST: File-based task tracking (preserve Git audit trail) - SHOULD: Metrics visualization (charts) - COULD: Task filtering by agent 3. Created specification: - Location: specifications/llm-dashboard/real-time-execution-dashboard.md - Format: MoSCoW requirements (8 MUST, 5 SHOULD, 4 COULD, 4 WON'T) - Scenarios: 6 scenarios (4 happy path, 2 error cases) - Constraints: WebSocket latency <100ms, localhost-only - Traceability: Links to ADR-032, telemetry API, task files 4. Status: DRAFT → awaiting stakeholder review Next steps: - Review with Human-in-Charge (stakeholder) - Architect review (ADR alignment check) - Approve and mark ready for implementation - Derive acceptance tests from scenarios ``` ## Integration with Workflow **Before Implementation:** ``` 1. /spec-create ← Create specification 2. Review with stakeholders 3. Architect review (ADR alignment) 4. Approve specification 5. /iterate ← Implement using spec as guide ``` **During Implementation:** ``` - Refer to spec for requirements - Update spec if understanding evolves - Derive acceptance tests from scenarios - Link implementation tasks to spec sections ``` **After Implementation:** ``` - Mark spec status: Implemented - Freeze spec (becomes reference doc) - Archive in specifications/ directory ``` ## Related Skills - `/iterate` - Implement features defined in specifications - `/review` - Architect reviews spec for ADR alignment - `architect-adr` - Create ADR for architectural decisions - `target-audience-fit` - Validate spec addresses target personas ## References - **Directive 034:** `.github/agents/directives/034_spec_driven_development.md` - **Approach:** `.github/agents/approaches/spec-driven-development.md` - **Template:** `docs/templates/specifications/feature-spec-template.md` - **Directive 016:** `.github/agents/directives/016_acceptance_test_driven_development.md` (ATDD) - **Directive 018:** `.github/agents/directives/018_traceable_decisions.md` (ADRs) - **Directive 022:** `.github/agents/directives/022_audience_oriented_writing.md` (Target personas)
GitHubで見る