Principle Build The Lever
cursor/plugins
Apply to any non-trivial work, not just bulk work: edits, migrations, analyses, checks.
Cross-repo migration swarm — one coordinator + N parallel subagents (one per target repo) that apply the same transformation, open PRs, wait for CI, and report back to a shared JSON ledger.
$ npx skills add yonatangross/orchestkit --skill swarm-migrate -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install yonatangross/orchestkit swarm-migrate --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/skills/swarm-migrate .claude/skills/swarm-migrate && rm -rf skills-srcUse ~/.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/
Install the "swarm-migrate" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/swarm-migrate into .claude/skills/swarm-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swarm-migrate", 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.
$skill-installer install https://github.com/yonatangross/orchestkit/tree/main/src/skills/swarm-migrateType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add yonatangross/orchestkit --skill swarm-migrate -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install yonatangross/orchestkit swarm-migrate --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/skills/swarm-migrate .agents/skills/swarm-migrate && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "swarm-migrate" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/swarm-migrate into .agents/skills/swarm-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swarm-migrate", 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 yonatangross/orchestkit --skill swarm-migrate -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install yonatangross/orchestkit swarm-migrate --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/skills/swarm-migrate .cursor/skills/swarm-migrate && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "swarm-migrate" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/swarm-migrate into .cursor/skills/swarm-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swarm-migrate", 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.
$ gemini skills install https://github.com/yonatangross/orchestkit.git --path src/skills/swarm-migrate--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add yonatangross/orchestkit --skill swarm-migrate -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install yonatangross/orchestkit swarm-migrate --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/skills/swarm-migrate .gemini/skills/swarm-migrate && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "swarm-migrate" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/swarm-migrate into .gemini/skills/swarm-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swarm-migrate", 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 yonatangross/orchestkit swarm-migrateInstalls 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 yonatangross/orchestkit --skill swarm-migrate -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/skills/swarm-migrate .github/skills/swarm-migrate && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "swarm-migrate" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/swarm-migrate into .github/skills/swarm-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swarm-migrate", 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 yonatangross/orchestkit --skill swarm-migrate -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install yonatangross/orchestkit swarm-migrate --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yonatangross/orchestkit.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/skills/swarm-migrate .opencode/skills/swarm-migrate && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "swarm-migrate" agent skill from https://github.com/yonatangross/orchestkit/tree/main/src/skills/swarm-migrate into .opencode/skills/swarm-migrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swarm-migrate", 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.
swarm-migrateCross-repo migration swarm — one coordinator + N parallel subagents (one per target repo) that apply the same transformation, open PRs, wait for CI, and report back to a shared JSON ledger.
Swarm Migrate is an agent skill from yonatangross/orchestkit. Cross-repo migration swarm — one coordinator + N parallel subagents (one per target repo) that apply the same transformation, open PRs, wait for CI, and report back to a shared JSON ledger. Coordinator handles topology, conflict auto-rebase, and stop-on-novel-failure. Use when bumping a shared dependency, rolling out a workflow change, or applying a codemod across the org. Do NOT use for single-repo work — that's /ork:implement.
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Claude Code 2.1.277+. Uses isolated git worktrees (one per repo) and the Agent tool for parallel dispatch.
It sits in Development, covering Creative writing and fiction, Code migrations and Subagents. The repository describes itself as: The Complete AI Development Toolkit for Claude Code. 106 skills, 36 agents, 171 hooks. Install ork for stable (v9.x), or ork-alpha for the v10 line, which ships daily. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e4ff8d9. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
AskUserQuestionBashReadWriteEditGrepGlobAgentTaskCreateTaskUpdate…and 3 more on the same allowed-tools line.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ghgitclaudenpmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh, git and npm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Claude Code 2.1.277+. Uses isolated git worktrees (one per repo) and the Agent tool for parallel dispatch.
From compatibility in the SKILL.md frontmatter.
Swarm Migrate loads about 3.7k tokens when it runs. Until then it costs about 112 tokens; SKILL.md has 1,317 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.
allowed-tools: AskUserQuestion, Bash, Read, Write, Edit, Grep, Glob, Agent, TaskCreate, TaskUpdate, TaskStop, ToolSAutomated 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 yonatangross/orchestkit at commit e4ff8d9, republished under its MIT licence (© yonatangross). 1,317 words, ~3,725 tokens.
.claude/skills/swarm-migrate/SKILL.md (or your agent's skills folder).One command, N repos, one coordinator, one ledger.
Use when the same transformation needs to land in 3 or more repos with the same shape (workflow bump, dependency upgrade, codemod, lint-rule introduction, secret rotation, runbook header). Don't use for one-repo work — that's implement. Don't use for novel exploration — that's brainstorm.
This skill exists because the 275-session insights showed 25 sessions burned coordinating PR cascades manually (M164 deploy-migration, M17 yg-mcp-core extraction, @v1 reusable workflow rollout across 14 repos). The pattern was always: pick a repo, branch, apply, push, watch CI, repeat. This automates the repeat.
vs CC
/workflows(2.1.154): CC's dynamic workflows orchestrate tens-to-hundreds of agents in the background and report via/workflows.swarm-migrateis different on purpose: it's a coordinator-led, foreground DAG with CI gates, conflict auto-rebase, and stop-on-novel-failure — you watch it and it stops on the first unexpected failure. Reach for CC/workflowswhen you want large-scale fire-and-forget background fan-out; reach forswarm-migratewhen each step needs a CI gate and a human-visible ledger. CC 2.1.202 adds a Dynamic workflow size setting in/config(small / medium / large agent counts) that advises/workflowson how many agents to spawn — it's a hint, not an enforced cap, so check it before hand-capping fan-out.
A YAML spec at swarm-specs/<name>.yaml:
name: bump-actions-checkout-v4
description: "Pin @actions/checkout to v4 across all repos"
# Topology — repos in dependency order. Coordinator only proceeds
# to a downstream repo after every upstream parent has merged green.
repos:
- path: ~/coding/yonatan-hq/platform
upstream: []
- path: ~/coding/yonatan-hq/ventures/jobscraper
upstream: [platform] # waits for platform to merge first
# Transformation — applied identically per repo. The agent runs this
# inside the isolated worktree, then verifies with the next field.
transform:
type: codemod # codemod | regex | command
command: |
grep -rl 'actions/checkout@v3' .github/workflows | \
xargs sed -i '' 's|actions/checkout@v3|actions/checkout@v4|g'
# Verification — must pass before PR opens. Coordinator skips the repo
# if it fails locally (records skip-reason in ledger).
verify:
- command: "git diff --quiet"
expect: nonzero # must have changes
- command: "grep -r 'actions/checkout@v3' .github/workflows"
expect: nonzero # zero matches = clean
# PR shape — title, body, base branch
pr:
branch_prefix: chore/bump-checkout-v4
title: "chore(ci): pin @actions/checkout to v4"
body_file: swarm-specs/bump-actions-checkout-v4.pr.md
base: main
labels: [chore, ci]
# CI gate — coordinator waits for required checks to pass before
# moving downstream. Set to false for dry-run, or in repos without CI.
ci_gate:
required_checks: ["build", "test"]
timeout_minutes: 20
on_failure: pause # pause | skip | abort
# Limits
max_parallel: 4
abort_on_novel_failure: true┌────────────────────────────────┐
│ COORDINATOR (you) │
│ reads spec → builds DAG → │
│ writes .swarm-state.json │
└─────────────────┬──────────────┘
┌────────────┼────────────┐
┌──────────┐ ┌──────────┐ ┌──────────┐
│ WORKER A │ │ WORKER B │ │ WORKER C │
│ (repo 1) │ │ (repo 2) │ │ (repo 3) │
└────┬─────┘ └────┬─────┘ └────┬─────┘
└─────────── isolated worktrees ─────┘
│ each: clone branch, transform,
│ verify, push, open PR, wait for CI, report
▼
┌────────────────────────────────┐
│ .swarm-state.json │
│ rolling ledger of {repo, │
│ status, pr_url, ci_state, │
│ last_action_at} │
└────────────────────────────────┘Each worker is a Agent tool invocation (subagent type git-operations-engineer for plumbing or backend-system-architect for schema-flavored migrations). The coordinator (you, this skill) reads the ledger between waves and decides whether to release downstream waves or pause.
Workers report state changes (CI green, CI red, novel failure, skipped) by MESSAGING
the coordinator via SendMessage instead of the coordinator re-reading the ledger
between waves:
Cross-session replies land in the parent (CC 2.1.248): when a subagent sends
SendMessageto another session, the reply is delivered to the parent session's conversation, never to the subagent; a subagent sends and moves on, the parent reads the answer. Cross-sessionSendMessage/ListAgentsalso work on Bedrock, Vertex and Foundry and with telemetry disabled (CC 2.1.248).
SendMessage (available
since CC 2.1.77).claude -p processes use cross-session
messaging (CC 2.1.224, see chain-patterns Pattern 10). A -p worker must run with
crossSessionInbound: "accept" in --settings to receive replies.CRITICAL: cross-session delivery is not guaranteed - inbound controls can hold or
refuse a message. .swarm-state.json REMAINS the authoritative durable record, and
every state change is still written there. Messages are the low-latency signal; the
ledger is the truth.
Load <spec-file.yaml>. Verify:
repos[].path exists and is a git repo (use git -C <path> rev-parse checks).transform.command returns 0 in a dry-run mode (or transform.type: codemod resolves to a known codemod registered in swarm-specs/codemods/).upstream reference points to a declared repo (no dangling deps).pr.body_file exists and is non-empty.If any check fails, abort and print the table of failures. Do NOT proceed.
Build a DAG from upstream edges. Detect cycles → abort. Group nodes by topological wave (wave 0 = no deps, wave 1 = depends only on wave 0, …). Coordinator releases one wave at a time.
Write .swarm-state.json at the repo root running the skill:
{
"spec": "swarm-specs/bump-actions-checkout-v4.yaml",
"started_at": "2026-05-16T17:00:00Z",
"waves": [
{ "id": 0, "repos": ["platform"] },
{ "id": 1, "repos": ["jobscraper"] }
],
"repos": {
"platform": { "status": "pending", "pr_url": null, "ci_state": null, "last_action_at": null },
"jobscraper": { "status": "blocked", "blocked_on": ["platform"], "pr_url": null }
}
}For each repo in the current wave, in parallel (bounded by max_parallel):
<repo>/../<repo>-swarm-<spec-name> off origin/<base>. Never mutate the live working tree.git checkout -b <branch_prefix>-<short-sha>.transform.command (or apply codemod). Capture stdout to .swarm-logs/<repo>-transform.log.verify[].command, assert exit matches expect. On mismatch, mark repo skipped in ledger with reason, do not push.gh pr create. Update ledger with PR URL.gh pr checks <n> every 45s up to ci_gate.timeout_minutes. Update ci_state in ledger on every state transition.Use the Agent tool with subagent_type: ork:git-operations-engineer for steps 1–5 to keep main context lean. The coordinator only reads the ledger.
After every wave, check the ledger:
green → release the next wave.pending CI → keep polling.red CI → consult ci_gate.on_failure:pause → halt the swarm, write a summary to .swarm-state.json, surface the failing logs, ask the user.skip → mark repo failed-ci, continue with siblings (but block downstream unless they explicitly don't depend on this repo).abort → terminate the swarm, leave open PRs as-is, never merge.If a downstream repo's worker hits a merge conflict on rebase (because an upstream merged), the worker:
git rebase origin/<base>. If clean → push, ledger update.When all waves complete (or the swarm pauses/aborts), emit a single markdown report under .swarm-logs/<spec-name>-report.md:
# Swarm report: bump-actions-checkout-v4
Completed: 12/14 repos · paused: 2 · duration: 47 min
| repo | status | PR | CI | duration |
|-----------------|---------|-------|--------|----------|
| platform | merged | #3456 | green | 8 min |
| jobscraper | merged | #281 | green | 6 min |
| ... |
| dormant-repo-1 | skipped | — | — | (no CI runner configured) |
| trading-ai | paused | #99 | red | (novel failure — see logs) |
## Novel failures (escalated)
- trading-ai #99: pyproject lockfile mismatch — see .swarm-logs/trading-ai-ci.logFinish line. Done means: every repo in the spec has a PR open and green (never merged by the swarm), or is skipped with a reason, or paused with its novel failure logged, and the final report is written. Follow Read("../../shared/rules/long-run-protocol.md"): keep going when a step needs no input from the user, stop and ask only when you can't continue without them or before anything destructive, check each subagent's evidence before accepting it, and mark anything you couldn't confirm with where you looked.
gh pr merge --auto post-swarm if they want.repos[]. Even if a transformation seems like it'd help elsewhere.gh pr create fails because of required reviewers or other rules, that's a feature, not a bug to work around.| Mode | What it looks like | Mitigation |
|---|---|---|
| Stale lockfile | CI red on npm ci after dependency bump | Spec includes a post_transform.command: npm install step |
| Branch protection blocks PR creation | gh pr create exits non-zero | Coordinator marks repo blocked-by-protection, surfaces to user |
| Topology cycle | Phase 2 abort | Re-spec the upstream edges |
| Coordinator crash mid-flight | .swarm-state.json half-written | Skill is resumable: re-run with same spec, it reads the ledger and skips merged/green repos |
| Worker subagent hangs | No ledger update for >5 min | Coordinator times out the agent, marks repo worker-timeout, surfaces logs |
brainstorm to design the spec, visualize-plan to ASCII-preview the DAG before dispatch.verify per repo after merge, /status for org-wide sweep, /ci-debug if a worker hits a CI red.create-pr (each worker calls into it), github-operations (bulk-update labels/milestones post-swarm).database-patterns).create-pr's playground-gate rule — each PR body must include a playground reference if the repo enforces it.# Dry-run: build the DAG, verify spec, do NOT push or open PRs
swarm-migrate swarm-specs/bump-actions-checkout-v4.yaml --dry-run
# Live: dispatch up to 4 workers in parallel
swarm-migrate swarm-specs/bump-actions-checkout-v4.yaml --max-parallel=4
# Resume after pause: same command, the ledger remembers
swarm-migrate swarm-specs/bump-actions-checkout-v4.yamlYou ran 25 sessions in a single month coordinating cross-repo PRs by hand. The 14-repo @v1 workflow rollout, the M17 yg-mcp-core extraction, the M164 deploy-migration. Every one of those sessions had the same shape: a coordinator (you) holding the DAG in your head, dispatching workers (you, sequentially) in different terminal tabs, hand-rolling a status table in your notes. This skill makes the coordinator a YAML file and the workers parallel subagents. The DAG, the ledger, the auto-rebase, the wave gating — all the bookkeeping you were doing manually — get codified once. You write the spec, you walk away, you come back to a report.
© yonatangross, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in src/skills/swarm-migrate of yonatangross/orchestkit.
Open the folder on GitHubat commit e4ff8d9
Swarm Migrate 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 |
|---|---|---|---|---|---|---|
| Swarm Migrate this skillyonatangross/orchestkit | 292 | — | ~3.7k | Automated safety check: Notes | MIT | |
| Principle Build The Levercursor/plugins | 11k | 8 repos | ~615 | Automated safety check: Pass | None | |
| Batch Orchestrationrohitg00/pro-workflow | 2.9k | — | ~1.2k | Automated safety check: Pass | None | |
| Parallel Code Reviewspencerpauly/awesome-cursor-skills | 844 | — | ~781 | Automated safety check: Pass | CC0-1.0 | |
| Migrate Core Code to Submodulestinyhumansai/openhuman | 42k | — | ~2.6k | Automated safety check: Pass | GPL-3.0 | |
| GitHub Review Iterationprisma/orm | 48k | — | ~2.2k | Automated safety check: Pass | Apache-2.0 |
cursor/plugins
Apply to any non-trivial work, not just bulk work: edits, migrations, analyses, checks.
rohitg00/pro-workflow
Decompose large-scale changes into independent units and spawn parallel agents in isolated worktrees.
spencerpauly/awesome-cursor-skills
Run four parallel read-only subagents that each review the same diff from a different lens — security, performance, correctness, and readability — then merge findings into one report.
tinyhumansai/openhuman
Plans and carries out moving non-host-specific code and its tests from the OpenHuman core into vendored tiny submodule libraries, then releases the submodule and re-pins the host.
prisma/orm
Runs a loop on a GitHub pull request: fetch review state, triage comments into actions, implement them and resolve threads, repeating until nothing actionable is left.
CherryHQ/cherry-studio
Reviews Cherry Studio branches, pull requests, commits, files and docs against the project's own architecture, naming, API-boundary and UI rules, report-only by default.
yonatangross/orchestkit
API contract design for REST and GraphQL, covering resource shape, URL and header versioning with deprecation windows, RFC 9457 Problem Details error handling, and OpenAPI specs.
yonatangross/orchestkit
ADR templates in the Nygard format with context, decision, consequences, and alternatives.
yonatangross/orchestkit
Single-pass codebase analysis leveraging a 1M-token context window for comprehensive security scanning, architecture review, and dependency auditing.
yonatangross/orchestkit
Structured review processes, conventional comments, language-specific checklists, and feedback templates.
yonatangross/orchestkit
Creates GitHub pull requests with pre-flight validation, conventional title formatting, and structured summary generation.
yonatangross/orchestkit
Multi-angle codebase exploration spawning 3-5 parallel agents for code structure, data flow, architecture patterns, and health assessment.
Cross-repo migration swarm — one coordinator + N parallel subagents (one per target repo) that apply the same transformation, open PRs, wait for CI, and report back to a shared JSON ledger. Swarm Migrate is an agent skill from yonatangross/orchestkit. Cross-repo migration swarm — one coordinator + N parallel subagents (one per target repo) that apply the same transformation, open PRs, wait for CI, and report back to a shared JSON ledger.
Swarm Migrate fits situations like: bumping a shared dependency; rolling out a workflow change; applying a codemod across the org; single-repo work — thats /ork:implement.
Run `npx skills add yonatangross/orchestkit --skill swarm-migrate -a claude-code`. Or copy the skill folder (src/skills/swarm-migrate in yonatangross/orchestkit) into .claude/skills/swarm-migrate in your project. Claude Code loads it when a task matches its description.
Run `npx skills add yonatangross/orchestkit --skill swarm-migrate -a codex`. Or copy the skill folder (src/skills/swarm-migrate in yonatangross/orchestkit) into .agents/skills/swarm-migrate 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 yonatangross/orchestkit --skill swarm-migrate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/swarm-migrate, .gemini/skills/swarm-migrate, .github/skills/swarm-migrate and .opencode/skills/swarm-migrate in your project.
Going by SKILL.md and its folder, Swarm Migrate needs the command-line tools its instructions call (gh, git, claude and npm). Its frontmatter pre-approves these tools: AskUserQuestion, Bash, Read, Write, Edit, Grep, Glob, Agent, TaskCreate, TaskUpdate, TaskStop, ToolSearch, Monitor. Compatibility (from SKILL.md): Claude Code 2.1.277+. Uses isolated git worktrees (one per repo) and the Agent tool for parallel dispatch..
SKILL.md contains no URLs. Its commands use gh, git and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Swarm Migrate is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k 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 Swarm Migrate: Principle Build The Lever (cursor/plugins, 11k stars), Batch Orchestration (rohitg00/pro-workflow, 2.9k stars), Parallel Code Review (spencerpauly/awesome-cursor-skills, 844 stars) and Migrate Core Code to Submodules (tinyhumansai/openhuman, 42k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
yonatangross (a GitHub user) maintains it in yonatangross/orchestkit, which has 292 GitHub stars. The repository holds 108 skills in this directory. The repository was last updated on October 10, 2026.
Source: yonatangross/orchestkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.