You tune a great set of agents β a sharp code reviewer, a security auditor, a database expert. Then you try a new tool, andβ¦ you start over.
Every assistant stores agents differently: Claude Code wants ~/.claude/agents/*.md, VS Code
wants .github/agents/*.agent.md, Cursor wants .cursor/rules/*.mdc, Codex wants
~/.codex/prompts/, OpenCode and Pi want their own folders and frontmatter. So your agents
get left behind every time you switch β and you rebuild them by hand. Again.
Agentic Swarm is a portable agent library. Define an agent once; the CLI translates it into each tool's native format and drops it in the right place. Switch tools, set up a new laptop, or onboard a teammate β your whole swarm comes with you.
| Without Agentic Swarm | With Agentic Swarm | |
|---|---|---|
| New tool | Recreate every agent by hand | npx β¦ spawn 6 β done |
| Formats | Learn each tool's frontmatter & paths | Handled for you |
| Sharing | "Here, copy-paste these prompts" | One command |
| Source of truth | Scattered across machines | One repo |
# 1. See the numbered team list
npx github:hlsitechio/agentic-swarm list
# 2. Spawn a team β by number or name (into Claude Code, the default)
npx github:hlsitechio/agentic-swarm spawn 6 # β security team
npx github:hlsitechio/agentic-swarm spawn backend # β by name
# 3. Spawn into any tool, or just one agent
npx github:hlsitechio/agentic-swarm spawn 3 --target=vscode --project
npx github:hlsitechio/agentic-swarm spawn code-reviewer
# Shortcut: the number/name IS the command
npx github:hlsitechio/agentic-swarm 6Then invoke it: in Claude Code say βuse the code-reviewer agentβ; in VS Code pick it from the Chat
agents dropdown; in OpenCode/Cursor type @code-reviewer. Same agent, every tool.
No Node installed? One-liner for Claude Code:
# macOS / Linux curl -fsSL https://raw.githubusercontent.com/hlsitechio/agentic-swarm/main/install.sh | sh -s security# Windows PowerShell irm https://raw.githubusercontent.com/hlsitechio/agentic-swarm/main/install.ps1 | iex; Install-Swarm security
Copy-paste a command β each spawns the whole team into Claude Code. Add --target=vscode
(or codex, opencode, cursor, pi) for another tool, and --project to install into the current repo.
| # | Team | Command |
|---|---|---|
| 1 | ποΈ Architecture Guild | npx github:hlsitechio/agentic-swarm spawn architecture |
| 2 | βοΈ Backend Squad | npx github:hlsitechio/agentic-swarm spawn backend |
| 3 | π¨ Frontend Squad | npx github:hlsitechio/agentic-swarm spawn frontend |
| 4 | π€ Language Pros | npx github:hlsitechio/agentic-swarm spawn languages |
| 5 | β Quality Crew | npx github:hlsitechio/agentic-swarm spawn quality |
| 6 | π Security Team | npx github:hlsitechio/agentic-swarm spawn security |
| 7 | π DevOps & SRE | npx github:hlsitechio/agentic-swarm spawn devops |
| 8 | π§ Data & AI | npx github:hlsitechio/agentic-swarm spawn data-ai |
| 9 | π Product & Docs | npx github:hlsitechio/agentic-swarm spawn product-docs |
| 10 | π§© Specialists | npx github:hlsitechio/agentic-swarm spawn specialists |
Prefer numbers?
npx β¦ spawn 1β¦spawn 10work identically. Spawn several at once:spawn 2 6. Spawn everything (all 60 agents):npx β¦ spawn architecture backend frontend languages quality security devops data-ai product-docs specialists
Pick where agents land with --target (default: claude). Use --project for the current repo or
--global for your user config.
| Tool | --target |
Installs to | Invoke with |
|---|---|---|---|
| Claude Code | claude (default) |
~/.claude/agents/ Β· .claude/agents/ |
auto-delegate Β· /agents |
| VS Code (Copilot) | vscode |
.github/agents/ Β· ~/.copilot/agents/ |
Chat agents dropdown |
| Codex CLI | codex |
~/.codex/prompts/ |
/prompts:<agent> |
| OpenCode | opencode |
~/.config/opencode/agents/ Β· .opencode/agents/ |
@<agent> |
| Cursor | cursor |
.cursor/rules/ (project) |
@<agent> in chat |
| Pi | pi |
~/.pi/agent/prompts/ Β· .pi/prompts/ |
/<agent> |
| Anything else | generic |
./agentic-swarm-agents/ |
reference the .md |
# Deploy the same team into several tools at once:
npx github:hlsitechio/agentic-swarm spawn security --target=claude,vscode,codex,opencodeDeploy a team to cover a domain end-to-end, or a single agent for a precise task.
Run list <team|#> to see each agent's description.
|
ποΈ βοΈ π¨ π€ β
|
π π π§ π π§© |
npx github:hlsitechio/agentic-swarm <command> [names...] [flags]
Commands
list [team|#] List all teams (numbered), or one team's agents
spawn <#|team|agent> Deploy team(s)/agent(s) β by number, name, or both
remove <#|team|agent> Remove team(s)/agent(s)
<#|team|agent> Shorthand: the number/name IS the command (= spawn)
help Show help
(add = spawn, despawn = remove)
Flags
--target=<t[,t...]> claude (default), vscode, codex, opencode, cursor, pi, generic
--project Install into ./ (this repo) instead of global config
--global Force global install
--out=<dir> Custom output dir for the 'generic' target
--force Overwrite existing files
--dry-run Preview without writing
Examples
npx github:hlsitechio/agentic-swarm list security
npx github:hlsitechio/agentic-swarm spawn quality --target=vscode --project
npx github:hlsitechio/agentic-swarm spawn python-pro typescript-pro --target=opencode
npx github:hlsitechio/agentic-swarm remove data-aiEach agent is stored once, as a canonical Markdown file with frontmatter:
agents/<slug>/agent.md # name + description + system prompt
teams/<id>.json # which agents belong to a team
When you add, an adapter per tool rewrites that canonical file into the target's required
format (frontmatter keys, file extension) and writes it to the correct directory β paths verified
against each tool's current docs. One definition, six outputs.
Everything is generated from a single source of truth β scripts/generate.py
defines the full roster and teams, then emits agents/ and teams/.
Do these replace my tool's built-in agent? No β they're added alongside, invoked by name.
Will add clobber my existing files? No. It skips files that already exist unless you pass --force.
Global or project? Most tools support both. --project keeps agents with the repo (commit them,
share with the team); the default is your global user config. Cursor is project-only; Codex is global-only.
Can I customize the agents? Yes β fork, edit scripts/generate.py, run it, and install from your fork.
- Fork this repo
- Add an entry to
AGENTSinscripts/generate.pyβtitle,role,does,principles,use - Add the slug to one or more teams in
TEAMS - Run
python scripts/generate.pyand commit the generated files - Open a PR
- claude-crew β production agent presets for Claude Code
- claude-memory β persistent memory for Claude Code sessions
Write once. Deploy anywhere. Β· 60 agents Β· 10 teams Β· 6 tools Β· one command.
MIT License
