Agent skill

Choosing Swarm Patterns

by AgentWorkforce in AgentWorkforce/relay

A skill your agent uses when coordinating multiple AI agents with Agent Relay's workflow engine and need to pick the right orchestration pattern - covers the 10 core patterns (fan-out, pipeline…

Apache-2.0Auto-check passed

Install Choosing Swarm Patterns

skills CLI
$ npx skills add AgentWorkforce/relay --skill choosing-swarm-patterns -a claude-code

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

GitHub CLI
$ gh skill install AgentWorkforce/relay choosing-swarm-patterns --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/AgentWorkforce/relay.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/choosing-swarm-patterns .claude/skills/choosing-swarm-patterns && 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
choosing-swarm-patterns
GitHub stars
865
Token cost
~5.8k tokens
SKILL.md length
1,112 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when coordinating multiple AI agents with Agent Relay's workflow engine and need to pick the right orchestration pattern - covers the 10 core patterns (fan-out, pipeline…

  • Works in 10 steps: fan-out — Parallel Workers → pipeline — Sequential Stages → hub-spoke — Persistent Coordinator → …
  • Hierarchical) plus 14 specialized ones
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • With decision framework and accurate SDK/YAML examples

What it does

Choosing Swarm Patterns is an agent skill from AgentWorkforce/relay. Use when coordinating multiple AI agents with Agent Relay's workflow engine and need to pick the right orchestration pattern - covers the 10 core patterns (fan-out, pipeline, hub-spoke, consensus, mesh, handoff, cascade, dag, debate, hierarchical) plus 14 specialized ones, with decision framework and accurate SDK/YAML examples.

Its SKILL.md is about 5.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: Infrastructure for coding agents. The licence is Apache-2.0.

When your agent uses it

  • Hierarchical) plus 14 specialized ones
  • With decision framework and accurate SDK/YAML examples

Example prompts

  • “/choosing-swarm-patterns”

Workflow steps

10 steps, taken from the step headings in SKILL.md.

  1. fan-out — Parallel Workers
  2. pipeline — Sequential Stages
  3. hub-spoke — Persistent Coordinator
  4. consensus — Cooperative Voting
  5. mesh — Peer Collaboration
  6. handoff — Dynamic Routing
  7. cascade — Cost-Aware Fallthrough
  8. dag — Directed Acyclic Graph
  9. debate — Adversarial Refinement
  10. hierarchical — Multi-Level (structurally hub-spoke today)

What it can do on your machine

Read from SKILL.md and the folder at commit 734600d. 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 (its code samples are yaml and typescript).

    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

Choosing Swarm Patterns loads about 5.8k tokens when it runs. Until then it costs about 88 tokens; SKILL.md has 1,112 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~88
When it runs · the whole SKILL.md, loaded when a task matches
~5.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 AgentWorkforce/relay at commit 734600d, republished under its Apache-2.0 licence (© AgentWorkforce). 1,112 words, ~5,758 tokens.

