What problem does it solve? Turning a vague feature idea into a rigorous, implementation-agnostic specification is hard: requirements get mixed with tech choices, edge cases are missed, and quality gates are configured inconsistently. This Skill enforces a disciplined spec-writing protocol that produces testable requirements and records QA decisions before any planning begins. ## Core Features & Use Cases - Structured Spec Generation: Creates .swarm/spec.md with numbered functional requirements (FR-###), measurable success criteria (SC-###), Given/When/Then user scenarios, and [NEEDS CLARIFICATION] markers resolved through a critic-assisted clarification funnel. - Codebase Reality Checks & Archiving: Verifies referenced code actually exists before specifying, and archives prior spec versions to .swarm/spec-archive/ before overwriting. - Mandatory QA Gate Dialogue: Presents eleven quality gates (reviewer, test_engineer, sast, drift_check, council modes, and more) with defaults, then persists the user's election to .swarm/context.md so planning cannot proceed without it. - Optional Council Spec Review: When the council_general_review gate is enabled, runs web research and dispatches generalist, skeptic, and domain-expert agents in parallel to critique the draft spec. - External Plan Import: Reverse-engineers a spec from a user-supplied implementation plan and validates the plan against task-format rules. - Use Case: A developer says "specify a notification preferences feature" — the Skill scans the codebase, consults SME research, writes a technology-agnostic spec, asks the user to confirm QA gates and parallelization, then hands off to clarification or planning. ## Quick Start Ask the agent to specify a new feature, for example: "Specify a feature that lets users export their chat history from the vault."