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
anmarhani-swarmvault
515 skills
Install
$ npx -y skills add AnmarHani/SwarmVault --skill swarm-spec --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/swarm-spec

Context preview

The summary Claude sees to decide when to auto-load this skill.

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,

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
Ships withanmarhani-swarmvault

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.

Get the whole plugin
Stats
5
Stars
0
Forks
Maintained
Maintenance
Python
Language
MIT
License
1mo ago
Last commit
2mo ago
Created

Repo: AnmarHani/SwarmVault

Other skills on anmarhani-swarmvault.