Download SKILL.mdSave it as .claude/skills/choosing-swarm-patterns/SKILL.md (or your agent's skills folder).
name
choosing-swarm-patterns
description
Use when coordinating multiple AI agents with Agent Relay's workflow engine and need to pick the right orchestration pattern - covers the 10 core patterns (fan-out, pipeline, hub-spoke, consensus, mesh, handoff, cascade, dag, debate, hierarchical) plus 14 specialized ones, with decision framework and accurate SDK/YAML examples.
Overview
Overview

The Agent Relay SDK (@agent-relay/sdk) supports 24 swarm patterns via a single swarm.pattern field. Patterns are configured declaratively in YAML — there are no standalone fanOut(...) / hubAndSpoke(...) helpers. Pick the simplest pattern that solves the problem; add complexity only when the system proves it's insufficient.

Run a pattern
TypeScript SDK runner
ts
import { runWorkflow } from '@agent-relay/sdk/workflows';
const run = await runWorkflow('workflows/feature-dev.yaml', {
  vars: { task: 'Add OAuth login' },
});
Quick Decision Framework
text
Is the task independent per agent?
  YES → fan-out (parallel workers, hub collects)
Does each step need the previous step's output?
  YES → Is it strictly linear?
    YES → pipeline
    NO  → dag (parallel where possible, `dependsOn` edges)
Does a coordinator need to stay alive and adapt?
  YES → hub-spoke (single-level hub + workers)
        hierarchical (structurally identical in current impl; use for naming/intent)
Is the task about making a decision?
  YES → Do agents need to argue opposing sides?
    YES → debate (adversarial, full mesh)
    NO  → consensus (cooperative, full mesh + coordination.consensusStrategy)
Does the right specialist emerge during processing?
  YES → handoff (sequential chain, one active at a time)
Do all agents need to freely collaborate?
  YES → mesh (full peer-to-peer edges)
Is cost the primary concern?
  YES → cascade (chain of increasingly capable agents; each step's prompt
        decides whether to pass through or redo the prior output)
Pattern Reference (Core 10)
#PatternTopology (actual edges)Best For
1fan-outHub broadcasts to N workers; workers reply to hub onlyIndependent subtasks (reviews, research, tests)
2pipelineLinear chain (agent_i → agent_{i+1})Ordered stages (design → implement → test)
3hub-spokeHub ↔ spokes (bidirectional); no spoke-to-spokeDynamic coordination, lead reviews/adjusts
4consensusFull mesh; decision via coordination.consensusStrategyArchitecture decisions, approval gates
5meshFull mesh (every agent ↔ every other)Brainstorming, collaborative debugging
6handoffChain; passes control forwardTriage, specialist routing
7cascadeChain of dependsOn steps; all run on success, downstream skipped on upstream failure (no built-in "fall through")Cost optimization: cheap first, each step's prompt passes through or redoes
8dagEdges from step dependsOnMixed dependencies, parallel where possible
9debateFull mesh (same topology as mesh; roles drive behavior)Rigorous adversarial examination
10hierarchicalHub + subordinates (single-level in current impl)Large teams; semantic distinction from hub-spoke

Heads up: hierarchical resolves to the same edge structure as hub-spoke in coordinator.ts:313-319. Multi-level tree topology is not currently implemented — use pattern name for intent, but expect the same runtime graph.

Additional Patterns (role-driven)

These 14 additional patterns exist in SwarmPattern (types.ts:114-139). The coordinator has role-based auto-selection heuristics (coordinator.ts:51-165), but they only fire when swarm.pattern is omitted — YAML validation requires it (runner.ts:2105-2117), so auto-selection is effectively a programmatic-API feature. In YAML, set swarm.pattern explicitly. Topology is still resolved per-pattern once selected; the "Triggering roles" column reflects what the coordinator looks for to shape edges (per coordinator.ts:250-450):

PatternRoles the topology keys offTopology
map-reducemapper + reducercoordinator → mappers → reducers → coordinator
scatter-gather—hub → workers → hub
supervisorsupervisorsupervisor ↔ workers
reflectioncritic or reviewer (auto-select uses critic only)producers → critic → producers (loop)
red-teamattacker/red-team + defender/blue-teamadversarial mesh with optional judges
verifierverifierproducers → verifiers → back to producers
auctionauctioneerauctioneer → bidders → auctioneer
escalationtier-*tiered chain, escalate up / report down
sagasaga-orchestrator, compensate-handlerorchestrator ↔ participants
circuit-breakerprimary + fallback/backuptry primary, fallback on failure
blackboardblackboard / shared-workspaceshared state hub
swarmhive-mind / swarm-agentstigmergy-style
competitive— (declared explicitly)independent parallel implementations + judge
review-loopimplement* + 2+ reviewer*implementer ↔ reviewers
Structured Squad Review Loop
  • Split the work into bounded implementation squads. Each squad owns a non-overlapping file or subsystem scope.
  • Give each squad an implementer plus a shadow/review partner. The shadow follows the implementer in real time, checks alignment with the spec, and posts concise feedback before the work drifts.
  • Require the implementer to self-reflect before external review: compare the final diff against the spec, AGENTS.md / CLAUDE.md, recent local conventions, tests, and declared non-goals.
  • Run an independent self-review/fresh-eyes agent that reads the actual files and recent repo context, not just the chat transcript.
  • Send that review back to the implementer for one repair round.
  • After squads converge, run a final two-agent review team, usually one Claude reviewer and one Codex reviewer, independently. They compare notes, merge findings, and produce one final verdict.
  • Spawn fresh fix agents for final-review findings. Those fix agents self-reflect, then the final reviewers re-check the post-fix state until the spec is fully satisfied or a blocker is documented.
  • Use supervisor or hub-spoke when a lead needs to coordinate live squads.
  • Use review-loop when the main risk is code quality and feedback iteration.
  • Use reflection when critic feedback should loop directly back to producers.
  • Use verifier when completion evidence matters more than design debate.
  • Use competitive only when independent alternative implementations are useful; otherwise split by ownership scope.
Pattern Details

The per-pattern YAML snippets below show only the pattern-relevant fields. A runnable YAML file also needs the required top-level version and name; see the Complete YAML Example.

1. fan-out — Parallel Workers
yaml
swarm: { pattern: fan-out }
agents:
  - { name: lead, cli: claude, role: lead }
  - { name: auth-rev, cli: claude, role: worker, interactive: false }
  - { name: db-rev, cli: claude, role: worker, interactive: false }
workflows:
  - name: review
    steps:
      - { name: review-auth, agent: auth-rev, task: 'Review auth.ts' }
      - { name: review-db, agent: db-rev, task: 'Review db.ts' }
2. pipeline — Sequential Stages
yaml
swarm: { pattern: pipeline }
agents:
  - { name: designer, cli: claude }
  - { name: implementer, cli: codex, interactive: false }
  - { name: tester, cli: codex, interactive: false }
workflows:
  - name: build
    steps:
      - {
          name: design,
          agent: designer,
          task: 'Design the API schema',
          verification: { type: output_contains, value: DONE },
        }
      - {
          name: implement,
          agent: implementer,
          dependsOn: [design],
          task: 'Implement: {{steps.design.output}}',
        }
      - { name: test, agent: tester, dependsOn: [implement], task: 'Write integration tests' }
3. hub-spoke — Persistent Coordinator
yaml
swarm:
  pattern: hub-spoke
  channel: swarm-api
agents:
  - { name: lead, cli: claude, role: lead }
  - { name: db-worker, cli: claude, role: worker }
  - { name: api-worker, cli: claude, role: worker }
workflows:
  - name: api-build
    steps:
      - { name: models, agent: db-worker, task: 'Build database models' }
      - { name: routes, agent: api-worker, task: 'Build route handlers', dependsOn: [models] }
      - { name: review, agent: lead, task: 'Review everything', dependsOn: [routes] }
4. consensus — Cooperative Voting
yaml
swarm: { pattern: consensus }
agents:
  - { name: perf, cli: claude, role: reviewer }
  - { name: dx, cli: claude, role: reviewer }
  - { name: sec, cli: claude, role: reviewer }
coordination:
  consensusStrategy: majority # declarative marker: majority | unanimous | quorum
  votingThreshold: 0.66
workflows:
  - name: decide
    steps:
      - { name: evaluate-perf, agent: perf, task: 'Evaluate perf of Fastify migration' }
      - { name: evaluate-dx, agent: dx, task: 'Evaluate DX of Fastify migration' }
      - { name: evaluate-sec, agent: sec, task: 'Evaluate security of Fastify migration' }
5. mesh — Peer Collaboration
yaml
swarm:
  pattern: mesh
  channel: swarm-debug
agents:
  - { name: logs, cli: claude }
  - { name: code, cli: claude }
  - { name: repro, cli: claude }
workflows:
  - name: debug-auth
    steps:
      - { name: logs, agent: logs, task: 'Check server logs' }
      - { name: code, agent: code, task: 'Review auth code' }
      - { name: repro, agent: repro, task: 'Write repro test' }
Show full SKILL.md (444 more words)Show less
6. handoff — Dynamic Routing
yaml
swarm: { pattern: handoff }
agents:
  - { name: triage, cli: claude }
  - { name: billing, cli: claude }
  - { name: tech, cli: claude }
workflows:
  - name: support
    steps:
      - { name: triage, agent: triage, task: 'Triage: {{request}}' }
      - { name: billing, agent: billing, dependsOn: [triage], task: 'Handle billing' }
      - { name: tech, agent: tech, dependsOn: [triage], task: 'Handle tech issues' }
7. cascade — Cost-Aware Fallthrough
yaml
swarm: { pattern: cascade }
agents:
  - { name: haiku, cli: claude, model: claude-haiku-4-5-20251001 }
  - { name: sonnet, cli: claude, model: claude-sonnet-4-6 }
  - { name: opus, cli: claude, model: claude-opus-4-7 }
workflows:
  - name: answer
    steps:
      - { name: try-haiku, agent: haiku, task: '{{question}}' }
      - name: try-sonnet
        agent: sonnet
        dependsOn: [try-haiku]
        task: "If this is a complete answer, echo it verbatim. Otherwise answer anew:\n{{steps.try-haiku.output}}"
      - name: try-opus
        agent: opus
        dependsOn: [try-sonnet]
        task: "Final-tier answer, using prior attempts for context:\n{{steps.try-sonnet.output}}"
8. dag — Directed Acyclic Graph
yaml
swarm:
  pattern: dag
  maxConcurrency: 3
agents:
  - { name: dev, cli: codex, role: worker }
workflows:
  - name: fullstack
    steps:
      - { name: scaffold, agent: dev, task: 'Create project scaffold' }
      - { name: frontend, agent: dev, task: 'Build React UI', dependsOn: [scaffold] }
      - { name: backend, agent: dev, task: 'Build API', dependsOn: [scaffold] }
      - { name: integrate, agent: dev, task: 'Wire together', dependsOn: [frontend, backend] }
9. debate — Adversarial Refinement
yaml
swarm: { pattern: debate }
agents:
  - { name: pro, cli: claude, role: debater, task: 'Argue FOR monorepo' }
  - { name: con, cli: claude, role: debater, task: 'Argue FOR polyrepo' }
  - { name: judge, cli: claude, role: judge, task: 'Decide after 3 rounds' }
coordination:
  barriers:
    - { name: debate-done, waitFor: [pro-round-3, con-round-3] }
10. hierarchical — Multi-Level (structurally hub-spoke today)
yaml
swarm: { pattern: hierarchical }
agents:
  - { name: lead, cli: claude, role: lead }
  - { name: fe-coord, cli: claude, role: coordinator }
  - { name: be-coord, cli: claude, role: coordinator }
  - { name: fe-dev, cli: codex, role: worker, interactive: false }
  - { name: be-dev, cli: codex, role: worker, interactive: false }
workflows:
  - name: large-team
    steps:
      - { name: plan, agent: lead, task: 'Coordinate full-stack app' }
      - { name: fe-plan, agent: fe-coord, task: 'Manage frontend', dependsOn: [plan] }
      - { name: be-plan, agent: be-coord, task: 'Manage backend', dependsOn: [plan] }
      - { name: fe-impl, agent: fe-dev, task: 'Build components', dependsOn: [fe-plan] }
      - { name: be-impl, agent: be-dev, task: 'Build API', dependsOn: [be-plan] }
Verification & Completion Signals
An agent step can complete in several ways (runner.ts:5353-5395, runner.ts:4527-4538):
yaml
verification:
  type: output_contains # or: exit_code | file_exists | custom
  value: DONE # or: PLAN_COMPLETE, IMPLEMENTATION_COMPLETE, REVIEW_COMPLETE
Agent Relay MCP — Correct Tool Names

The old category-expanded names are wrong. Current Agent Relay MCP tools are flat names. In a client that decorates MCP tools, the prefix comes from the configured server key. With the relay broker's agent-relay server key, Claude Code users commonly see mcp__agent-relay__send_dm; Codex and opencode users see the bare canonical name send_dm.

PurposeCanonical toolClaude Code form with agent-relay key
Send DM to another agentsend_dmmcp__agent-relay__send_dm
Check inboxcheck_inboxmcp__agent-relay__check_inbox
List agentslist_agentsmcp__agent-relay__list_agents
Post to a channelpost_messagemcp__agent-relay__post_message
Reply in a threadreply_to_threadmcp__agent-relay__reply_to_thread
Spawn sub-agentadd_agentmcp__agent-relay__add_agent
Remove sub-agentremove_agentmcp__agent-relay__remove_agent

interactive: false agents run as non-interactive subprocesses with no relay connection. They must not call Relay MCP tools.

Reflection (Trajectories)
Reflection is not a reflectionThreshold callback. It's configured via the trajectories: block:
yaml
trajectories:
  enabled: true
  reflectOnBarriers: true # config flag exists but runner does NOT currently invoke this path
  reflectOnConverge: true # fires at parallel convergence points (runner.ts:2762-2779)
  autoDecisions: true # record retry/skip/fail decisions
Common Mistakes
MistakeWhy It FailsFix
Using mesh/debate for everythingFull-mesh blows up message volume past ~5 agentsUse hub-spoke or dag for most tasks
Pipeline for independent workSequential bottleneckUse fan-out or dag
Hub-spoke for 2 agentsHub is unnecessary overheadUse pipeline or fan-out
Expecting consensusStrategy to tally votesRunner has no vote-tally logic; field only affects coordinator auto-selectionAggregate votes in a judge/lead step that reads {{steps.*.output}}
Handoff with "routing = skip other branches"Skipping only fires on upstream failure, not routing decisionsEmit a routing token in triage output; downstream prompts self-no-op if token doesn't match
Cascade expecting skip-on-successRunner has no cascade skip logic; failed upstream skips downstreamChain downstream prompts to pass-through or redo based on {{steps.previous.output}}
Relying on reflectOnBarriersConfig flag exists but runner never calls itUse reflectOnConverge for convergence reflection; use reflection pattern for critic loops
interactive: false agent calling MCPNon-interactive subprocess has no relayUse interactive: true (default) or emit output on stdout
Relying on multi-level hierarchicalTopology is single-level hub in current implUse pattern for naming; model levels via dependsOn graph
Writing mcp__relaycast__send(...)Wrong tool nameUse post_message / mcp__agent-relay__post_message or send_dm / mcp__agent-relay__send_dm
Resume & Re-run
ts
// Resume a failed run:
await runWorkflow('feature-dev.yaml', { resume: '<runId>' });
// Skip ahead, re-using cached outputs from an earlier run:
await runWorkflow('feature-dev.yaml', {
  startFrom: 'review',
  previousRunId: '<runId>',
});
Complete YAML Example
yaml
version: '1.0'
name: feature-dev
description: 'Blueprint-style feature development with quality gates.'
swarm:
  pattern: hub-spoke
  maxConcurrency: 2
  timeoutMs: 3600000
  channel: swarm-feature-dev
  idleNudge: { nudgeAfterMs: 120000, escalateAfterMs: 120000, maxNudges: 1 }
agents:
  - { name: lead, cli: claude, role: lead, permissions: { access: full } }
  - { name: planner, cli: codex, role: planner, interactive: false, permissions: { access: readonly } }
  - { name: developer, cli: codex, role: worker, interactive: false, permissions: { access: readwrite } }
  - { name: reviewer, cli: claude, role: reviewer, permissions: { access: readonly } }
workflows:
  - name: feature-delivery
    onError: retry
    preflight:
      - { command: 'git status --porcelain', failIf: non-empty, description: 'Clean worktree' }
    steps:
      - name: plan
        agent: planner
        task: 'Plan: {{task}}'
        verification: { type: output_contains, value: PLAN_COMPLETE }
      - name: implement
        agent: developer
        dependsOn: [plan]
        task: 'Implement: {{steps.plan.output}}'
        verification: { type: output_contains, value: IMPLEMENTATION_COMPLETE }
      - name: test
        type: deterministic
        dependsOn: [implement]
        command: npm test
      - name: review
        agent: reviewer
        dependsOn: [test]
        task: 'Review implementation'
        verification: { type: output_contains, value: REVIEW_COMPLETE }
coordination:
  barriers:
    - { name: delivery-ready, waitFor: [plan, implement, review], timeoutMs: 900000 }
trajectories:
  enabled: true
  reflectOnBarriers: true
  reflectOnConverge: true
errorHandling:
  strategy: retry
  maxRetries: 2
  retryDelayMs: 5000
Source of Truth
ClaimFile
Pattern enum (24 patterns)packages/sdk/src/workflows/types.ts:114-139
Topology resolution per patternpackages/sdk/src/workflows/coordinator.ts:240-450
Interactive-only topology edgespackages/sdk/src/workflows/coordinator.ts:218-237
Pattern auto-selection heuristics (programmatic API only)packages/sdk/src/workflows/coordinator.ts:51-165
runWorkflow(yamlPath, options)packages/sdk/src/workflows/run.ts
YAML validation requires version + name + swarm.patternpackages/sdk/src/workflows/runner.ts:2105-2117
MCP tool names cited in convention-injectionpackages/sdk/src/relay-adapter.ts:29-36
Completion modes (verification / evidence / owner / process-exit)packages/sdk/src/workflows/runner.ts:5353-5395, 4527-4538
Completion via PTY + summary fallbackpackages/sdk/src/workflows/runner.ts:6600-6615
Downstream skip on upstream failure (not success)packages/sdk/src/workflows/runner.ts:7057-7088, step-executor.ts:329-334
Trajectory reflection (only reflectOnConverge wired)packages/sdk/src/workflows/runner.ts:2762-2779, trajectory.ts:173-190

© AgentWorkforce, Apache-2.0. 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 .agents/skills/choosing-swarm-patterns of AgentWorkforce/relay.

Open the folder on GitHubat commit 734600d

Compare with similar skills

Choosing Swarm Patterns 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.

Choosing Swarm Patterns compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Choosing Swarm Patterns this skillAgentWorkforce/relay865—~5.8kAutomated safety check: PassApache-2.0
Agent Coordinator Swarm Initruvnet/ruflo74k2 repos~997Automated safety check: PassMIT
Swarm Orchestrationruvnet/ruflo74k—~261Automated safety check: PassMIT
Swarm Orchestrationruvnet/ruflo74k2 repos~779Automated safety check: PassMIT
Swarm Coordinationruvnet/agentic-flow816—~579Automated safety check: PassNone
Agent Swarmruvnet/ruflo74k3 repos~891Automated safety check: PassMIT

Similar skills

  • Agent skill for coordinator-swarm-init - invoke with $agent-coordinator-swarm-init

    74k GitHub starsUsed in 2 repos~997 tokens
    Auto-check passed
  • Multi-agent swarm coordination for complex tasks. An agent skill from ruvnet/ruflo.

    74k GitHub stars~261 tokensUpdated today
    DevelopmentAuto-check passed
  • Coordinates a hierarchical swarm of specialized agents through the claude-flow CLI for work that spans several files or modules at once.

    74k GitHub starsUsed in 2 repos~779 tokens
    Agent WorkflowsAuto-check passed
  • Swarm Coordination

    ruvnet/agentic-flow

    Orchestrate multi-agent swarms for complex parallel task execution

    816 GitHub stars~579 tokensUpdated 21 days ago
    Agent WorkflowsAuto-check passed
  • Agent Swarm

    ruvnet/ruflo

    Agent skill for swarm - invoke with $agent-swarm. An agent skill from ruvnet/ruflo.

    74k GitHub starsUsed in 3 repos~891 tokens
    Agent WorkflowsAuto-check passed
  • Swarm Coordinator

    LearnPrompt/cc-harness-skills

    Coordinate multiple agents by splitting work into research, synthesis, implementation, and verification, assigning ownership, and keeping the coordinator focused on integration rather than raw…

    236 GitHub stars~346 tokensUpdated 2 mo ago
    Agent WorkflowsAuto-check passed

More from AgentWorkforce/relay

All 14 skills in this repo
  • A skill your agent uses when testing web applications with visual verification - automates Chrome browser interactions, element selection, and screenshot capture for confirming UI functionality

    865 GitHub starsUsed in 1 repo~2.2k tokens
    Auto-check passed
  • Agent Relay

    AgentWorkforce/relay

    A skill your agent uses when you need Codex to coordinate multiple agents through Agent Relay for peer-to-peer messaging, lead/worker handoffs, or shared status tracking across sub-agents and…

    865 GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Debugging Websocket Issues

    AgentWorkforce/relay

    A skill your agent uses when seeing WebSocket errors like "Invalid frame header", "RSV1 must be clear", or "WSERRUNEXPECTEDRSV1" - covers multiple WebSocketServer conflicts, compression issues, and…

    865 GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • GitHub OAuth Nango Integration

    AgentWorkforce/relay

    A skill your agent uses when implementing GitHub OAuth + GitHub App authentication with Nango - provides two-connection pattern for user login and repo access with webhook handling

    865 GitHub starsUsed in 1 repo~3.4k tokens
    Auto-check passed
  • Implementing Command Palettes

    AgentWorkforce/relay

    A skill your agent uses when building Cmd+K command palettes in React - covers keyboard navigation with arrow keys, keeping selected items in view with scrollIntoView, filtering with shortcut…

    865 GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Using Agent Relay

    AgentWorkforce/relay

    A skill your agent uses when you are a registered relay agent (a spawned worker, or a lead that called registeragent) coordinating with peers in real time over current Agent Relay MCP tools -…

    865 GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed

Questions about Choosing Swarm Patterns

What does Choosing Swarm Patterns do?

A skill your agent uses when coordinating multiple AI agents with Agent Relay's workflow engine and need to pick the right orchestration pattern - covers the 10 core patterns (fan-out, pipeline…. Choosing Swarm Patterns is an agent skill from AgentWorkforce/relay. Use when coordinating multiple AI agents with Agent Relay's workflow engine and need to pick the right orchestration pattern - covers the 10 core patterns (fan-out, pipeline, hub-spoke, consensus, mesh, handoff, cascade, dag, debate, hierarchical) plus 14 specialized ones, with decision framework and accurate SDK/YAML examples.

When should I use Choosing Swarm Patterns?

Choosing Swarm Patterns fits situations like: hierarchical) plus 14 specialized ones; with decision framework and accurate SDK/YAML examples.

