specify
Skill517 starsChanged 3 days agoMITView on GitHub
Full execution protocol for MODE: SPECIFY -- spec creation, codebase reality checks, SME input, QA gate persistence, and optional council spec review.
We split this skill into the rules it gives an agent
15 rules. 0 are common, 8 are distinctive, and 7 are very specific to this project.
0
Common
Most of the 24 edited versions we read keep these.
8
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 20
If this is called from the stale spec archival path (MODE: PLAN option 1) — archival was already completed.
- Distinctive: line 29
If the user chooses option (b): proceed directly to generation (step 2) with a note that existing SDD sources were bypassed per user …
- Very specific: line 30
If the user chooses option (a) and /swarm sdd project fails: report the failure and re-offer the choices.
- Very specific: line 37
After a successful projection (a or b): the spec is now NATIVE → route to step 1a (overwrite/refine/archive).
- Distinctive: line 38
After a failed projection: report the failure and re-offer the choices.
- Very specific: line 53
Write the spec to .swarm/spec.md.
- Very specific: line 69
No technology stack, APIs, or code structure in the spec.
- Very specific: line 71
Prefer informed defaults over asking the user — use [NEEDS CLARIFICATION] only when uncertainty could change scope, security, or core …
- Distinctive: line 74
Run CODEBASE REALITY CHECK scoped to every file, function, API, and behavioral assumption in the provided plan.
- Distinctive: line 75
Read and parse the provided plan content.
- Distinctive: line 82
Every task should have FILE, TASK, CONSTRAINT, and ACCEPTANCE fields
- Distinctive: line 83
No task should touch more than 2 files
- Distinctive: line 84
No compound verbs in TASK lines ("implement X and add Y" = 2 tasks)
- Distinctive: line 88
Ask: "Should I also flesh out any areas that seem underspecified?"
- Very specific: line 89
If yes: delegate to the active swarm's sme agent for targeted research on weak areas, then propose specific improvements.
“Common” is measured: kept by at least 6 in 10 of the 24 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Specify Protocol
This protocol is loaded on demand by the architect runtime. The architect prompt keeps only activation, action, and hard safety constraints; the full execution details live here.
MODE: SPECIFY
Activates when: user asks to "specify", "define requirements", "write a spec", or "define a feature"; OR /swarm specify is invoked; OR no EFFECTIVE spec exists and no .swarm/plan.md exists (use /swarm sdd status to determine effective-spec existence — native .swarm/spec.md, OpenSpec openspec/, or Spec-Kit .specify/).
- Run
/swarm sdd statusto determine whether an effective spec exists and, if so, how it should be handled. An effective spec exists iff/swarm sdd statusreports a resolved spec./swarm sdd statusreflectsreadEffectiveSpecSync, which returns null (NO effective spec) for: no sources, multiple competing sources (openspec+speckit), multi-feature Spec-Kit without a selected feature, or any unresolvable state. When/swarm sdd statusreports a resolved spec, classify it as NATIVE (native.swarm/spec.md) vs NON-NATIVE (projected). When it reports NO resolved spec, do NOT treat any source as an effective spec. Based on this classification, branch to the appropriate sub-step: - NATIVE: proceed to step 1a (overwrite/refine/archive). - NON-NATIVE: proceed to step 1b (non-shadowing choice). - NO effective spec (ambiguous or no sources): if multiple SDD sources are present, proceed to step 1c (disambiguation); otherwise proceed to step 1d (native authoring). - If this is called from the stale spec archival path (MODE: PLAN option 1) — archival was already completed; skip all branches and proceed directly to generation (step 2). 1a. NATIVE SPEC — overwrite/refine/archive. Ask the user "A spec already exists. Do you want to overwrite it or refine it?"- Overwrite → ARCHIVE FIRST: read the existing spec, extract version (priority order): (1) from spec heading, look for patterns like "v{semver}" or "Version {semver}" in the first H1/H2; (2) from package.json version field in project root; create
.swarm/spec-archive/directory if it does not exist; copy existing spec.md to.swarm/spec-archive/spec-v{version}.md; if version cannot be determined, use date-based fallback:.swarm/spec-archive/spec-{YYYY-MM-DD}.md; log the archive location to the user ("Archived existing spec to .swarm/spec-archive/spec-v{version}.md"); then proceed to generation (step 2) - Refine → delegate to MODE: CLARIFY-SPEC
1b. NON-NATIVE SPEC — non-shadowing check (FR-002). The effective spec comes from
openspec/or.specify/sources with no native.swarm/spec.md. Do NOT silently author a competing native spec. Instead OFFER the user a choice: - (a) Project/ingest the existing SDD sources into
.swarm/spec.mdvia the agent-invocable/swarm sdd projectcommand. Obtain EXPLICIT user consent before proceeding. (Do not pass--overwritein this branch — no native spec exists yet.) - (b) Proceed with native authoring (
/swarm specify) if the user explicitly chooses to ignore the SDD sources and write a new spec from scratch. - (c) Cancel — abort SPECIFY; the existing SDD sources remain the effective spec.
- If the user chooses option (a) and
/swarm sdd projectcompletes successfully: the projected spec is now materialized as.swarm/spec.md(NATIVE). Do NOT proceed to generation (step 2) — that would overwrite the just-projected spec. Instead route to step 1a (overwrite/refine/archive) so the user can refine, overwrite, or archive the projected spec. - If the user chooses option (b): proceed directly to generation (step 2) with a note that existing SDD sources were bypassed per user decision. - If the user chooses option (a) and/swarm sdd projectfails: report the failure and re-offer the choices. 1c. AMBIGUOUS — multiple SDD sources detected. Bothopenspec/AND.specify/exist with no native.swarm/spec.md. PerreadEffectiveSpecSyncsemantics this is NOT an effective spec (the function returns null). Do NOT treat this as a single-source NON-NATIVE choice. Instead:- Inform the user: "Multiple SDD sources detected (openspec AND speckit) but no native spec exists. This is ambiguous — there is no single effective spec. You must choose which source to project, or disambiguate via
/swarm sdd status --source."
- Inform the user: "Multiple SDD sources detected (openspec AND speckit) but no native spec exists. This is ambiguous — there is no single effective spec. You must choose which source to project, or disambiguate via
- Offer the user a choice:
- (a) Project from openspec — run
/swarm sdd project --source openspec(after consent) to project the openspec source into.swarm/spec.md. - (b) Project from speckit — run
/swarm sdd project --source speckit(after consent) to project the speckit source into.swarm/spec.md. - (c) Cancel — abort SPECIFY; the ambiguous sources remain as-is.
- (a) Project from openspec — run
- After a successful projection (a or b): the spec is now NATIVE → route to step 1a (overwrite/refine/archive).
- After a failed projection: report the failure and re-offer the choices. 1d. NO EFFECTIVE SPEC. Proceed directly to generation (step 2). 1e. Run CODEBASE REALITY CHECK for any codebase references mentioned by the user or implied by the feature. Skip if work is purely greenfield (no existing codebase to check). Report discrepancies before proceeding to explorer.
- Overwrite → ARCHIVE FIRST: read the existing spec, extract version (priority order): (1) from spec heading, look for patterns like "v{semver}" or "Version {semver}" in the first H1/H2; (2) from package.json version field in project root; create
- Delegate to
the active swarm's explorer agentto scan the codebase for relevant context (existing patterns, related code, affected areas). - Delegate to
the active swarm's sme agentfor domain research on the feature area to surface known constraints, best practices, and integration concerns. - Generate
.swarm/spec.mdcapturing:- First line must be:
# Specification: <feature-name> - Feature description: WHAT users need and WHY — never HOW to implement
- User scenarios with acceptance criteria (Given/When/Then format)
- Functional requirements numbered FR-001, FR-002… using MUST/SHOULD language
- Success criteria numbered SC-001, SC-002… — measurable and technology-agnostic
- Key entities if data is involved (no schema or field definitions — entity names only)
- Edge cases and known failure modes
[NEEDS CLARIFICATION]markers for items where uncertainty could change scope, security, or core behavior, BUT ONLY after running the clarification funnel: (1) inventory all material uncertainties without numeric cap, (2) classify each as self_resolved/critic_resolved/research_needed/user_decision/deferred_nonblocking — Overconfidence guard: if the default is not directly supported by user request, spec, or recorded context, classify asuser_decisionrather thanself_resolved, (3) consult critic_sounding_board with candidate items — critic responds per SoundingBoardVerdict: UNNECESSARY→DROP, RESOLVE→RESOLVE, REPHRASE→REPHRASE, APPROVED→ASK_USER — always-surface protection: always-surface categories must not receive UNNECESSARY/DROP; override to APPROVED/ASK_USER, (4) record all resolved items as explicit assumptions in the spec, (5) use markers only for items that survive the funnel (ASK_USER or unresolved after critic consultation). Decision packet format: grouped by category, recommended defaults, blocking vs optional markers, impact of accepting default. Prefer informed defaults over asking- Important: If research is ongoing, apply a fixed 5-minute protocol budget to
research_needed. If research does not complete before the budget expires, automatically reclassify the item touser_decisionwith a note that research was incomplete, then surface it to the user. This prevents the clarification funnel from stalling while waiting for external research.
- First line must be:
- Write the spec to
.swarm/spec.md. 5b. DEFER QA AND EXECUTION PROFILE SELECTION. SPECIFY does not collect, infer, or stage QA gates, parallel coder count, commit frequency, orauto_proceed. Those choices depend on the drafted task graph and its exact plan identity. MODE: PLAN freezes the exactswarm_idand plan title, presents the unified four-choice dialogue, persists the gate profile, and saves the execution profile. Do not write execution choices to.swarm/context.md.
General Council advisory input is offered as an early workflow option in MODE: BRAINSTORM (Phase 1b) and MODE: PLAN before save_plan, not as a SPECIFY step. If the user wants council input during SPECIFY, they can use /swarm council <question> manually.
- Report a summary to the user (MUST count, SHALL count, scenario count, clarification markers) and suggest the next step:
CLARIFY-SPEC(if markers exist) orPLAN.
SPEC CONTENT RULES — the spec MUST NOT contain:
- Technology stack, framework choices, library names
- File paths, API endpoint designs, database schema, code structure
- Implementation details or "how to build" language
- Any reference to specific tools, languages, or platforms
Each functional requirement MUST be independently testable.
Focus on WHAT users need and WHY — never HOW to implement.
No technology stack, APIs, or code structure in the spec.
Each requirement must be independently testable.
Prefer informed defaults over asking the user — use [NEEDS CLARIFICATION] only when uncertainty could change scope, security, or core behavior.
EXTERNAL PLAN IMPORT PATH — when the user provides an existing implementation plan (markdown content, pasted text, or a reference to a file):
- Run CODEBASE REALITY CHECK scoped to every file, function, API, and behavioral assumption in the provided plan. Report discrepancies to user before proceeding.
- Read and parse the provided plan content.
- Reverse-engineer
.swarm/spec.mdfrom the plan:- Derive FR-### functional requirements from task descriptions
- Derive SC-### success criteria from acceptance criteria in tasks
- Identify user scenarios from the plan's phase/feature groupings
- Surface implicit assumptions as
[NEEDS CLARIFICATION]markers
- Validate the provided plan against swarm task format requirements:
- Every task should have FILE, TASK, CONSTRAINT, and ACCEPTANCE fields
- No task should touch more than 2 files
- No compound verbs in TASK lines ("implement X and add Y" = 2 tasks)
- Dependencies should be declared explicitly
- Phase structure should match
.swarm/plan.mdformat
- Report gaps, format issues, and improvement suggestions to the user.
- Ask: "Should I also flesh out any areas that seem underspecified?"
- If yes: delegate to
the active swarm's sme agentfor targeted research on weak areas, then propose specific improvements.
- If yes: delegate to
- Output: both a
.swarm/spec.md(extracted from the plan) and a validated version of the user's plan.
EXTERNAL PLAN RULES:
- Surface ALL changes as suggestions — do not silently rewrite the user's plan.
- The user's plan is the starting point, not a draft to replace.
- Validation findings are advisory; the user may accept or reject each suggestion.
Other versions28 projects use a version of this.
Word for word · 1
- zaxbysauce/opencode-swarm★ 517100% same
Edited · 0
None found.
Wrote their own version · 27
- genkovich/sdd★ 187same name
- team-attention/hoyeon★ 173same name
- ArvorCo/Relentless★ 98same name
- jantichy/claude★ 45same name
- mehrad-dm/mastermind★ 23same name
- agent-ix/quoin★ 20same name
- danielcherubini/skills★ 14same name
- stormlightlabs/thunderus★ 4same name
- totalfrank/skills★ 4same name
- KonH/GlobalStrategy★ 3same name
17 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use spec-review, init and 7 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
MicrosoftSkillspec-review
Independent, multi-model review of a design or spec **before** any code is written, for the microsoft/winappcli repo. Activate when a contributor asks to "review this spec", "review my design", "review this design doc", "validate this approach", "should we build this", "spec review", "design review", or "feature review". Fans out parallel sub-agents — each doing its OWN research against the real codebase and ecosystem rather than trusting the spec — covering necessity & scope, approach & alternatives, feasibility vs reality, risks & unknowns, DX & user impact, and a different-model-family cross-check. Emits a decision-oriented recommendation (proceed / proceed-with-changes / reconsider) to stdout. This is the PRE-CODE companion to the pr-review skill (which reviews code already written); use spec-review at the design/spec stage, not on an implemented diff. Does NOT write code or edit the spec.
Also in 3 projects that use this
MicrosoftSkillinit
Also in 5 projects that use this
MetaSkillroadmap
Build, continue, inspect, or visualize a source-grounded mathematical roadmap and theorem DAG in an existing Autoform Markdown blueprint. Use for source research, repository-wide inventories of existing and planned mathematics, scope, coverage, milestones, and roadmap articles; do not create repository infrastructure or prove Lean declarations.
Also in 3 projects that use this
Microsoft AzureSkillverify
End-to-end app testing pipeline for browser-based web apps on cloud browsers via Azure Playwright Workspaces: verify the live app, author tests for working flows, heal failing tests, then re-run with video and produce one consolidated report. Three phases (app verification, test authoring, test healing) plus a scoped final sanity run; each phase emits a sub-report. Use when asked to "verify my app", "make sure my app works and has good test coverage", "do a full QA pass", "add tests where I'm missing coverage", "fix failing tests and add new ones", "smoke test before deploy", "QA my deployment", or any combined verify-and-test ask. Requires Azure CLI (`az login`) and a Playwright Workspace resource ID — bootstraps configs on first invocation. Browser-based web apps with Playwright only — not for unit/API tests, native mobile/desktop, load/perf, or full accessibility audits.
Also in 10 projects that use this
Microsoft AzureSkilldesign
Design rules and conventions for the API Center Portal. Use when editing detail pages, card components, badges, layout, navigation, sidebars, or headers. Covers badge styling, metadata placement, page navigation patterns, and layout alignment.
Also in 5 projects that use this
ibahgatSkillautopilot
Run autonomous multi-stage execution loops until acceptance criteria pass or blockers are reached.
Also in 3 projects that use this
In this repository66 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- ci-fix-monitorSkill
- codebase-review-swarmSkill
- commit-prSkill
- contributingSkill
- engineering-conventionsSkill
- fork-pr-operationsSkill
- guardrail-patternsSkill
- issue-tracerSkill
- mock-to-internals-migrationSkill
- pr-review-fixSkill
- qa-sweepSkill
- research-firstSkill
- running-testsSkill
- subprocess-safetySkill
- swarm-ci-monitorSkill
- swarm-implementSkill
- swarm-pr-feedbackSkill
- swarm-pr-reviewSkill
- swarm-pr-subscribeSkill
- swarmSkill
- tech-debt-ci-reviewSkill
- test-file-splitSkill
- unswarmSkill
- writing-testsSkill
- brainstormSkill
- clarifySkill
- clarify-specSkill
- codebase-review-swarmSkill
- commit-prSkill
- consultSkill
- councilSkill
- critic-gateSkill
- deep-diveSkill
- deep-researchSkill
- design-docsSkill
- discoverSkill
- durable-session-stateSkill
- editing-skillsSkill
- engineering-conventionsSkill
- executeSkill
- fork-pr-operationsSkill
- graphifySkill
- issue-ingestSkill
- issue-tracerSkill
- orchestrating-subagentsSkill
- phase-wrapSkill
- pre-phase-briefingSkill
- qa-sweepSkill
- research-firstSkill
- rust-crate-ciSkill
- swarm-ci-monitorSkill
- swarm-implementSkill
- swarm-planSkill
- swarm-pr-feedbackSkill
- swarm-pr-reviewSkill
- swarm-pr-subscribeSkill
- swarm-resumeSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

