Prd
juanandresgs/claude-ctrl
Write structured feature specifications with problem statements, user journeys, use cases, functional requirements, and success metrics.
Agent teams that run growth experiments and build their own playbook.
$ npx skills add glitch-rabin/swarma --skill swarma -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install glitch-rabin/swarma swarma --agent claude-codeProject 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/
Install the "swarma" agent skill from https://github.com/glitch-rabin/swarma/tree/main into .claude/skills/swarma/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swarma", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add glitch-rabin/swarma --skill swarma -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install glitch-rabin/swarma swarma --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "swarma" agent skill from https://github.com/glitch-rabin/swarma/tree/main into .agents/skills/swarma/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swarma", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add glitch-rabin/swarma --skill swarma -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install glitch-rabin/swarma swarma --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "swarma" agent skill from https://github.com/glitch-rabin/swarma/tree/main into .cursor/skills/swarma/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swarma", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add glitch-rabin/swarma --skill swarma -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install glitch-rabin/swarma swarma --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "swarma" agent skill from https://github.com/glitch-rabin/swarma/tree/main into .gemini/skills/swarma/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swarma", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install glitch-rabin/swarma swarmaInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add glitch-rabin/swarma --skill swarma -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "swarma" agent skill from https://github.com/glitch-rabin/swarma/tree/main into .github/skills/swarma/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swarma", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add glitch-rabin/swarma --skill swarma -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install glitch-rabin/swarma swarma --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "swarma" agent skill from https://github.com/glitch-rabin/swarma/tree/main into .opencode/skills/swarma/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swarma", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
swarmaAgent teams that run growth experiments and build their own playbook.
Swarma is an agent skill from glitch-rabin/swarma. Agent teams that run growth experiments and build their own playbook. GROWS loop: generate hypothesis, run experiment, observe signal, weigh verdict, stack playbook. 18 pre-built squads covering the full AARRR funnel. Your agents stop guessing and start learning.
Its SKILL.md is about 4.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 425 other files (for example `CONTRIBUTING.md` and `README.md`). Compatibility notes: Python 3.11+, pip, terminal access
It sits in Product & Project Management, covering Product metrics. The repository describes itself as: experiment loop for ai agents and swarms. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4f62366. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
pipgitpythonFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
openrouter.aiFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
OPENROUTER_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Python 3.11+, pip, terminal access
From compatibility in the SKILL.md frontmatter.
Swarma loads about 4.4k tokens when it runs. Until then it costs about 68 tokens; SKILL.md has 1,328 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
be in the MCP `env` block. The instance `.env` is not inherited by subprocesses.k-or-..." >> ~/.swarma/instances/default/.env8181/mcp" >> ~/.swarma/instances/default/.envY` | Add to `~/.swarma/instances/default/.env` |CP subprocess can't find key | Instance `.env` not inherited | Pass key in MCP config `env` block |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.
The full file from glitch-rabin/swarma at commit 4f62366, republished under its MIT licence (© glitch-rabin). 1,328 words, ~4,408 tokens.
.claude/skills/swarma/SKILL.md (or your agent's skills folder). This skill also uses 422 other files; get the full folder from GitHub.Use swarma when the user wants to:
Trigger phrases: "test what works", "optimize my funnel", "find the best hooks", "run experiments", "A/B test", "what's working", "build a playbook", "growth experiments", "improve conversion"
Do NOT use when: user wants workflow automation (use n8n/Make), conversation memory (use honcho), or one-shot agent pipelines (use CrewAI/AutoGen). swarma is specifically for experiment loops that improve over time.
| Command | What it does | When to use |
|---|---|---|
swarma init | Create instance + starter team | First-time setup |
swarma cycle <team> | Run one experiment cycle | Testing, manual runs |
swarma cycle <team> --topic "..." | Run cycle with a specific topic | Ad-hoc experiments |
swarma team create <name> --from-goal "..." | Generate team from a goal | Starting a new experiment area |
swarma team show <name> | Inspect a team's config | Reviewing what was generated |
swarma team list | Show all teams | Overview |
swarma status | Costs, recent runs, experiments | Health check |
swarma metric log <team> <agent> <value> | Log external metric | Feeding real-world data |
swarma metric import <team> <csv> | Bulk import metrics | Batch data ingestion |
swarma metric show <team> | View logged metrics | Reviewing performance |
swarma serve --port 8282 | Start REST API | External integrations |
swarma serve --mcp | Start MCP server | Claude Code / Hermes integration |
swarma run | Start scheduled engine | Continuous operation |
swarma expert list | Browse reasoning lenses | Exploring expert frameworks |
| User wants to improve... | Use this squad | AARRR stage |
|---|---|---|
| Opening lines / hooks | hook-lab | Acquisition |
| Landing page copy | landing-lab | Acquisition |
| SEO rankings | seo-engine | Acquisition |
| Cold outreach response rates | cold-outbound | Acquisition |
| Multi-platform content | channel-mix | Acquisition |
| Signup-to-value onboarding | activation-flow | Activation |
| Pricing and packaging | pricing-lab | Revenue |
| Churn and retention | retention-squad | Retention |
| Viral loops and referrals | referral-engine | Referral |
| Market positioning | competitive-intel | -- |
| Short-form video pipeline | faceless-factory | Acquisition |
| Ad creative testing | ad-creative-lab | Acquisition |
| UGC content simulation | ugc-factory | Acquisition |
| Programmatic SEO | programmatic-seo | Acquisition |
| Newsletter growth | newsletter-engine | Retention |
| Paid + organic loops | acquisition-squad | Acquisition |
| Community-led growth | community-engine | Retention |
| AI commerce optimization | agentic-storefront | Revenue |
| Situation | Approach |
|---|---|
| User has a specific, well-defined goal | swarma team create --from-goal (let AI design the team) |
| Goal matches an existing squad template | Copy template, then customize |
| User wants to experiment broadly | Start with hook-lab (most general) |
| User doesn't know where to start | Ask about their funnel bottleneck, then pick |
Every experiment cycle follows five steps:
Generate Run Observe Weigh Stack
hypothesis --> experiment --> signal --> verdict --> playbook
^ |
└──────────────────────────────────────────────────┘| Step | What happens | Where in code |
|---|---|---|
| G -- Generate | Agent reads strategy.md, proposes a hypothesis | core/cycle.py |
| R -- Run | Agent executes with hypothesis active, produces output | flow/executor.py |
| O -- Observe | Separate cheap LLM scores output (1-10, forced decimals) | core/agent.py |
| W -- Weigh | After 5 cycles, compare average vs baseline. >20% = keep/discard | core/experiment.py |
| S -- Stack | Validated patterns written to strategy.md + playbook | core/agent.py |
Key numbers:
min_sample_size: 5 cycles before verdictpip install swarma
swarma initAdd to .mcp.json:
{
"mcpServers": {
"swarma": {
"command": "swarma",
"args": ["serve", "--mcp"],
"env": { "OPENROUTER_API_KEY": "sk-or-..." }
}
}
}Important: OPENROUTER_API_KEY must be in the MCP env block. The instance .env is not inherited by subprocesses.
Hermes has terminal access -- it can run swarma CLI commands directly. No MCP required.
pip install swarma
swarma initThen tell Hermes: "run swarma cycle hook-lab --topic 'AI agents are overhyped'"
Hermes reads terminal output and acts on results. For structured access, add MCP:
# hermes config.yaml
mcp_servers:
swarma:
transport: stdio
command: swarma
args: ["serve", "--mcp"]
env:
OPENROUTER_API_KEY: "sk-or-..."pip install swarma
swarma initConfigure as MCP tool or use terminal access depending on your OpenClaw setup.
pip install swarma
swarma init # creates instance + starter team
swarma cycle starter --topic "why do startups fail?" # run one cycle
swarma status # check costs, runs, experimentsgit clone https://github.com/glitch-rabin/swarma.git
cd swarma && pip install -e .
swarma initAfter swarma init, add your API key:
echo "OPENROUTER_API_KEY=sk-or-..." >> ~/.swarma/instances/default/.envGet a key at openrouter.ai/keys.
Optional (for cross-team knowledge):
# Only needed when running 3+ teams
echo "QMD_ENDPOINT=http://localhost:8181/mcp" >> ~/.swarma/instances/default/.envWhen a user wants to set up swarma, follow this sequence. The team generator is the fastest path -- don't make users configure agents manually.
Ask:
pip install swarma
swarma init --yesThis is the key step. Use the team generator instead of picking templates.
swarma team create growth-lab \
--from-goal "optimize landing page conversion for our B2B SaaS" \
--context "developer tools company, 500 free users, 2% conversion to paid" \
--budget 30The generator:
Review what it generated:
swarma team show growth-labswarma cycle growth-labExpected output:
Running cycle: growth-lab
flow: researcher -> copywriter -> judge
agents: ['researcher', 'copywriter', 'judge']
Cycle: growth-lab
Agent Model Cost Output Preview
researcher sonar-pro $0.000384 **Topic:** 52% of executives...
copywriter qwen3.5-plus-02-15 $0.000746 [A] We sent 4,382 cold emails...
judge mistral-nemo $0.000416 **Hook Variations:** A: "Did...
duration: 43.9s | total cost: $0.001546 | agents: 3swarma cycle growth-lab # run another cycle
swarma cycle growth-lab --topic "specific angle" # with a topic
swarma status # check progressAfter 5 cycles, the experiment engine issues its first verdict. The strategy file evolves automatically.
# Single cycle
swarma cycle hook-lab
# With a specific topic
swarma cycle hook-lab --topic "AI agents are commoditizing"
# Continuous (teams with cron schedules run automatically)
swarma run
# Continuous with API server
swarma run --port 8282LLM self-eval is a starting proxy. For production, feed back real-world signals:
# Log a single metric
swarma metric log hook-lab copywriter 4.2 --metric ctr_pct
# Attach to a specific experiment
swarma metric log hook-lab copywriter 127 --metric impressions --exp 3
# Add a note
swarma metric log hook-lab copywriter 5.1 --metric ctr_pct --note "from linkedin analytics"
# Bulk import from CSV
swarma metric import hook-lab metrics.csv
# View logged metrics
swarma metric show hook-labCSV format: agent,value,metric_name,note
copywriter,4.2,ctr_pct,week 1
copywriter,5.1,ctr_pct,week 2
researcher,7.8,relevance_score,# Copy a template to your instance
cp -r "$(python -c "import swarma; print(swarma.__path__[0])")/examples/hook-lab" \
~/.swarma/instances/default/teams/hook-lab
# Or if you cloned the repo
cp -r examples/hook-lab ~/.swarma/instances/default/teams/hook-lab
# Run it
swarma cycle hook-lab --topic "why most startups fail"swarma statusShows: all teams, recent runs, costs (today + this month), pending plans, queue stats.
When connected via MCP, these 16 tools are available:
| Tool | Description | Parameters |
|---|---|---|
swarma_health | Check if swarma is running | -- |
swarma_list_teams | List all configured teams | -- |
swarma_get_team | Get team details (agents, flow, schedule) | team_id |
swarma_list_agents | List agents in a team | team_id |
swarma_run_agent | Run a single agent with optional context | team_id, agent_id, context? |
swarma_run_cycle | Run a full cycle for a team | team_id, topic? |
swarma_status | Instance status (costs, runs, experiments) | -- |
swarma_costs | Cost breakdown (today, this month) | -- |
swarma_list_plans | Show pending experiment plans | team_id? |
swarma_approve_plan | Approve a pending experiment plan | plan_id |
swarma_reject_plan | Reject a pending plan | plan_id, reason? |
swarma_get_outputs | Recent outputs from agents | team_id?, agent_id?, limit? |
swarma_list_tools | List available agent tools | -- |
swarma_list_experts | Browse expert reasoning lenses | -- |
swarma_get_expert | Get expert details by ID | expert_id |
swarma_generate_team | Generate a new team from a goal | name, goal, context?, budget? |
"What's been happening?"
swarma_status -- overviewswarma_get_outputs -- recent agent outputsswarma_list_plans -- pending experiments"Run an experiment"
swarma_run_cycle with team_id and optional topicswarma_get_outputs to review results"Start a new experiment area"
swarma_generate_team with goal and contextswarma_get_team to review what was generatedswarma_run_cycle to kick it off"What's working?"
swarma_get_outputs for recent resultsstrategy.md for validated patternsA team is a folder. No code required.
teams/my-squad/
├── team.yaml # goal, flow, schedule, budget
├── program.md # team context and constraints
└── agents/
├── researcher.yaml
├── writer.yaml
└── strategy.md # pre-seeded growth knowledge (evolves automatically)name: my-squad
goal: find what works.
flow: "researcher -> writer" # sequential
# flow: "researcher -> [writer, analyst]" # parallel
schedule: "0 8 * * 1-5" # optional: weekdays at 8am
budget: 30 # optional: monthly budget in $id: writer
name: Writer
instructions: |
turn research into a post. max 200 words.
hook in the first line. practitioner voice.
model: qwen/qwen3.5-plus-02-15 # optional: override default routing
metric:
name: content_quality
target: 8.0
experiment_config:
min_sample_size: 5
auto_propose: trueStarts with seed knowledge, grows with every validated experiment:
### Validated Patterns
**Specificity wins**
- Hooks with specific numbers outperform vague claims by 2-3x on saves
- "47% of startups" > "most startups"
### Anti-patterns (Discarded)
- Generic inspirational openings: -23% vs baseline. Discard.
### Patterns to Test
- [ ] First-person confession vs third-person case study
- [ ] Time-anchored ("In 2024...") vs timeless hooks# Sequential: a runs, output passes to b
flow: "researcher -> writer"
# Parallel: a runs, then b and c run concurrently
flow: "researcher -> [writer, analyst]"
# Mixed: sequential then parallel then sequential
flow: "researcher -> [writer, analyst] -> judge"By default, each team learns individually via its own strategy.md. To share knowledge across teams, wire in QMD:
# ~/.swarma/instances/default/config.yaml
knowledge:
engine: qmd
qmd_endpoint: http://localhost:8181/mcpWith QMD: team A discovers loss framing beats gain framing, team B sees that pattern in its next cycle. Anti-patterns are shared too.
You don't need QMD until running 3+ teams. Most users start without it.
| Problem | Cause | Fix |
|---|---|---|
| "No API key found" | Missing OPENROUTER_API_KEY | Add to ~/.swarma/instances/default/.env |
| MCP subprocess can't find key | Instance .env not inherited | Pass key in MCP config env block |
| "No teams found" | Empty instance | Run swarma init or copy a squad template |
| Experiments not issuing verdicts | Not enough cycles | Need min_sample_size (default 5) completed cycles |
| Strategy file not evolving | No verdict yet | Run more cycles, check swarma status |
swarma cycle shows $0.000000 cost | Model returned empty | Check API key validity, try swarma cycle starter |
| QMD not connecting | QMD not running | Start with qmd serve before swarma |
| Results.tsv empty | No cycles completed | Run at least one cycle first |
After setup, verify everything works:
# 1. Run a cycle
swarma cycle starter --topic "test run"
# Expected: table showing agent outputs + costs
# 2. Check status
swarma status
# Expected: teams listed, recent run shown, costs displayed
# 3. Check a real squad (if installed)
swarma team show hook-lab
# Expected: team config with agents, flow, metricsIf all three pass, the GROWS loop is operational.
| swarma is not... | Use this instead | The difference |
|---|---|---|
| memory | honcho | swarma doesn't remember conversations. it runs experiment loops. |
| workflow automation | n8n, Make, Zapier | those connect apps. swarma runs hypotheses and learns from results. |
| a prompt library | agency-agents | swarma teaches agents what works through feedback. templates go in, playbooks come out. |
| agent orchestration | CrewAI, AutoGen, LangGraph | those run pipelines. swarma adds the GROWS loop that makes pipelines improve. |
| a hosted service | -- | self-hosted. your data stays on your machine. |
© glitch-rabin, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 422 other files in the repository root of glitch-rabin/swarma.
Open the folder on GitHubat commit 4f62366
Swarma 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Swarma this skillglitch-rabin/swarma | 173 | — | ~4.4k | Automated safety check: Notes | MIT | |
| Prdjuanandresgs/claude-ctrl | 193 | — | ~2.9k | Automated safety check: Pass | None | |
| AI Product Strategy InterviewerPrepLabsAI/InterviewMentor | 112 | — | ~4.5k | Automated safety check: Pass | MIT | |
| Investigate MetricPostHog/posthog | 40k | — | ~1.9k | Automated safety check: Pass | Custom licence | |
| Weekly Creative Reportreal-simple-labs/parker-brain | 102 | — | ~4.7k | Automated safety check: Pass | Custom licence | |
| North Starandreaskelm/pm-brain | 234 | — | ~2.5k | Automated safety check: Pass | Custom licence |
juanandresgs/claude-ctrl
Write structured feature specifications with problem statements, user journeys, use cases, functional requirements, and success metrics.
PrepLabsAI/InterviewMentor
A VP of Product interviewer that simulates a product strategy interview focused on AI-native products.
PostHog/posthog
Diagnose why a product metric changed (dropped, spiked, or plateaued) by orchestrating breakdowns, actors, paths, lifecycle, retention, and annotations queries.
real-simple-labs/parker-brain
Build the brand's weekly creative report, a polished, shareable page an agency can send straight to the brand's CMO and team.
andreaskelm/pm-brain
Define, sharpen, or audit a North Star metric and its input metrics tree, and decide which product metrics actually matter (leading vs.
aj-geddes/claude-code-bmad-skills
Lean facilitator for creating, updating, and validating a product brief — the Analysis-phase foundation of the BMAD Method.
Categories
Agent teams that run growth experiments and build their own playbook. Swarma is an agent skill from glitch-rabin/swarma. Agent teams that run growth experiments and build their own playbook.
Swarma fits situations like: tasks that involve Product metrics.
Run `npx skills add glitch-rabin/swarma --skill swarma -a claude-code`. Or copy the skill folder (the glitch-rabin/swarma repository) into .claude/skills/swarma in your project. Claude Code loads it when a task matches its description.
Run `npx skills add glitch-rabin/swarma --skill swarma -a codex`. Or copy the skill folder (the glitch-rabin/swarma repository) into .agents/skills/swarma in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add glitch-rabin/swarma --skill swarma -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/swarma, .gemini/skills/swarma, .github/skills/swarma and .opencode/skills/swarma in your project.
Going by SKILL.md and its folder, Swarma needs the command-line tools its instructions call (pip, git and python) and credentials named OPENROUTER_API_KEY. Our summary lists: Python 3; A credential in OPENROUTER_API_KEY. Compatibility (from SKILL.md): Python 3.11+, pip, terminal access.
SKILL.md names 1 domain. As links in the text: openrouter.ai. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Swarma is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.4k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Swarma: Prd (juanandresgs/claude-ctrl, 193 stars), AI Product Strategy Interviewer (PrepLabsAI/InterviewMentor, 112 stars), Investigate Metric (PostHog/posthog, 40k stars) and Weekly Creative Report (real-simple-labs/parker-brain, 102 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
glitch-rabin (a GitHub user) maintains it in glitch-rabin/swarma, which has 173 GitHub stars. The repository was last updated on March 29, 2026.
Source: glitch-rabin/swarma on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.