Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/zaxbyhub/opencode-swarm/specifynpx skills add ZaxbyHub/opencode-swarm --skill specifygit clone --depth 1 https://github.com/ZaxbyHub/opencode-swarmWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/zaxbyhub/opencode-swarm/specify)<a href="https://agentmods.dev/skills/zaxbyhub/opencode-swarm/specify"><img src="https://agentmods.dev/badge/skills/zaxbyhub/opencode-swarm/specify.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00033 | $0.02587 |
| Opus 5 | $0.00016 | $0.01293 |
| Sonnet 5 | $0.00007 | $0.00517 |
| Haiku 4.5 | $0.00003 | $0.00259 |
Grade A, and why
specify scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 95 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 95 lines · 33 tokens per session scan A b9bcc54067b9
specify is a skill published in the GitHub repository ZaxbyHub/opencode-swarm (462 stars, last pushed today), licensed MIT. It adds 33 tokens to every session and 2,587 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
ux-create-manifest
Create the initial Product UX Bible for an existing web or full-screen web app by deeply auditing the repository, using sub-agents when available, and generating docs/ux manifests, schemas, budgets, surface maps, action taxonomy, and design-token policies from observed code.
ux-principal
Principal UX architect skill for deciding WHERE a UI feature belongs, before it is implemented. Reads and maintains docs/ux manifests, classifies the feature, decides placement, navigation, surface, action hierarchy and complexity budgets, and produces a precise implementation brief without coding unless explicitly…
verify-changes
How to test and verify work in the dev-3.0 repo — which vitest config covers what, how to write a test that fits the house style, mocking Electrobun RPC and i18n providers, what coverage is actually expected, and the browser QA hand-off. Use when writing or fixing tests, deciding what a change needs covered, hitting a…
debug-ui
Drive and visually QA the dev-3.0 UI in a real browser (headless Chromium via agent-browser). Use when verifying a UI/UX change, reproducing a visual bug, taking screenshots of the running app, or self-QA before review. Triggers — "check the UI", "screenshot the app", "does this render", "QA this screen", "verify the…
zhihu-publish
Use when the task is to publish a Zhihu article from Markdown using the local browser-automation pipeline in this repo. Covers the text-only publishing chain, the multimodal chain that uploads Markdown images into the Zhihu editor, cookie-based login checks, and choosing between the stable text script and the richer…
full_unpackd_rep
Use when the task is to unpack a local reference repository into a Chinese structural topic page, update site navigation, stamp dates, and leave behind a reusable deconstruction note for the repo.