Agent skill

Swarms Multi-Agent Framework

by kyegomez in kyegomez/swarms

Teaches the Swarms Python framework: the Agent class, tools, loops, memory and multi-agent structures such as sequential, concurrent and graph workflows.

Apache-2.0Auto-check passedAI & LLM Engineering

Install Swarms Multi-Agent Framework

skills CLI
$ npx skills add kyegomez/swarms --skill swarms -a claude-code

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

GitHub CLI
$ gh skill install kyegomez/swarms swarms --agent claude-code

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

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

Facts

Skill name
swarms
GitHub stars
7.2k
Token cost
~5.5k tokens
SKILL.md length
1,306 words
Files
1,467 (incl. scripts)
Skills in repo
1
Repo updated
First seen
Licence
Apache-2.0

At a glance

Teaches the Swarms Python framework: the Agent class, tools, loops, memory and multi-agent structures such as sequential, concurrent and graph workflows.

  • Works in 6 steps: Import from the top level: from swarms… → Every agent needs a unique agent_name —… → Default to max_loops=1. Use a specific… → …
  • Writing code that imports the swarms package
  • SKILL.md covers Golden rules, Setup, Choosing one and SequentialWorkflow, plus 13 more sections
  • Calls pip; needs OPENAI_API_KEY and ANTHROPIC_API_KEY

What it does

The skill is a working guide to the Swarms framework, in which every setup is built from one primitive, the Agent, that multi-agent structures compose. It is verified against swarms v14.0.0 and opens with golden rules: import Agent from the top-level swarms package, give every agent a unique agent_name because memory files and routing key on it, default to a max_loops of 1, pass tools=None instead of an empty list, and never set streaming_on together with streaming_callback.

It documents setup with pip install -U swarms and provider keys for any LiteLLM model string, then tabulates the Agent parameters that matter, such as agent_name, system_prompt, model_name, max_loops, tools, temperature, context_length and output_type, out of more than 90. The architectures it names include SequentialWorkflow, ConcurrentWorkflow, GraphWorkflow, HierarchicalSwarm and SwarmRouter, and it sends the agent to the 586 runnable examples in the repository's examples folder.

When your agent uses it

  • Writing code that imports the swarms package
  • Choosing a multi-agent structure such as a sequential, concurrent or hierarchical workflow
  • Debugging an Agent that loops, streams or builds tool schemas incorrectly
  • Reviewing Swarms code against the framework's conventions

Example prompts

  • “Write a Swarms SequentialWorkflow with a researcher agent and a writer agent.”
  • “My Agent fails when I pass tools=[]. Fix it the way Swarms expects.”
  • “Route incoming tasks between three specialist agents using SwarmRouter.”
  • “Add streaming output to this Swarms agent without breaking the callback setup.”

Requirements

  • Python, with swarms installed through pip
  • An API key for the model provider you use

Workflow steps

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

  1. Import from the top level: from swarms import Agent, never from swarms.structs.agent import Agent. The one common exception is…
  2. Every agent needs a unique agent_name — memory files and swarm routing key on it.
  3. Default to max_loops=1. Use a specific integer for production. Use "auto" only for genuinely open-ended work.
  4. Pass tools=None, not tools=[]. An empty list breaks schema generation.
  5. Check examples/ — 586 runnable examples live there. One is probably close to what you need.
  6. Never set streaming_on=True and streaming_callback together. Pick one.

What it can do on your machine

Read from SKILL.md and the folder at commit 0e615ce. 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

    Ships 1 file in scripts/, which the agent can run.

    Shell commands in SKILL.md call:

    • pip

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

  • Network

    Links to these hosts (documentation or services it may open):

    • docs.swarms.world
    • docs.litellm.ai

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

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • OPENAI_API_KEY
    • ANTHROPIC_API_KEY
    • GROQ_API_KEY

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

Context cost

