Skip to content
Development
Skill

/swarm-spec

Requirements phase — a clarifying, options-first stakeholder interview that removes confusion and assumptions (not a relentless grilling) and produces a validated SRS + per-feature specs with EARS acceptance criteria and ISO 25010 NFRs. Use to start a new project's requirements,

From plugin
swarmvault
615 skills

Claude Code

$ npx -y skills add AnmarHani/SwarmVault --skill swarm-spec --agent claude-code

SKILL.md

swarm-spec.SKILL.md
name: swarm-spec
description: Requirements phase — a clarifying, options-first stakeholder interview that removes confusion and assumptions (not a relentless grilling) and produces a validated SRS + per-feature specs with EARS acceptance criteria and ISO 25010 NFRs. Use to start a new project's requirements, gather/analyze/specify/validate requirements, stress-test a plan, or mine requirements from an existing codebase (brownfield). Also handles requirement changes after validation.

swarm-spec — requirements phase

Quality here is leverage: every later phase builds on this document. Expect the strongest available model — if this session runs a lesser tier, say so and let the user decide.

Pick a planning mode first

Requirements work isn't an interrogation — the goal is to **remove confusion and unstated assumptions**, not to make the user answer a hundred questions. Before diving in, offer how much to involve them (recommend **hybrid**; they can switch anytime):

  • **ask-each** — put every genuinely uncertain requirement to the user before locking it.

Maximum control, slowest.

  • **recommend-all** — proceed on your recommendations/assumptions for *all* features, record

each assumption, and surface them together for one batch review. Fastest.

  • **hybrid** *(default)* — ask on the high-stakes or truly ambiguous decisions; assume sensible

defaults on the rest and log them. The user may also scope it ("ask me about auth and billing, assume the rest").

Whatever the mode, **every assumption is recorded** (in the question queue, status `ASSUMED`) so the closing summary can show exactly what you decided for them.

Clarify, don't grill

Only *decisions* go to the user; *facts* are looked up (codebase, vault, web). For each decision surfaced: **lead with a recommendation**, state the assumption behind it, list the alternatives, and accept any free-text answer. If something is only mildly uncertain and the mode allows, assume the sensible default and note it rather than asking.

**The question queue** — `30 Plans/<P>/question-queue.md` (machine lane) — keeps a long conversation honest across sessions and compaction:

  • Every item gets an ID + status: `OPEN / ASKED / ANSWERED / ASSUMED / PARTIAL / PARKED`.
  • An answer that resolves other items: cross-mark them with the answer's ID.
  • The user changes topic or adds a requirement mid-stream: APPEND a new branch; the main track

is never dropped. Return to open items before the phase can complete.

  • Re-read the queue on resume — it, not the transcript, is the memory.

Probe the quality dimensions explicitly, even unprompted (offer defaults so this stays light): performance, security, usability, reliability (ISO 25010: functional suitability, performance efficiency, compatibility, usability, reliability, security, maintainability, portability). Ask about interfaces (Web/Mobile/Desktop/TUI/CLI/none), stakeholders, constraints (budget, stack, compliance), and what is explicitly OUT of scope.

Brownfield mode (existing code)

Mine first, ask second — the repo is a stakeholder whose answers are already written down. Reverse-engineer requirements from README/docs/tests/code into specs marked `status: mined-draft`, each statement carrying provenance (`file:line`). Present for batch validation; interview only gaps, conflicts, and low-confidence items. Never re-ask what the sources answer.

Outputs (human lane, in repo `docs/`, mirrored to vault `30 Plans/`)

  • **`docs/SRS.md`** — vision, stakeholders, scope in/out, constraints, FR index with

MoSCoW priorities, NFRs in EARS notation, traceability scheme, build milestones, changelog, glossary.

  • **`docs/specs/FR-XX-<slug>.md`** per feature — story, details, acceptance criteria

(EARS), edge cases, `requires:` dependencies. Template: `90 Templates/spec.md`.

EARS patterns: ubiquitous ("The X shall…"), event ("WHEN … shall…"), state ("WHILE …"), unwanted ("IF … THEN …"), optional ("WHERE …"). Every FR: unique ID, priority, ≥1 testable criterion, edge cases considered.

Validation gate (ends the phase)

Don't make the user read the whole SRS to approve it. First present a **review summary** they can skim in a minute, then point them at the full doc for anything they want to drill into:

  • **What we're building** — one plain-language paragraph.
  • **Features** — each FR as one line: `FR-07 — resume any project from cold state (Must)`.
  • **Key decisions** — the choices that shape the build (stack, interfaces, scope boundaries).
  • **Assumptions I made for you** — every `ASSUMED` item, so a wrong guess is easy to catch.
  • **Explicitly out of scope** — so silence isn't mistaken for agreement.
  • **Open questions** — anything still `OPEN/PARKED`.

Invite a quick "OK" or targeted changes. On approval, flip `status: draft → validated`. Then ask the **mode question**: gated (user verifies each milestone) or auto (sweeps self-verify, no stops) — record in flow-state along with `phase: design`.

Changes after validation (requirements management)

New/changed requirement → tracker entry + SRS changelog + version bump + propagate to every artifact that mentions it (specs, design, tickets) via FR-ID references. Flag impacted downstream work; never edit silently.

--- *Influences: Pocock's grilling & to-spec; superpowers brainstorming; Jeffallan's feature-forge & spec-miner; ISO 25010; EARS; workingsoftware.dev NFR guide — see CREDITS.md.*

Read more
@anmarhani
Ships withswarmvault

Your AI agents don't synchronise. SwarmVault does. One shared memory for Claude Code, Codex, and any other CLI agent. Real software engineering: requirements → design → tickets → review. 14 skills, the best of everything combined.

Stars on GitHub

Momentum

stars in total
6
Star history of AnmarHani/SwarmVault on GitHub, a chart by star-history.com

Other skills on swarmvault.

swarm-debug

swarm-debug

Systematic debugging — evidence before hypotheses, hypotheses before fixes, root cause before patches, and the diagnosis saved to…

swarm-design-deep

swarm-design-deep

The developer-driven design lane — the user commits to each approach before anything is written, then the design goes to…

swarm-design-ui

swarm-design-ui

UI/UX design phase — propose an intentional design system (pattern, brand, color, typography, spacing, atomic components) with…

swarm-design

swarm-design

System design phase — architecture, tech-stack options, module boundaries, data model, and ADRs from a validated SRS. Use after…

swarm-eject

swarm-eject

Disconnect a project from SwarmVault and choose what happens to its knowledge — keep it, export it into the repo, or delete it.…

swarm-flow

swarm-flow

The SDLC router — figures out where a project stands and runs the right phase. Use at the START of any work in a SwarmVault…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about swarm-spec.

Which coding agents can use swarm-spec?
swarm-spec installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.