name: swarmskill-creator description: | Creates, converts, or modifies Swarm Skills — the multi-role (多角色团队) extension of the Skills standard, optionally with an executable SwarmFlow orchestration script. Use when building or refactoring a multi-agent team, generating workflow (工作流/编排) orchestration code, or upgrading a single-agent skill into a collaborating team. Do NOT use for ordinary single-agent skills — use create-skill instead. version: "0.4"
Swarm Skill Creator
Authoring tool for Swarm Skills — the multi-role extension of the Skills standard. Encodes the Swarm Skill spec into a repeatable workflow with templates, decision trees, and an automated validator.
Workflow
This skill has two independent routing dimensions:
- Operation mode — what kind of authoring work is being performed.
- Output shape — what files the resulting Swarm Skill should contain.
Pick both before writing files. Output shape is a separate dimension, not an additional operation mode.
| Mode | Trigger | Output |
|---|---|---|
| CREATE | User has a fresh need ("build a team for X") | New <swarmskill-name>/ directory in the selected output shape |
| CONVERT | User points at an existing single-agent skill | Transformed <swarmskill-name>/ directory in the selected output shape + a delta report |
| MODIFY | User edits an existing Swarm Skill (add/remove role, change workflow, adjust bind, fix validator errors) | Updated files in the existing <swarmskill-name>/ directory |
Each operation mode maps to the staged pipeline defined below (see Stage 0–6). Quick routing:
- CREATE / CONVERT — share Stages 2–6; they differ only at Stage 1 (CREATE designs roles from scratch, CONVERT decomposes an existing skill).
- MODIFY — skips Stage 0–1 unless the change alters the team pattern; edits only the affected files; always re-runs Stage 6 (validator).
- Script-only output — bypasses the role/workflow/bind/dependency stages entirely, since those files are intentionally absent.
Output shape triage — Markdown, script-only SwarmFlow, or Markdown + SwarmFlow
Before Stage 0, classify the requested output shape. This is a silent routing step; do not ask the user unless their wording is genuinely ambiguous.
| Output shape | Trigger | Files to produce |
|---|---|---|
| Markdown spec (default) | User asks to create/convert/modify a Swarm Skill, team skill, multi-role team, roles, bind, dependencies, human-readable workflow, or self-evolution metadata, and does not ask for executable orchestration | Standard 5-file set only: SKILL.md, roles/, workflow.md, bind.md, dependencies.yaml |
| Script-only SwarmFlow skill | User asks for 工作流, workflow, SwarmFlow, workflow.py, executable orchestration, code orchestration, 可执行编排, or 编排脚本, without explicitly asking for a full team skill spec |
SKILL.md + scripts/workflow.py only |
| Markdown spec + SwarmFlow script | User explicitly asks for a full team/SwarmSkill spec and also asks for 工作流, workflow, SwarmFlow, workflow.py, executable orchestration, code orchestration, 可执行编排, or 编排脚本 |
Standard 5-file set + scripts/workflow.py |
Default is conservative in both directions: if the user does not ask for code orchestration, do not generate scripts/workflow.py; and if they ask for workflow/SwarmFlow/code orchestration without a full team skill spec, prefer script-only — do not expand to the full Markdown spec just because the output is still packaged as a Swarm Skill. In script-only mode:
SKILL.mdis still required and must contain valid frontmatter plus## Workflowand## Files.roles:must be omitted or empty inSKILL.mdfrontmatter.- The file set is exactly
SKILL.mdplusscripts/workflow.py. scripts/workflow.pyis the executable orchestration surface and must be listed inSKILL.md## Files.- All agent prompts, prompt-builder functions, schemas, and orchestration logic live inside
scripts/workflow.py. - If the user also needs rich role personas, gates, dependency contracts, human-readable team docs, or self-evolution metadata, use the full Markdown spec + SwarmFlow script shape.
Stage routing:
| Output shape | Stage route |
|---|---|
| Markdown spec (default) | Run the normal full-spec stages: Stage 0 → 1 → 2 → 3 → 4 → 5 → 6 |
| Markdown spec + SwarmFlow script | Run the normal full-spec stages, and add Stage 3b after workflow.md; revisit Stage 3b after bind.md if failure/retry behavior changes the script |
| Script-only SwarmFlow skill | Write minimal SKILL.md + scripts/workflow.py, then run Stage 6. Do not fabricate role files, prompt files, or Markdown spec files just to satisfy the full-spec pipeline |
Stage 0: Triage — is a Swarm Skill even justified?
A Swarm Skill is only justified when at least one of these is true:
- Adversarial blind spot — a single agent role-playing N personas produces converging outputs because it cannot escape its own analytical priors. Examples: PR review, security audit, design critique.
- Parallel decomposition gain — N independent sub-tasks can run concurrently and the integration is non-trivial. Examples: multi-angle research, multi-perspective due diligence.
- Specialization pipeline with hard handoffs — sequential stages with quality gates where blurring stage boundaries causes regressions. Examples: marketing copy (brief → draft → edit → audit), incident response (declare → triage → mitigate → postmortem).
If none apply → STOP. Recommend a single-agent skill instead. Swarm Skills cost more tokens, more wall-clock, and more authoring overhead. Do not build one out of novelty.
Ask the user: "Which of these failure modes does a single agent hit on this task today?" If they cannot answer, the Swarm Skill is premature.
Stage 1a (CREATE only): Pattern selection
Pick the architectural pattern (A / B / C / mixed) based on Stage 0 justification. The detailed decision tree with worked examples is in reference/pattern-selection.md. Quick reference:
| Pattern | When | Role count | Roles see each other? |
|---|---|---|---|
| A. Adversarial / Cross-check | Justification #1 (blind spot) | 2–4 | No — isolation is the value |
| B. Parallel decomposition | Justification #2 (independent sub-tasks) | 2–N (variable) | No until integration |
| C. Specialization pipeline | Justification #3 (sequential expert stages) | 3–5 | Each stage sees prior stage output |
| Mixed (A+B / B+C / C+A) | Multiple justifications stack | 4–6 | Pattern-by-stage |
| Debate (Mixed B+A+C) | #1 + #2 (blind spot + parallel breadth) | 3–N+1 | Phase-scoped: isolated → mutual |
Read reference/pattern-selection.md before committing — picking the wrong pattern is the most common authoring error.
Stage 1b (CONVERT only): Decompose the existing skill
Read the source SKILL.md and identify natural role boundaries. Use this checklist:
- Find embedded personas — does the skill ask one agent to "act as" multiple roles (e.g., "Persona 1: Saboteur / Persona 2: New Hire / Persona 3: Security Auditor")? Each embedded persona is a Swarm Skill role candidate.
- Find sequential stages with quality gates — does the skill have phases like "first do X, then validate Y, then produce Z"? Each phase is a pipeline stage candidate.
- Find checklists that branch by category — a checklist like "[ ] security [ ] performance [ ] readability" is parallel-decomposition fuel.
- Identify what's lost in single-agent form — the answer becomes the Swarm Skill's "why" (the Stage 0 justification). If you cannot articulate this, the conversion is not worth it.
Full conversion methodology: reference/conversion-guide.md.
Stage 2: Role design (count depends on pattern, no overlap)
Default role counts by pattern (soft heuristics, not hard limits — see reference/pattern-selection.md Q4):
- A. Adversarial / Cross-check: 2–4 roles
- B. Parallel decomposition: 2–N roles (use
count: [min, max]for elastic fan-out) - C. Specialization pipeline: 3–5 stages
- Mixed (A+B / A+C): 4–6 roles total
If you need more, prefer splitting into multiple sequential Swarm Skills over one mega-swarm.
For each role, write 5 mandatory sections:
## Identity— first line MUST be a 1-line motto that crystallizes the POV (e.g., "I am trying to break this code in production."). This is the #1 anti-convergence mechanism. 0–2 paragraphs of context after.## Success Criteria— bullet list + a "Focus areas" line.## Boundary— explicit**Forbidden**:(prevent role overlap) +**Mandatory**:(prevent laziness).## Output Schema— Markdown or JSON template.## Inline Persona for Teammate— full pasteable prompt (most adopting agents do NOT auto-load role files; the Leader must inline this into the dispatch prompt).
Detailed authoring guide with examples: reference/role-design.md.
Anti-overlap test: write each role's 1-line motto, then ask "could one role's deliverable substitute for another's?" If yes, the boundaries are blurred — redesign before proceeding.
Output: write each role as roles/<id>.md using templates/role.md.template as the starting skeleton. Delete the <!-- TEMPLATE NOTES --> block before finalizing.
Auto-matching: assign locally available skills and tools
After all role files are written, automatically match each role with locally available skills and tools. This is a silent sub-step — no user interaction needed (already-installed skills have zero adoption cost).
Scan local skills — use whatever mechanism the host framework provides. Common approaches (non-exhaustive):
- System prompt / context injection: many frameworks inject an
available_skillslist at startup — this is the most reliable source. - Workspace-level convention scan: glob for
**/SKILL.mdunder known skill directories. - CLI query: if the framework provides a skill listing command (e.g.,
npx skills list -g), use it. - Do NOT hardcode paths for a specific framework — the Swarm Skill spec is framework-agnostic.
- System prompt / context injection: many frameworks inject an
Scan local tools — probe CLI tools available in the current environment (e.g.,
gh,python,rg,jq,curl,docker). Usewhere(Windows) orwhich(Unix).Match and assign — for each role, read its
purpose,Success Criteria, andBoundary. Evaluate whether any discovered skill/tool would materially help fulfil the role's purpose (a match = removing it would force the role into a significantly weaker operating mode). Assign matches to the correct field withsource: localindependencies.yaml.Classification rule — do NOT mix skills and tools:
roles[].skills→ Skills only: items that have aSKILL.md(agent skills providing instructions/workflows). Examples:web-research,code-review,canvas-design.roles[].tools→ Tools only: CLI executables, MCP servers, or shell commands. Examples:gh,python,rg,docker,curl.- A CLI binary is NEVER a skill. A SKILL.md-based capability is NEVER a tool. If unsure, check: does it have a
SKILL.md? → skill. Is it invoked via shell/MCP? → tool.
Stage 3: Write workflow.md (mermaid + steps + gates)
Author workflow.md using templates/workflow.md.template as the starting skeleton. Three mandatory sections:
## Overview— mermaidgraph LR/TDshowing Leader entry, parallel/sequential teammate nodes, decision diamonds (degraded mode branches), integration node, output node. Mermaid is the primary expression difference vs single-agent skills. Debate pattern: MUST keep the inter-member communication preference note from the template — do NOT delete it when replacing the mermaid placeholder.## Detailed Steps— numbered steps; each step contains: executor / input / output / serial-or-parallel / quality gate (what to do if this step's output fails). The last step contains the final report format template.## Acceptance Criteria— judgement of a successful single run.
Quality gates are the contract surface between stages — design them per reference/role-design.md § Gate Design.
Stage 3b: Generate scripts/workflow.py when requested
Run this stage only for Markdown spec + SwarmFlow script and script-only SwarmFlow skill output shapes.
For the full Markdown spec + SwarmFlow shape, Stage 3b has two passes:
- Topology pass after Stage 3 — translate
workflow.mdinto phases, parallel/sequential structure, integration points, and role labels. - Behavior pass after Stage 4 — revisit the script if
bind.mdintroduces retry, timeout, budget, degraded-mode, or failure behavior that must be executable.
Do not let the script invent a different workflow from workflow.md; do not let workflow.md describe behavior the script cannot execute.
Generate scripts/workflow.py from templates/scripts/workflow.py.template. Before editing, read that template's TEMPLATE AUTHORING CONSTRAINTS block; it is the single full source for executable SwarmFlow script constraints. Keep this stage focused on routing and topology synchronization rather than restating those rules.
For the full Markdown spec + SwarmFlow shape, the final script must match the topology in workflow.md and the executable constraints in bind.md: same phases, same parallel or sequential structure, same integration point, and no extra hidden workflow that the Markdown spec does not describe.
For script-only mode, derive the script directly from the user's requested orchestration. Keep SKILL.md minimal but explicit: describe when to invoke the skill, state that scripts/workflow.py is the execution definition, and list the script under ## Files.
Stage 4: Write bind.md (numbers + behavior + failure)
Author bind.md using templates/bind.md.template as the starting skeleton. Three mandatory sections:
## Resource Constraints— table with at least:max_parallel_teammates,total_wall_clock_budget,total_token_budget. Add per-role limits if asymmetric.## Behavioral Constraints— team-level rules (Leader does not write content / teammates cannot see each other's output / Leader does not resolve contradictions / etc.). Distinct from per-roleBoundary. Debate pattern MUST include: phase-scoped visibility rules (which rounds are isolated, which are mutually visible) AND the inter-member communication preference order (direct peer-to-peer > shared blackboard > Leader-relay).## Failure Handling— must cover (a) teammate failure (timeout, malformed output, retry policy, how missing outputs appear in the report) and (b) input-overscale degradation (e.g., diff > 2000 LOC → degrade to single-role mode).
Heuristic: if a constraint has a number or an exception path, it belongs in bind.md. If it's the main flow, it belongs in workflow.md.
Stage 5: Write dependencies.yaml + SKILL.md
The remaining two files. Write them last because they reference content produced in Stages 2–4.
5a. dependencies.yaml — use templates/dependencies.yaml.template. This file codifies the auto-matching results from Stage 2, not a blank-slate design. Both skills: and tools: segments are mandatory — write [] if empty, but only after the auto-matching scan confirms no matches (signals "checked, confirmed none" — different from "never looked"). Each roles[].skills and roles[].tools declared in SKILL.md frontmatter MUST appear here (the validator enforces this).
5b. SKILL.md — use templates/SKILL.md.template. This is the entry point that ties together all other files. Body MUST contain ## Workflow + ## Roles + ## Files.
Naming rules (enforced by the validator):
- Directory name =
namefield in SKILL.md frontmatter (kebab-case, ends with-swarmby convention). - Each
roles/<id>.mdfilename MUST equal the correspondingroles[].idin SKILL.md frontmatter. - All 5 files are mandatory (the validator fails on any missing file).
- Exception: script-only SwarmFlow skills require only
SKILL.mdandscripts/workflow.py; the executable script is the single source for prompts, schemas, and orchestration.
Description discipline (enforced by the validator — these are the most-violated rules):
- 3 lines, ≤ 500 chars (validator hard cap: 1024 — 500 is the target, not the ceiling).
- 3-line structure only: WHAT / WHEN / NOT. Do NOT add a separate
Triggers:line. - NO synonym enumeration — modern semantic match handles all variants from one natural sentence.
- NO numeric scope thresholds (e.g.
">200 LOC") → those belong inbind.md. - NO Stage 0 justification rationale → that belongs in the body's intro paragraph.
- Per-role
purpose:field has a ≤150 char HARD CAP. Detail belongs inroles/<id>.md, not in SKILL.md frontmatter.
Calibration note: 500 chars is the target; 1024 is the validator's hard ceiling. Swarm Skills are inherently more complex than single-agent skills, so the extra room exists — but use it only when multi-role composition or trigger scope genuinely needs it. Stay concise; don't sacrifice clarity for arbitrary brevity.
Stage 6: Validate
Run the automated validator:
python scripts/validate_swarmskill.py path/to/<swarmskill-name>/
The validator checks two output shapes:
Full Markdown spec
- Structural: 5 files present, role file names match
roles[].id, no orphan role files - Frontmatter:
name/description/version/kind: swarm-skill/roles[]present; each role hasid+purpose;name== directory name - Section presence: SKILL.md body has
## Workflow/## Roles/## Files; eachroles/*.mdhas all 5 mandatory sections;workflow.mdhas## Overview/## Detailed Steps/## Acceptance Criteria(and at least one mermaid block);bind.mdhas all 3 mandatory sections - Cross-file consistency: every
roles[].skillsandroles[].toolsin SKILL.md appears independencies.yaml; every## Identityin roles starts with a> *"..."*motto line - Output discipline:
## Inline Persona for Teammatepresent in each role file;dependencies.yamlskills/tools segments present even if empty
Script-only SwarmFlow
- Structural: exactly
SKILL.md+scripts/workflow.py; noroles/,workflow.md,bind.md,dependencies.yaml, orprompts/ - SKILL.md: valid frontmatter plus
## Workflowand## Files;roles:omitted or empty - SwarmFlow script safety envelope: standalone script shape, inline prompts, safe imports, phase/agent consistency, schema permissiveness, and blocked runtime patterns
Exit code 0 = compliant. Non-zero exit prints the failing checks with file:line references.
The full script authoring constraint list lives only in templates/scripts/workflow.py.template. The manual checklist (for design-time judgment calls the script cannot automate, like "is this content really redundant?") lives in reference/compliance-checklist.md. Read it before declaring the Swarm Skill done.
Post-generation: Creation Summary + Community Enrichment
After Stage 6 passes, present a creation summary to the user. This is the natural point to assess capability coverage and offer community enrichment — the Swarm Skill is already complete and functional, so community search is a zero-risk enhancement.
Summary format:
Swarm Skill: <name>
Pattern: <A | B | C | Mixed>
Roles: <count> (<list of role ids>)
Validator: PASS
Per-role capability coverage:
| Role | Assigned skills/tools | Recommend community search? |
|---|---|---|
<role-id> |
<matched skills/tools, or "none"> |
<Yes / No — with reason> |
Recommendation logic — default is to recommend:
For each role, evaluate whether to recommend community skill search:
- Recommend (default) — any role that could benefit from a domain-specific community skill. This includes roles that already have generic utility skills (like
web-researchorcurl) but lack domain-specialized skills. A generic skill is NOT a substitute for domain expertise — see the anti-pattern below. - Do NOT recommend — only when the role is inherently self-sufficient: its task is pure reasoning, judgment, or text generation that would not benefit from any external skill or tool. Examples: an adversarial critic whose job is to find logical flaws, a copy-editor whose job is to refine prose. These roles operate entirely within the LLM's native capabilities.
Design intent: the agent is structurally biased toward skipping community search. Reject the two common rationalizations:
- "No skills assigned → the role works on LLM knowledge alone." A role can function, but a matching skill often dramatically improves output quality.
- "It already has a generic skill (e.g.
web-research) → covered." Harder to catch and equally wrong — generic retrieval is not domain expertise (see the anti-pattern below).
Default to recommend; the burden of proof is on not recommending. Test: "Does a domain-specific community skill exist that would give this role capabilities beyond its current generic skills?" If plausible → recommend.
Anti-pattern: "通用即覆盖" (generic = covered)
In
ecommerce-compare-debate-swarm, three platform shopper roles (taobao-shopper,pinduoduo-shopper,jingdong-shopper) each hadweb-researchassigned. The agent concluded "already covered — no community search needed." This is wrong:web-researchis general-purpose retrieval; it knows nothing about Taobao store tiers, PDD subsidy eligibility, or JD self-operated logistics. Community registries carry platform-specific shopping and buyer-agent skills that fill exactly this gap.Rule: if a role's identity is tied to a specific platform or professional domain, a generic utility skill does NOT count as coverage — always recommend community search for domain-specific skills.
High-signal scenarios — MUST recommend (non-exhaustive):
- Binary/office file output (PPTX, DOCX, XLSX, PDF) — LLM cannot generate binary formats natively; needs a skill wrapping python-pptx / docx etc.
- Diagram/chart rendering (Mermaid, Excalidraw, matplotlib) — LLM can describe but cannot render visuals without a generation skill.
- Specific file format parsing (CSV, images, audio, JSON-LD) — specialized parsing/validation skill is far more reliable than raw LLM attempts.
- Domain-specific platform / service interaction (e-commerce, social media, financial services, travel, healthcare, government portals, etc.) — community registries often encode platform-specific rules, workflows, or API integrations that generic retrieval cannot replicate (e.g. 淘宝/京东/拼多多 shopping skills, 买手/personal-shopper skills).
If a role hits these patterns and no domain-specific local skill covers it, recommend "Yes".
Community enrichment prompt:
If one or more roles are marked "Recommend: Yes", ask:
"The following roles have no domain-specific skills and could benefit from community skill enhancement: [table: Role | Current skills (if any) | What domain-specific skill would help] Shall I search community skill registries? The Swarm Skill is already complete — this is an optional enhancement. (Y/N)"
If user says Yes:
Read reference/community-search.md and follow its full procedure. Quick summary:
- Derive search queries from each role's
purpose,Success Criteria, andOutput Schema— generate 2–3 keyword variants per role (see §1 Keyword Derivation). - Multi-source parallel search — run both Tier 1 CLIs simultaneously:
npx skills find '<query>'(skills.sh — keyword matching, install counts)skillnet search '<query>' --mode vector(SkillNet — semantic vector search, quality evaluation)- If results are insufficient, escalate to Tier 2 web platforms (LLMBase, SkillsMP, LobeHub) and Tier 3 curated lists (awesome-agent-skills, awesome-claude-skills).
- Quality gates — every candidate must pass: install count (≥ 1K preferred), source reputation, security rating, freshness (see §3).
- Role-skill fit test — verify capability match and run the removal test: "would removing this skill significantly degrade the role's output?" (see §4).
- Present enrichment summary to the user with the standardized format (see §5) — full transparency on what was searched, found, selected, and rejected.
- Install approved skills, update
roles[].skillsin SKILL.md frontmatter +dependencies.yamlwithsource: <community-url>. - Re-run
python scripts/validate_swarmskill.pyto confirm consistency.
If user says No → done. The Swarm Skill is fully functional as-is.
Decision rules:
- Default: recommend — empty
skills: []= recommend community search; also recommend when a role only has generic utility skills (e.g.web-research) but lacks domain-specific skills matching its identity. Burden of proof is on NOT recommending. - Prefer local over community — never search for capabilities already covered by a domain-equivalent local skill. A generic retrieval skill does NOT count as domain coverage.
- Per-role soft limit ≤ 1 community skill — if a role needs 2+, it may be too broad (consider splitting).
- Team-level soft limit: community deps ≤ role count — exceeding this signals over-engineering.
- Never force a dependency — mark
required: falseif the role can function without it.
Roles
This skill has no Swarm Skill roles itself — it is a single-agent skill that authors Swarm Skills. The agent loading this skill plays the author/architect role.
Files
| File | What it contains | When to read |
|---|---|---|
| reference/pattern-selection.md | A/B/C/Mixed pattern decision tree with worked examples | Stage 1a (before committing to a pattern) |
| reference/role-design.md | How to author the 5 mandatory role sections; gate design between stages; anti-convergence techniques | Stage 2 + Stage 3 |
| reference/conversion-guide.md | Step-by-step methodology for converting a single-agent skill into a Swarm Skill, with a worked example | Stage 1b (CONVERT mode only) |
| reference/compliance-checklist.md | Responsibility-attribution tests + manual-review checklist; explains what the validator can and cannot catch | Stage 6 (after the script passes) |
| reference/community-search.md | Multi-source search strategy (keyword derivation, quality gates, role-skill fit test) for finding community skills | Post-generation (community enrichment step) |
| templates/ | 5 file skeletons with placeholders and inline guidance comments | Stages 2–5 (each stage references its template) |
| templates/scripts/workflow.py.template | Executable SwarmFlow orchestration skeleton | Stage 3b when code orchestration is requested |
| scripts/validate_swarmskill.py | Automated structural + frontmatter + section + cross-file consistency checks | Stage 6 (run on every Swarm Skill before declaring done) |
Common pitfalls
Detailed pitfall analysis is in the reference files — read them during the corresponding stage:
- Role authoring mistakes (motto, boundary, persona): reference/role-design.md § Putting it together: a role file checklist
- Content quality judgment calls (anti-convergence, gate strength, bind numbers): reference/compliance-checklist.md Part B
- Pattern selection errors (council of clones, pipeline without gates, decomposition without disjointness): reference/pattern-selection.md § Anti-patterns
The three most common structural mistakes (caught by the validator, but worth internalizing):
- Skipping auto-matching in Stage 2 — jumping from role design to empty
skills: []/tools: []without scanning locally available skills/tools. Fix: always run the auto-matching sub-step; empty lists are valid only after the scan confirms no matches. roles[].skillsdeclared in SKILL.md but missing fromdependencies.yaml— silent contract violation. Fix: run the validator.- Mermaid in SKILL.md body — duplicating the diagram from
workflow.md. Mermaid belongs only inworkflow.md.
Quick start
For a CREATE request:
- Confirm Stage 0 justification with the user (which failure mode does single-agent hit?)
- Read reference/pattern-selection.md and pick A / B / C / mixed
- Write all
roles/<id>.mdfiles (motto, boundary, schema, inline persona) + auto-match local skills/tools - Write
workflow.md; if output shape includes SwarmFlow, draftscripts/workflow.pytopology from it - Write
bind.md; if output shape includes SwarmFlow, updatescripts/workflow.pyfor executable retry/failure/degraded behavior - Write
dependencies.yaml→SKILL.md(each using its template) - Run
python scripts/validate_swarmskill.py <swarmskill-name>/until exit 0 - Present creation summary with per-role capability coverage → recommend community search for roles lacking domain-specific skills (default: recommend; generic utility skills do NOT satisfy the threshold)
- Manual review with reference/compliance-checklist.md
For a script-only SwarmFlow CREATE request:
- Use this path when the request mentions 工作流 / workflow / SwarmFlow /
workflow.py/ executable orchestration / code orchestration / 可执行编排 / 编排脚本, unless the user also asks for a full team skill spec. - Write a minimal
SKILL.mdwithkind: swarm-skill, concise trigger description, no non-emptyroles:,## Workflow, and## Files. - Write
scripts/workflow.pyfrom templates/scripts/workflow.py.template, deleting placeholders and template notes. Inline every agent prompt in this script. - Run
python scripts/validate_swarmskill.py <swarmskill-name>/until exit 0. - Present the script path and explain that this skill is optimized for SwarmFlow execution, not full-spec role evolution.
For a CONVERT request:
- Read the source single-agent SKILL.md
- Apply reference/conversion-guide.md decomposition checklist
- Articulate "what is lost in single-agent form" — this is the Stage 0 justification
- Continue from CREATE step 2 (pattern selection) onward
- Add a
MIGRATION.md(optional) to the new Swarm Skill explaining the source skill, the decomposition rationale, and the team-vs-single delta
For a MODIFY request:
- Identify the change type from the impact matrix below
- Re-run the indicated stages; apply edits honoring the section + structure rules (mottos, Forbidden+Mandatory, Inline Persona, gates, numeric bind constraints)
- Run
python scripts/validate_swarmskill.py <swarmskill-name>/— Stage 6 is mandatory regardless of edit size
MODIFY impact matrix
| Change type | Re-run stages | Files to update |
|---|---|---|
| Edit role Identity / Boundary / Schema | Stage 2 (affected role only) | roles/<id>.md |
| Add or remove a role | Stage 1a + 2 + 3 + 4 + 5 | All 5 files |
| Change workflow steps / topology | Stage 3 | workflow.md + bind.md (if constraints change) |
| Change bind constraints | Stage 4 | bind.md |
| Change dependencies | Stage 2 (auto-match) + 5 | dependencies.yaml + SKILL.md frontmatter |
| Edit SKILL.md description / purpose | Stage 5b | SKILL.md |
| Add, remove, or change SwarmFlow code orchestration | Stage 3b + Stage 4 if failure behavior changes + 6 | scripts/workflow.py + SKILL.md ## Files if needed |
All rows require Stage 6 (validator) as the final step.