Agent skill

Specify

by ZaxbyHub in ZaxbyHub/opencode-swarm

Full execution protocol for MODE: SPECIFY -- spec creation, codebase reality checks, SME input, QA gate persistence, and optional council spec review.

MITAuto-check passed

Install Specify

skills CLI
$ npx skills add ZaxbyHub/opencode-swarm --skill specify -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ZaxbyHub/opencode-swarm specify --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ZaxbyHub/opencode-swarm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/specify .claude/skills/specify && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
specify
GitHub stars
493
Token cost
~2.8k tokens
SKILL.md length
1,501 words
Files
1
Skills in repo
91
Repo updated
First seen
Licence
MIT

At a glance

Full execution protocol for MODE: SPECIFY -- spec creation, codebase reality checks, SME input, QA gate persistence, and optional council spec review.

  • Works in 3 steps: Delegate to the active swarm's explorer… → Delegate to the active swarm's sme agent… → Generate .swarm/spec.md capturing
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Specify is an agent skill from ZaxbyHub/opencode-swarm. Full execution protocol for MODE: SPECIFY -- spec creation, codebase reality checks, SME input, QA gate persistence, and optional council spec review.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: Architect-centric agentic swarm plugin for OpenCode. Hub-and-spoke orchestration with SME consultation, code generation, and QA review. The licence is MIT.

Example prompts

  • “/specify”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Delegate to the active swarm's explorer agent to scan the codebase for relevant context (existing patterns, related code, affected areas).
  2. Delegate to the active swarm's sme agent for domain research on the feature area to surface known constraints, best practices, and…
  3. Generate .swarm/spec.md capturing

What it can do on your machine

Read from SKILL.md and the folder at commit eee4534. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Specify loads about 2.8k tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 1,501 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~40
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ZaxbyHub/opencode-swarm at commit eee4534, republished under its MIT licence (© ZaxbyHub). 1,501 words, ~2,789 tokens.

Download SKILL.mdSave it as .claude/skills/specify/SKILL.md (or your agent's skills folder).
name
specify
description
Full execution protocol for MODE: SPECIFY -- spec creation, codebase reality checks, SME input, QA gate persistence, and optional council spec review.
audience
swarm-plugin

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/).

  1. Run /swarm sdd status to determine whether an effective spec exists and, if so, how it should be handled. An effective spec exists iff /swarm sdd status reports a resolved spec. /swarm sdd status reflects readEffectiveSpecSync, 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 status reports 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.md via the agent-invocable /swarm sdd project command. Obtain EXPLICIT user consent before proceeding. (Do not pass --overwrite in 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 project completes 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 project fails: report the failure and re-offer the choices. 1c. AMBIGUOUS — multiple SDD sources detected. Both openspec/ AND .specify/ exist with no native .swarm/spec.md. Per readEffectiveSpecSync semantics 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."
    • 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.
    • 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.
  2. Delegate to the active swarm's explorer agent to scan the codebase for relevant context (existing patterns, related code, affected areas).
  3. Delegate to the active swarm's sme agent for domain research on the feature area to surface known constraints, best practices, and integration concerns.
  4. Generate .swarm/spec.md capturing:
    • 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 as user_decision rather than self_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 to user_decision with a note that research was incomplete, then surface it to the user. This prevents the clarification funnel from stalling while waiting for external research.
  5. 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, or auto_proceed. Those choices depend on the drafted task graph and its exact plan identity. MODE: PLAN freezes the exact swarm_id and 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.
Show full SKILL.md (400 more words)Show less

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.

  1. Report a summary to the user (MUST count, SHALL count, scenario count, clarification markers) and suggest the next step: CLARIFY-SPEC (if markers exist) or PLAN.

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):

  1. Run CODEBASE REALITY CHECK scoped to every file, function, API, and behavioral assumption in the provided plan. Report discrepancies to user before proceeding.
  2. Read and parse the provided plan content.
  3. Reverse-engineer .swarm/spec.md from 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
  4. 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.md format
  5. Report gaps, format issues, and improvement suggestions to the user.
  6. Ask: "Should I also flesh out any areas that seem underspecified?"
    • If yes: delegate to the active swarm's sme agent for targeted research on weak areas, then propose specific improvements.
  7. 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.

© ZaxbyHub, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/specify of ZaxbyHub/opencode-swarm.

Open the folder on GitHubat commit eee4534

Compare with similar skills

Specify next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Specify compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Specify this skillZaxbyHub/opencode-swarm493—~2.8kAutomated safety check: PassMIT
Remotion Video Creationaffaan-m/ECC276k2 repos~910Automated safety check: PassMIT
Remotion Video Creationaffaan-m/ECC276k—~680Automated safety check: PassMIT
Remotion Video Creationaffaan-m/ECC276k—~605Automated safety check: PassMIT
Runbook Creationsickn33/agentic-awesome-skills47k2 repos~2.9kAutomated safety check: PassMIT
Monte Carlo Monitor Creationsickn33/agentic-awesome-skills47k1 repos~2.9kAutomated safety check: PassMIT