Swarms Multi-Agent Framework loads about 5.5k tokens when it runs. Until then it costs about 83 tokens; SKILL.md has 1,306 words of instructions outside code blocks.

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

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); the scripts in this folder are not scanned.

SKILL.md

The full file from kyegomez/swarms at commit 0e615ce, republished under its Apache-2.0 licence (© kyegomez). 1,306 words, ~5,526 tokens.

Download SKILL.mdSave it as .claude/skills/swarms/SKILL.md (or your agent's skills folder). This skill also uses 1466 other files; get the full folder from GitHub.
name
swarms
description
Build agents and multi-agent systems with the Swarms framework — the Agent class, tools, autonomous loops, memory, and the 15+ multi-agent architectures (SequentialWorkflow, ConcurrentWorkflow, GraphWorkflow, HierarchicalSwarm, SwarmRouter, and more). Use whenever writing, reviewing, or debugging code that imports `swarms`.

Swarms

Swarms is a multi-agent orchestration framework. Everything is built from one primitive — Agent — which multi-agent structures compose. This document is verified against swarms v14.0.0.

Golden rules

  1. Import from the top level: from swarms import Agent, never from swarms.structs.agent import Agent. The one common exception is PlannerWorkerSwarm (see below).
  2. Every agent needs a unique agent_name — memory files and swarm routing key on it.
  3. Default to max_loops=1. Use a specific integer for production. Use "auto" only for genuinely open-ended work.
  4. Pass tools=None, not tools=[]. An empty list breaks schema generation.
  5. Check examples/ — 586 runnable examples live there. One is probably close to what you need.
  6. Never set streaming_on=True and streaming_callback together. Pick one.

Setup

bash
pip install -U swarms

Set the key for whichever provider you use — any LiteLLM model string works:

bash
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
export GROQ_API_KEY="..."
export WORKSPACE_DIR="agent_workspace"   # where agent state and memory land

Part 1 — The Agent

python
from swarms import Agent

agent = Agent(
    agent_name="Analyst",
    agent_description="Analyzes market data and produces summaries.",
    system_prompt="You are a precise financial analyst.",
    model_name="gpt-5.4",
    max_loops=1,
)

result = agent.run("Summarize the state of the semiconductor market.")

Agent.__init__ accepts 90+ parameters. These are the ones that matter:

ParameterTypeDefaultPurpose
agent_namestr"swarm-worker-01"Unique identity; keys memory + routing
agent_descriptionstrgenericHow orchestrators decide to route to it
system_promptstrbuilt-inPersona and instructions
model_namestr"gpt-5.4"Any LiteLLM model string
max_loopsint | "auto"1Iterations, or autonomous mode
toolslist[Callable]NonePython functions the agent may call
temperaturefloat0.5Sampling temperature
max_tokensintmodel maxOutput cap per call
top_pfloatNoneNucleus sampling
context_lengthintNoneToken budget; triggers compression at 90%
output_typestr"str-all-except-first"Return shape — see below
streaming_onboolFalseStream tokens to stdout
streaming_callbackCallableNoneStream tokens to your function
interactiveboolFalseREPL — prompts the user each loop
verboseboolFalseDebug logging
print_onboolTruePrint the final output
autosaveboolFalsePersist agent state after each run
retry_attemptsint3LLM call retries
reasoning_effortstrNoneminimal/low/medium/high/xhigh/ultra/max/none
thinking_tokensint1024Extended thinking budget (Claude)
mcp_url / mcp_urlsstr / list[str]NoneMCP servers to load tools from
handoffslist[Agent]NoneAgents this one may delegate to
persistent_memoryboolFalseRead/write MEMORY.md across restarts
context_compressionboolTrueAuto-summarize near the context limit
plan_enabledboolFalsePlan before executing
modestr"standard""standard", "fast", "interactive"
fallback_modelslist[str]NoneModels to try if the primary fails

output_type options: "str", "list", "dict", "json", "yaml", "final", "last", "all", "basemodel", "str-all-except-first", "dict-all-except-first", "dict-final", "list-final".

Running
python
agent.run(task="...")                          # standard
agent.run(task="...", img="chart.png")         # one image
agent.run(task="...", imgs=["a.png", "b.png"]) # several images
agent.run(task="...", n=3)                     # 3 independent samples
await agent.arun("...")                        # async

Agent.run signature: run(task=None, img=None, imgs=None, correct_answer=None, streaming_callback=None, n=1).

Streaming
python
# To stdout
agent = Agent(agent_name="Writer", model_name="gpt-5.4", streaming_on=True)
agent.run("Write a haiku about distributed systems.")

# To a callback (do NOT combine with streaming_on)
def on_token(token: str) -> None:
    print(token, end="", flush=True)

agent = Agent(agent_name="Writer", model_name="gpt-5.4", streaming_callback=on_token)
agent.run("Write a haiku.")

# Async streaming
async for token in agent.arun_stream("Explain async/await."):
    print(token, end="", flush=True)

Part 2 — Tools

Any Python function with type hints and a docstring becomes a tool. The framework generates the OpenAI function schema automatically — the docstring is the tool description the model reads, so write it for the model.

python
from swarms import Agent

def get_stock_price(ticker: str) -> str:
    """Fetch the current stock price for a ticker symbol.

    Args:
        ticker: Stock ticker symbol, e.g. 'AAPL'.

    Returns:
        The current price as a formatted string.
    """
    import yfinance as yf
    return f"{ticker}: ${yf.Ticker(ticker).fast_info['last_price']:.2f}"

agent = Agent(
    agent_name="StockAnalyst",
    model_name="gpt-5.4",
    tools=[get_stock_price],
    max_loops=3,          # needs > 1 so it can act on the tool result
)
agent.run("What are Apple and Microsoft trading at?")

max_loops must exceed 1 for tool use — loop 1 calls the tool, loop 2 uses the result.

Related knobs: tool_call_summary=True (summarize tool output), show_tool_execution_output=True (print raw returns), tool_retry_attempts (retries on tool failure).

MCP servers
python
agent = Agent(
    agent_name="MCPAgent",
    model_name="gpt-5.4",
    mcp_url="http://localhost:8000/sse",
    # or: mcp_urls=["http://localhost:8000/sse", "http://localhost:8001/sse"]
    max_loops=3,
)

Inspect what a server exposes before wiring it up:

python
from swarms.tools.mcp_manager import MCPManager

mgr = MCPManager(mcp_url="http://localhost:8000/sse")
print(mgr.list_tool_names())
schemas = mgr.get_tools()          # aget_tools() for the async form
Handoffs

Give an agent a roster it can delegate to. It receives a handoff_task tool automatically.

python
triage = Agent(
    agent_name="Triage",
    model_name="gpt-5.4",
    handoffs=[billing_agent, technical_agent, refunds_agent],
    max_loops=3,
)
triage.run("My invoice is wrong and the app won't load.")

Part 3 — Autonomous mode (max_loops="auto")

The agent runs plan → execute → reflect until it decides it is finished, with 16 built-in tools available:

GroupTools
Planningcreate_plan, think, subtask_done, complete_task, respond_to_user
Filescreate_file, update_file, read_file, list_directory, delete_file
Systemrun_bash, grep
Delegationcreate_sub_agent, assign_task, check_sub_agent_status, cancel_sub_agent_tasks
python
agent = Agent(
    agent_name="Researcher",
    model_name="gpt-5.4",
    max_loops="auto",
    tools=[search_web],           # your tools stack on top of the built-ins
    persistent_memory=True,
    context_compression=True,
    context_length=32000,
)
agent.run("Research the top 5 vector databases and write compare.md")

Restrict the built-in set with selected_tools (default "all"):

python
agent = Agent(
    agent_name="ReadOnly",
    max_loops="auto",
    selected_tools=["create_plan", "think", "read_file", "grep", "complete_task"],
)

Inspect the full list at runtime with agent.get_all_selected_tools().

⚠️ run_bash and delete_file are real. In autonomous mode the agent can modify and delete files and execute shell commands. Scope selected_tools and set WORKSPACE_DIR deliberately.


Part 4 — Memory and conversation

Persistent memory

persistent_memory=True reads {WORKSPACE_DIR}/agents/{agent_name}/MEMORY.md on startup and appends to it each response. It is off by default — set it in every process that should share the memory.

python
agent = Agent(agent_name="ProjectAssistant", model_name="gpt-5.4", persistent_memory=True)
agent.run("My project is called Helios. Remember that.")

# Later process, same agent_name and the flag set again → it remembers.
Context compression

context_compression=True (default) fires at 90% of context_length, summarizing history in place so long sessions never hit the wall. Leave it on for anything long-running.

Conversation
python
from swarms import Conversation

conv = Conversation(
    name="my-conversation",     # note: `name`, not `agent_name`
    system_prompt="You are helpful.",
    time_enabled=True,
    token_count=True,
)
conv.add("user", "What is 2+2?")
conv.add("assistant", "4.")

conv.return_history_as_string()
conv.search("2+2")
conv.compact(summary="User asked arithmetic. Answer: 4.")   # archives, then collapses
conv.save_as_json("conv.json")

Part 5 — Multi-agent architectures

Choosing one

SituationUse
Single taskAgent
Linear A→B→CSequentialWorkflow
Same task, many agents at onceConcurrentWorkflow
Custom mix of sequential + parallelAgentRearrange
Dependency graph / fan-out-fan-inGraphWorkflow
Many models, one synthesized answerMixtureOfAgents
Manager delegates to specialistsHierarchicalSwarm
Open discussionGroupChat
Discrete decision by consensusMajorityVoting
Quality-critical evaluationCouncilAsAJudge
Structured adversarial debateDebateWithJudge
Deep multi-stage researchHeavySwarm
Route each task to the best agentMultiAgentRouter
Plan then execute with workersPlannerWorkerSwarm
Don't know yetSwarmRouter(swarm_type="auto") or AutoSwarmBuilder

SequentialWorkflow

Each agent's output becomes the next agent's context.

python
from swarms import Agent, SequentialWorkflow

pipeline = SequentialWorkflow(
    agents=[researcher, analyst, writer],
    max_loops=1,
    output_type="dict",
)
pipeline.run("Analyze how rate hikes affect tech stocks.")

Options: team_awareness=True (agents see the roster), multi_agent_collab_prompt=True, drift_detection=True.

ConcurrentWorkflow

All agents run the same task in parallel.

python
from swarms import Agent, ConcurrentWorkflow

workflow = ConcurrentWorkflow(
    agents=agents,
    max_workers=5,
    show_dashboard=True,
    on_error="store",          # or "raise"
)
workflow.run("List 10 use cases for multi-agent AI.")

AgentRearrange — flow DSL

python
from swarms import Agent, AgentRearrange

pipeline = AgentRearrange(
    agents=[planner, coder, reviewer, tester],
    flow="Planner -> Coder -> Reviewer, Tester",
    max_loops=1,
)
pipeline.run("Build an email validator.")
  • A -> B — sequential, B receives A's output
  • A, B — concurrent, same input
  • A -> B, C -> D — A, then B and C in parallel, then D on their combined output

Every name in flow must match an agent_name in agents, or it fails at run time. There is no human-in-the-loop step — split into separate .run() calls and insert your own input() between them.

Show full SKILL.md (516 more words)Show less

GraphWorkflow — DAG

Pass agents directly to add_node/add_edge; there is no need to wrap them in Node objects.

python
from swarms import Agent, GraphWorkflow

wf = GraphWorkflow(name="research-dag", max_loops=1)

for a in (ingestion, branch_a, branch_b, merger):
    wf.add_node(a)

wf.add_edge(ingestion, branch_a)      # fan out
wf.add_edge(ingestion, branch_b)
wf.add_edge(branch_a, merger)         # fan in
wf.add_edge(branch_b, merger)

wf.set_entry_points(["Ingestion"])
wf.set_end_points(["Merger"])

def on_done(node: str, result) -> None:
    print(f"[{node}] {len(str(result))} chars")

results = wf.run(task="Analyze this dataset two ways and merge.", on_node_complete=on_done)

add_node also accepts a nested GraphWorkflow. Other options: backend="networkx"|"rustworkx", max_parallel_nodes, checkpoint_dir, streaming_callback.

SwarmRouter — one entry point

Swap architectures without rewriting orchestration.

python
from swarms import Agent, SwarmRouter

router = SwarmRouter(agents=agents, swarm_type="SequentialWorkflow", max_loops=1)
router.run("Write a post about transformers.")

Valid swarm_type values — exactly these 16:

"AgentRearrange", "MixtureOfAgents", "SequentialWorkflow", "ConcurrentWorkflow", "GroupChat", "MultiAgentRouter", "HierarchicalSwarm", "MajorityVoting", "CouncilAsAJudge", "HeavySwarm", "BatchedGridWorkflow", "LLMCouncil", "DebateWithJudge", "RoundRobin", "PlannerWorkerSwarm", "auto".

"AutoSwarmBuilder" and "SpreadSheetSwarm" are not router types — use those classes directly. With swarm_type="AgentRearrange" you must also pass rearrange_flow.

MixtureOfAgents

Workers answer independently; an aggregator synthesizes. Best with diverse providers.

python
from swarms import Agent, MixtureOfAgents

moa = MixtureOfAgents(
    agents=[worker_gpt, worker_claude, worker_llama],
    aggregator_agent=aggregator,       # optional; falls back to aggregator_model_name
    layers=3,
    max_loops=1,
)
moa.run("Best practices for securing a Kubernetes cluster?")

HierarchicalSwarm

A director decomposes the task, delegates, and synthesizes results.

python
from swarms import Agent, HierarchicalSwarm

swarm = HierarchicalSwarm(
    agents=[data_worker, writing_worker, review_worker],
    director=director,            # optional; else built from director_model_name
    max_loops=2,
    planning_enabled=True,
    parallel_execution=True,
    director_feedback_on=True,
)
swarm.run("Produce a competitive analysis of the AI chip market.")

Also: agent_as_judge=True, max_agent_retries, max_reassignment_attempts, interactive=True.

GroupChat

Asynchronous and self-selecting — no rounds, no speaker-selection function. Every agent scores how much it wants to speak (0–1); replies above threshold are broadcast. Ends at max_loops messages or after idle_timeout seconds of silence.

python
from swarms import Agent, GroupChat

chat = GroupChat(
    agents=[optimist, pessimist, realist],   # at least 2 required
    max_loops=10,
    threshold=0.5,           # raise for a more selective room
    recency_penalty=0.3,     # discourages one agent dominating
    idle_timeout=8.0,
)
chat.run("Should we adopt AI for medical diagnosis?")

auto_equip=True (default) injects the required RESPOND_TOOL into every agent — you do not need to pass it yourself. Set auto_equip=False only if you attach RESPOND_TOOL manually via tools_list_dictionary.

MajorityVoting

Agents answer independently; a consensus agent picks the winner.

python
from swarms import Agent, MajorityVoting

mv = MajorityVoting(
    agents=voters,
    consensus_agent_model_name="gpt-5.4",
    max_loops=1,
)
mv.run("Python or Rust for a high-performance web server?")

CouncilAsAJudge

Evaluates a response across dimensions. It builds its own council from model names — it does not take an agents list or a judge agent.

python
from swarms import CouncilAsAJudge

council = CouncilAsAJudge(
    model_name="gpt-5.4",
    aggregation_model_name="gpt-5.4",
    random_model_name=True,
    max_loops=1,
)
council.run("Should we store biometric data on-device only?")

DebateWithJudge

python
from swarms import Agent, DebateWithJudge

debate = DebateWithJudge(
    pro_agent=pro,
    con_agent=con,
    judge_agent=judge,
    max_loops=3,          # rounds
)
debate.run("Motion: open-source LLMs will surpass closed-source by 2027.")

preset_agents=True generates pro/con/judge for you from model_name. The kwargs are pro_agent/con_agent/judge_agent — not agents=[...] plus judge=.

HeavySwarm

Deep multi-stage analysis. Configured by model names, not by an agents list.

python
from swarms import HeavySwarm

swarm = HeavySwarm(
    question_agent_model_name="gpt-5.4",
    worker_model_name="gpt-5.4",
    max_loops=1,
    timeout=900,
    show_dashboard=True,
    worker_tools=[search_web],
)
swarm.run("Analyze the implications of AGI on global labour markets.")

PlannerWorkerSwarm

A planner decomposes the task and workers execute; a judge checks completion each cycle. Not exported at the top level:

python
from swarms.structs.planner_worker_swarm import PlannerWorkerSwarm

swarm = PlannerWorkerSwarm(
    agents=workers,                    # workers only — the planner is built internally
    planner_model_name="gpt-5.4",
    judge_model_name="gpt-5.4",
    max_planner_depth=1,
    max_loops=1,
)
swarm.run("Build a go-to-market strategy for a B2B SaaS product.")

Others

python
from swarms import (
    MultiAgentRouter,      # routes each task to the best-fit agent
    RoundRobinSwarm,       # fixed rotation
    LLMCouncil,            # members answer, rank peers anonymously, chairman synthesizes
    BatchedGridWorkflow,   # agent i runs task i
    AutoSwarmBuilder,      # generates the agents and architecture from a description
    SpreadSheetSwarm,      # structured tabular processing
    AdvisorSwarm, SelfMoASeq, HybridHierarchicalClusterSwarm,
)

builder = AutoSwarmBuilder(name="MarketResearch", description="...", max_loops=1)
builder.run("Research the EV market and find growth opportunities.")

Part 6 — Execution helpers

python
from swarms import (
    run_agents_concurrently,
    run_agents_with_different_tasks,
    run_agents_concurrently_async,
    batch_agent_execution,
    run_single_agent,
    aggregate,
)

run_agents_concurrently(agents=agents, task="Summarize today's news.", max_workers=8)
run_agents_with_different_tasks([(agent_a, "task A"), (agent_b, "task B")])  # list of tuples
batch_agent_execution(agents=agents, tasks=tasks, max_workers=10)
aggregate(workers=agents, task="...", aggregator_model_name="gpt-5.4")

Note run_agents_with_different_tasks takes a list of (agent, task) tuples, not a dict.

Scheduling

python
from swarms import CronJob

job = CronJob(agent=agent, interval="10minutes", job_id="market-check")
job.run(task="Check for unusual market activity.")

interval is "<number><unit>", and the unit must be one of second, seconds, minute, minutes, hour, hours. Abbreviations like "30s" raise CronJobConfigError, as does a zero interval.

Loading agents from files

python
from swarms import AgentLoader

loader = AgentLoader(concurrent=True)
agents = loader.load_agents_from_markdown("agents/")   # also: _from_yaml, _from_csv
agent = loader.load_agent_from_markdown("agents/researcher.md")

Part 7 — Pitfalls

Don'tDoWhy
from swarms.structs.agent import Agentfrom swarms import AgentSubmodule paths move between versions
tools=[]tools=NoneEmpty list breaks schema generation
tools=[f] with max_loops=1max_loops=3Loop 1 calls the tool; it needs loop 2 to use the result
Same agent_name on several agentsUnique namesMEMORY.md is keyed on it — they corrupt each other
streaming_on=True + streaming_callbackPick oneThey conflict
CouncilAsAJudge(agents=..., judge=...)Model-name kwargsIt takes no agents or judge argument
DebateWithJudge(agents=[p, c], judge=j)pro_agent=, con_agent=, judge_agent=Those kwarg names don't exist
HeavySwarm(num_agents=4, model_name=...)question_agent_model_name=, worker_model_name=Those kwarg names don't exist
from swarms import PlannerWorkerSwarmfrom swarms.structs.planner_worker_swarm import ...Not exported at the top level
swarm_type="AutoSwarmBuilder"Use the class directlyNot one of the 16 router types
GraphWorkflow.add_node(Node(...))add_node(agent)It takes the agent itself
Building agents inside a loopBuild once, reuseConstruction is expensive
context_compression=False on long runsLeave it TrueThe run will hit the context wall
Bare max_loops="auto" in productionInteger max_loopsAutonomous runs have no natural stopping point

Production configuration

python
agent = Agent(
    agent_name="ProductionAgent",
    agent_description="...",
    model_name="gpt-5.4",
    max_loops=3,
    context_length=32000,
    context_compression=True,
    persistent_memory=True,
    autosave=True,
    retry_attempts=3,
    fallback_models=["claude-sonnet-4-6"],
    verbose=False,
)

Debugging

  • verbose=True — full internal logging
  • show_tool_execution_output=True — raw tool returns
  • output_type="all" — the complete conversation instead of just the final message
  • agent.get_all_selected_tools() — the autonomous tool roster
  • agent.short_memory.return_history_as_string() — dump the conversation

Reference

© kyegomez, 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

SKILL.md and 1,466 other files (scripts) in the repository root of kyegomez/swarms.

  • SKILL.md
  • .dockerignore
  • .env.example
  • .github/CODEOWNERS
  • .github/FUNDING.yml
  • .github/ISSUE_TEMPLATE/bug_report.md
  • .github/ISSUE_TEMPLATE/feature_request.md
  • .github/PULL_REQUEST_TEMPLATE.md
  • .github/action.yml
  • .github/dependabot.yml
  • .github/labeler.yml
  • .github/workflows/RELEASE.yml
  • .github/workflows/dependency-review.yml
  • .github/workflows/label.yml
  • .github/workflows/lint.yml
  • .github/workflows/pyre.yml
  • .github/workflows/python-package.yml
  • .github/workflows/stale.yml
  • … and 1,449 more

Open the folder on GitHubat commit 0e615ce

Compare with similar skills

Swarms Multi-Agent Framework 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.

Swarms Multi-Agent Framework compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Swarms Multi-Agent Framework this skillkyegomez/swarms7.2k—~5.5kAutomated safety check: PassApache-2.0
Agent Squad Python Guide2FastLabs/agent-squad7.8k—~4.7kAutomated safety check: PassApache-2.0
Uipath FunctionsUiPath/skills167—~3.6kAutomated safety check: NotesMIT
Strandsstrands-agents/harness-sdk8.8k—~1kAutomated safety check: PassApache-2.0
A-Evolve Agent EvolutionOrchestra-Research/AI-Research-SKILLs13k—~3.6kAutomated safety check: PassMIT
AI Agents Architectomer-metin/skills-for-antigravity163—~558Automated safety check: PassApache-2.0

Similar skills

  • Agent Squad Python Guide

    2FastLabs/agent-squad

    Map of the agent-squad Python framework for async multi-agent orchestration: which agent, classifier, storage and tool provider to pick, and the pitfalls to avoid.

    7.8k GitHub stars~4.7k tokensUpdated 3 days ago
    AI & LLM EngineeringAuto-check passed
  • Uipath Functions

    UiPath/skills

    UiPath Coded Functions — deterministic Python or TypeScript/JavaScript units built with the uip function CLI (new -l py|ts|js, init, serve, run, pack, publish); the functions map in uipath.json…

    167 GitHub stars~3.6k tokensUpdated today
    AI & LLM EngineeringAuto-check: notes
  • Strands

    strands-agents/harness-sdk

    Build, extend, evaluate, or migrate applications with Strands Agents in Python or TypeScript.

    8.8k GitHub stars~1k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • A-Evolve Agent Evolution

    Orchestra-Research/AI-Research-SKILLs

    Guidance for using A-Evolve to improve an AI agent automatically, evolving its prompts, skills and memory against a benchmark through solve, observe and evolve cycles.

    13k GitHub stars~3.6k tokensUpdated 3 mo ago
    AI & LLM EngineeringAuto-check passed
  • AI Agents Architect

    omer-metin/skills-for-antigravity

    Expert in designing and building autonomous AI agents. An agent skill from omer-metin/skills-for-antigravity.

    163 GitHub stars~558 tokensUpdated 8 mo ago
    AI & LLM EngineeringAuto-check passed
  • Langgraph Docs

    langchain-ai/docs

    Official

    Fetches and references LangGraph Python documentation to build stateful agents, create multi-agent workflows, and implement human-in-the-loop patterns.

    426 GitHub stars~282 tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed

Works with

Questions about Swarms Multi-Agent Framework

What does Swarms Multi-Agent Framework do?

Teaches the Swarms Python framework: the Agent class, tools, loops, memory and multi-agent structures such as sequential, concurrent and graph workflows. The skill is a working guide to the Swarms framework, in which every setup is built from one primitive, the Agent, that multi-agent structures compose.0 and opens with golden rules: import Agent from the top-level swarms package, give every agent a unique agent_name because memory files and routing key on it, default to a max_loops of 1, pass tools=None instead of an empty list, and never set streaming_on together with streaming_callback.

When should I use Swarms Multi-Agent Framework?

Swarms Multi-Agent Framework fits situations like: writing code that imports the swarms package; choosing a multi-agent structure such as a sequential, concurrent or hierarchical workflow; debugging an Agent that loops, streams or builds tool schemas incorrectly; reviewing Swarms code against the framework's conventions.

How do I install Swarms Multi-Agent Framework in Claude Code?

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

How do I install Swarms Multi-Agent Framework in Codex?

Run `npx skills add kyegomez/swarms --skill swarms -a codex`. Or copy the skill folder (the kyegomez/swarms repository) into .agents/skills/swarms in your project. Codex loads it when a task matches its description.

Can I use Swarms Multi-Agent Framework 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 kyegomez/swarms --skill swarms -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/swarms, .gemini/skills/swarms, .github/skills/swarms and .opencode/skills/swarms in your project.

What does Swarms Multi-Agent Framework need to run?

Going by SKILL.md and its folder, Swarms Multi-Agent Framework needs the command-line tools its instructions call (pip) and credentials named OPENAI_API_KEY, ANTHROPIC_API_KEY and GROQ_API_KEY. Our summary lists: Python, with swarms installed through pip; An API key for the model provider you use.

Does Swarms Multi-Agent Framework access the network?

SKILL.md names 2 domains. As links in the text: docs.swarms.world and docs.litellm.ai. This is read from the text; nothing was executed.

Is Swarms Multi-Agent Framework 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Swarms Multi-Agent Framework use?

Swarms Multi-Agent Framework is published under the Apache-2.0 licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Swarms Multi-Agent Framework use?

About 5.5k tokens (SKILL.md is roughly 22k 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 Swarms Multi-Agent Framework?

Skills that share tags, products or a category with Swarms Multi-Agent Framework: Agent Squad Python Guide (2FastLabs/agent-squad, 7.8k stars), Uipath Functions (UiPath/skills, 167 stars), Strands (strands-agents/harness-sdk, 8.8k stars) and A-Evolve Agent Evolution (Orchestra-Research/AI-Research-SKILLs, 13k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Swarms Multi-Agent Framework?

kyegomez (a GitHub user) maintains it in kyegomez/swarms, which has 7,244 GitHub stars. The repository was last updated on October 10, 2026.

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