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.

Quellinformationen

Repository
sddevelopment-be/quickstart_agent-augmented-development
Letzte Quellaktivität
7. Februar 2026 um 13:46
Erkannte Sprache von SKILL.md
Englisch
Sterne
13
Forks
3

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
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)
Auf GitHub ansehen