How do I install Choosing Swarm Patterns in Claude Code?

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

How do I install Choosing Swarm Patterns in Codex?

Run `npx skills add AgentWorkforce/relay --skill choosing-swarm-patterns -a codex`. Or copy the skill folder (.agents/skills/choosing-swarm-patterns in AgentWorkforce/relay) into .agents/skills/choosing-swarm-patterns in your project. Codex loads it when a task matches its description.

Can I use Choosing Swarm Patterns 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 AgentWorkforce/relay --skill choosing-swarm-patterns -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/choosing-swarm-patterns, .gemini/skills/choosing-swarm-patterns, .github/skills/choosing-swarm-patterns and .opencode/skills/choosing-swarm-patterns in your project.

What does Choosing Swarm Patterns need to run?

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

Does Choosing Swarm Patterns 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 Choosing Swarm Patterns 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 Choosing Swarm Patterns use?

Choosing Swarm Patterns is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Choosing Swarm Patterns use?

About 5.8k tokens (SKILL.md is roughly 23k 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 Choosing Swarm Patterns?

Skills that share tags, products or a category with Choosing Swarm Patterns: Agent Coordinator Swarm Init (ruvnet/ruflo, 74k stars), Swarm Orchestration (ruvnet/ruflo, 74k stars), Swarm Orchestration (ruvnet/ruflo, 74k stars) and Swarm Coordination (ruvnet/agentic-flow, 816 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Choosing Swarm Patterns?

AgentWorkforce (a GitHub organization) maintains it in AgentWorkforce/relay, which has 865 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 7, 2026.

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