Similar skills

  • Best practices for Remotion - Video creation in React. An agent skill from affaan-m/ECC.

    276k GitHub starsUsed in 2 repos~910 tokens
    Media & CreativeAuto-check passed
  • Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

    276k GitHub stars~680 tokensUpdated 5 days ago
    Media & CreativeAuto-check passed
  • Remotion 最佳实践 - 在 React 中创建视频。29 条领域特定规则,涵盖 3D、动画、音频、字幕、图表、过渡等。

    276k GitHub stars~605 tokensUpdated 5 days ago
    Media & CreativeAuto-check passed
  • Runbook Creation

    sickn33/agentic-awesome-skills

    Create operational runbooks and standard operating procedures.

    47k GitHub starsUsed in 2 repos~2.9k tokens
    DevOps & CloudAuto-check passed
  • Monte Carlo Monitor Creation

    sickn33/agentic-awesome-skills

    Guides creation of Monte Carlo monitors via MCP tools, producing monitors-as-code YAML for CI/CD deployment.

    47k GitHub starsUsed in 1 repo~2.9k tokens
    DevOps & CloudAuto-check passed
  • Official

    Plans and executes GKE cluster creation, provisioning, and production readiness audits using pre-defined templates (Autopilot, Standard Regional, GPU/AI Inference, AI Hypercompute).

    21k GitHub stars~3.1k tokensUpdated yesterday
    DevOps & CloudAuto-check passed

More from ZaxbyHub/opencode-swarm

All 91 skills in this repo
  • Codebase Review Swarm

    ZaxbyHub/opencode-swarm

    Runs an evidence-gated, quote-grounded audit of a codebase for security, QA, accessibility, performance and more, and writes a verified report without changing source files.

    493 GitHub stars~2.8k tokensUpdated yesterday
    Auto-check passed
  • Issue Tracer

    ZaxbyHub/opencode-swarm

    Drives a bug report from validation and root-cause tracing through a critic-reviewed plan, an approved minimal fix and a PR-ready closure, never merging without recorded human approval.

    493 GitHub stars~4.4k tokensUpdated yesterday
    Auto-check passed
  • Commit and PR Publishing for Codex

    ZaxbyHub/opencode-swarm

    Codex adapter for opencode-swarm that governs commits, pushes, draft PRs, PR body updates and CI closeout, deferring to the repo's canonical commit-pr protocol.

    493 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Durable Session State

    ZaxbyHub/opencode-swarm

    Keeps plans, decisions, evidence and reviewer verdicts in small files so long multi-phase tasks survive context compaction and session resumes.

    493 GitHub stars~896 tokensUpdated yesterday
    Auto-check passed
  • Swarm PR Feedback Closer

    ZaxbyHub/opencode-swarm

    Ingests existing pull request feedback such as review comments and CI failures, verifies each claim, fixes confirmed issues and reports closure status for every item.

    493 GitHub stars~14k tokensUpdated yesterday
    Auto-check passed
  • Swarm PR Subscribe

    ZaxbyHub/opencode-swarm

    Monitor a pull request after creation and act autonomously on pushed PR activity.

    493 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed

Questions about Specify

What does Specify do?

Full execution protocol for MODE: SPECIFY -- spec creation, codebase reality checks, SME input, QA gate persistence, and optional council spec review. Specify is an agent skill from ZaxbyHub/opencode-swarm. Full execution protocol for MODE: SPECIFY -- spec creation, codebase reality checks, SME input, QA gate persistence, and optional council spec review.

How do I install Specify in Claude Code?

Run `npx skills add ZaxbyHub/opencode-swarm --skill specify -a claude-code`. Or copy the skill folder (.claude/skills/specify in ZaxbyHub/opencode-swarm) into .claude/skills/specify in your project. Claude Code loads it when a task matches its description.

How do I install Specify in Codex?

Run `npx skills add ZaxbyHub/opencode-swarm --skill specify -a codex`. Or copy the skill folder (.claude/skills/specify in ZaxbyHub/opencode-swarm) into .agents/skills/specify in your project. Codex loads it when a task matches its description.

Can I use Specify in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ZaxbyHub/opencode-swarm --skill specify -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/specify, .gemini/skills/specify, .github/skills/specify and .opencode/skills/specify in your project.

What does Specify need to run?

SKILL.md names no scripts, command-line tools or credentials: Specify is instructions for the agent only.

Does Specify access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Specify safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Specify use?

Specify is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Specify use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Specify?

Skills that share tags, products or a category with Specify: Remotion Video Creation (affaan-m/ECC, 276k stars), Remotion Video Creation (affaan-m/ECC, 276k stars), Remotion Video Creation (affaan-m/ECC, 276k stars) and Runbook Creation (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Specify?

ZaxbyHub (a GitHub organization) maintains it in ZaxbyHub/opencode-swarm, which has 493 GitHub stars. The repository holds 91 skills in this directory. The repository was last updated on October 9, 2026.

Source: ZaxbyHub/opencode-swarm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.