Team Agent Orchestration
affaan-m/ECC
Run team-based orchestration for agent squads: work items with owners and scope, agent Kanban state, branch isolation, control pane visibility, and merge gates.
Agent skill
by Lifecycle-Innovations-Limited in Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "orchestrate projects", "dispatch…
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-orchestrate -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-orchestrate --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/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .claude/skills && cp -r skills-src/claude-ops/skills/ops-orchestrate .claude/skills/ops-orchestrate && 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 "ops-orchestrate" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-orchestrate into .claude/skills/ops-orchestrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-orchestrate", 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/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-orchestrateType 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 Lifecycle-Innovations-Limited/claude-ops --skill ops-orchestrate -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-orchestrate --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .agents/skills && cp -r skills-src/claude-ops/skills/ops-orchestrate .agents/skills/ops-orchestrate && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ops-orchestrate" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-orchestrate into .agents/skills/ops-orchestrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-orchestrate", 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 Lifecycle-Innovations-Limited/claude-ops --skill ops-orchestrate -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-orchestrate --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/claude-ops/skills/ops-orchestrate .cursor/skills/ops-orchestrate && 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 "ops-orchestrate" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-orchestrate into .cursor/skills/ops-orchestrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-orchestrate", 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/Lifecycle-Innovations-Limited/claude-ops.git --path claude-ops/skills/ops-orchestrate--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 Lifecycle-Innovations-Limited/claude-ops --skill ops-orchestrate -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-orchestrate --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/claude-ops/skills/ops-orchestrate .gemini/skills/ops-orchestrate && 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 "ops-orchestrate" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-orchestrate into .gemini/skills/ops-orchestrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-orchestrate", 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 Lifecycle-Innovations-Limited/claude-ops ops-orchestrateInstalls 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 Lifecycle-Innovations-Limited/claude-ops --skill ops-orchestrate -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .github/skills && cp -r skills-src/claude-ops/skills/ops-orchestrate .github/skills/ops-orchestrate && 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 "ops-orchestrate" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-orchestrate into .github/skills/ops-orchestrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-orchestrate", 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 Lifecycle-Innovations-Limited/claude-ops --skill ops-orchestrate -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-orchestrate --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/claude-ops/skills/ops-orchestrate .opencode/skills/ops-orchestrate && 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 "ops-orchestrate" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-orchestrate into .opencode/skills/ops-orchestrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-orchestrate", 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.
ops-orchestrateOPS on-demand: This skill should be used when the user asks to "orchestrate projects", "dispatch…
Ops Orchestrate is an agent skill from Lifecycle-Innovations-Limited/claude-ops. OPS on-demand: This skill should be used when the user asks to "orchestrate projects", "dispatch…
Its SKILL.md is about 4.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/cli.md`).
The repository describes itself as: Business operating system for Claude Code — 57 skills, 21 agents, smart daemon. Unified inbox (WhatsApp/Email/Slack/Telegram), autonomous PR merge, full-AWS monitoring, revenue… The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1aa0928. 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:
BashReadWriteEditGrepGlobAgentAskUserQuestionTeamCreateSendMessage…and 18 more on the same allowed-tools line.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ghgitnpmjqFrom 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 these keys or tokens, usually read from environment variables:
GITHUB_TOKENSENTRY_AUTH_TOKENLINEAR_API_KEYANTHROPIC_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ops Orchestrate loads about 4.6k tokens when it runs, and up to ~5.5k if it reads all its reference files. Until then it costs about 28 tokens; SKILL.md has 1,416 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 found patterns that need a careful read before installing.
- **NEVER touch `.env`, credentials, or secrets files** — flag and skipBegin with Phase 1 immediately. Do not ask for confirmation (except mode selection if no flag).allowed-tools: Bash, Read, Write, Edit, Grep, Glob, Agent, AskUserQuestion, TeamCreate, SendMessage, TaskCreate, TaAutomated 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 Lifecycle-Innovations-Limited/claude-ops at commit 1aa0928, republished under its MIT licence (© Lifecycle-Innovations-Limited). 1,416 words, ~4,649 tokens.
.claude/skills/ops-orchestrate/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Before orchestrating, load:
cat ${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json — read owner, timezone, yolo_enabled, registry pathcat ${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.json — ensure all services healthy before dispatchingGITHUB_TOKEN, SENTRY_AUTH_TOKEN, LINEAR_API_KEY, ANTHROPIC_API_KEY${CLAUDE_PLUGIN_DATA_DIR}/memories/topics_active.md for priority contextLoad ops-rules before acting. Public repo (no personal data). Outbound: one draft → one approval → one send. If AskUserQuestion / Workflow are missing, follow Rule 10 in ops-rules (Hermes: numbered options / two-turn Telegram card; delegate_task).
Detect where this skill was invoked:
# If invoked from a specific project directory (not ~), scope to that project
CWD="$(pwd)"
if [ "$CWD" != "$HOME" ] && [ -d "$CWD/.git" ]; then
echo "SCOPED:$CWD"
else
echo "GLOBAL"
fiIf $ARGUMENTS contains --project <alias>, use SCOPED mode for that alias regardless of CWD.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ORCHESTRATION MODE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
--subagents (default) Fire-and-forget. Cheapest. Best for:
- Independent single-repo fixes
- Tasks that don't need mid-flight changes
- Cost: ~1.5-2x base token usage
--teams Agent Teams with mid-flight steering. Best for:
- Cross-repo contract changes (API + consumer)
- Security/auth work touching 2+ repos
- When you need to redirect agents based on findings
- Cost: ~3-7x base token usage
--hybrid (recommended) Auto-selects per task. Teams for cross-repo
and security work, subagents for everything else.
Best balance of speed, cost, and coordination.
Cost: ~2-4x base token usage
--dry-run Audit + plan only. Shows what would be dispatched
without executing. Good for reviewing before committing.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━If no flag is passed, use AskUserQuestion:
[Subagents — fast & cheap] [Agent Teams — steerable] [Hybrid — auto-select] [Dry run — plan only]--hybrid mode)Tag each task during Phase 2:
| Condition | Mode | Why |
|---|---|---|
| Task touches 1 repo, no auth/payments/PII | subagent | Isolated, no coordination needed |
| Task touches 2+ repos (API schema + consumer) | team | Teammates coordinate schema handoff |
| Task touches auth, payments, PII, secrets | team | Security-reviewer teammate audits in real-time |
| Task is read-only (audit, report, analysis) | subagent | No risk, no coordination |
| Task depends on another in-flight task's output | team | SendMessage delivers output without re-dispatch |
Agent Teams requires CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1. Check before using:
[ "${CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS:-0}" = "1" ] && echo "teams_available" || echo "teams_unavailable"If --teams or --hybrid is requested but the flag is off, warn and fall back to --subagents.
SCOPED mode: Use only the current directory. Read .planning/STATE.md if it exists.
GLOBAL mode: Scan the project registry:
# registry.json is written by scripts/ops-gsd-registry-sync.sh into the data dir.
# Its schema is name/path/remote_url/status/phase/branch — NOT the alias/paths/repos/gsd
# shape of registry.example.json. lib/registry-path.sh resolves the real file.
PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT}" . "${CLAUDE_PLUGIN_ROOT}/lib/registry-path.sh"
jq -r '.projects[] | "\(.name)|\(.path)|\(.remote_url // "none")|\(.has_roadmap // false)|\(.status // "")|\(.phase // "")|\(.branch // "")"' "$REGISTRY" 2>/dev/nullFor each project path, verify it exists on disk. Skip missing paths. Skip entries under archives/, scratch/ or .worktrees/ unless --project names them; the sync dedupes on remote_url and keeps the extra copies in aliases.
Group projects into batches of ~8. Dispatch one audit subagent per batch (always subagents — audit is read-only, no steering needed):
Each audit agent checks:
git status --porcelain — uncommitted changesgit log origin/dev..HEAD --oneline — unpushed commitsgh pr list --state open --json number,title,statusCheckRollup,reviewDecision,mergeable,isDraft — open PRs + CIgh run list --limit 5 --json status,conclusion,name,headBranch,createdAt — recent CI runs.planning/STATE.md — current GSD phase + progress.planning/ROADMAP.md — upcoming phasesBefore creating tasks for CI failures:
# If latest run on dev/main is success → skip (intermittent or already fixed)
gh run list --repo <repo> --workflow "<workflow>" --limit 5 --json conclusion,headBranch \
--jq '[.[] | select(.headBranch == "dev" or .headBranch == "main")] | .[0].conclusion'success → skipfailure AND 2+ prior also failure → create task (persistent)failure but prior = success → create P2 task (new regression)Run these in parallel with the audit agents:
mcp__plugin_sentry_sentry__search_issues or sentry-cli issues list — P0/P1 unresolved errorsmcp__linear__list_issues for current sprint — in-progress and unstartedgh issue list --state open per repoTaskList — check current task board. Flag:
completedEach task should be:
TaskCreate({
title: "fix: resolve auth middleware race condition",
description: "File: src/middleware/auth.ts:42\nRepo: my-api\nBranch: fix/auth-race\nAcceptance: unit test passes, no Sentry errors for 5min post-deploy",
metadata: {
project: "my-api",
repo: "your-org/my-api",
priority: "P1-revenue",
mode: "subagent", // or "team" — used by hybrid mode
wave: 0, // parallelization wave
paths: ["src/middleware/auth.ts", "tests/auth/"],
quality_gate: "npm run type-check && npm run lint && npm run test:unit"
}
})Rules for dependency wiring:
addBlockedBy when the output of task A is genuinely required as input for task B.Common dependency patterns:
Anti-patterns to AVOID:
Wave 0: All tasks with ZERO dependencies → dispatch ALL simultaneously
Wave 1: Tasks blocked only by wave 0 items → dispatch as each blocker clears
Wave N: Cascade — but NEVER wait for the full wave to clear.
Start each task the MOMENT its specific blockers resolve.Apply the decision matrix from above to tag each task as subagent or team.
Rules:
isolation: "worktree"model: "sonnet" on every Agent() call (saves quota)run_in_background: true — never block waitingin_progress via TaskUpdate before dispatchingAgent({
description: "Fix auth race condition in my-api",
model: "sonnet",
isolation: "worktree",
run_in_background: true,
prompt: "<full task brief with repo path, file paths, branch strategy, acceptance criteria, quality gate>"
})Only when mode is --teams or task is tagged team in hybrid:
TeamCreate("wave-0-cross-repo")
Agent(team_name="wave-0-cross-repo", name="api-worker", model="sonnet", isolation="worktree",
prompt="<task brief with FILE OWNERSHIP boundaries>")
Agent(team_name="wave-0-cross-repo", name="mobile-worker", model="sonnet", isolation="worktree",
prompt="<task brief with FILE OWNERSHIP boundaries>")File ownership (CRITICAL — prevents overwrites): Each teammate prompt MUST include:
Your files: src/api/auth.ts, src/middleware/*.ts, tests/auth/
Do NOT edit: src/api/users.ts (owned by api-worker), src/frontend/ (owned by mobile-worker)Mid-flight steering (the killer feature):
SendMessage(to="api-worker", content="Schema changed — DTO is now UserResponseV2. Update imports.")
SendMessage(to="mobile-worker", content="API endpoint ready. New: POST /v2/users. Proceed with consumer.")Cross-repo coordination pattern:
api-worker and consumer-worker on same teamSendMessage to consumer with the new types/endpointDuring this command's execution, invoke the following superpower skill at the specified checkpoint:
superpowers:dispatching-parallel-agentsWHILE tasks remain:
1. TaskList → find ALL unblocked tasks
2. Dispatch up to 5 simultaneously (subagent or team per task tag)
3. As EACH agent completes → immediately audit (Phase 4)
4. As EACH audit passes → immediately ship (Phase 5)
5. As EACH ship completes → TaskList again, dispatch newly-unblocked
6. NEVER wait for full wave to clear before starting next itemsUse Monitor to stream CI output from running checks instead of sleep-polling.
When an agent reports back, verify before marking complete:
gh pr view <n> --repo <repo> --json files,additions,deletions# From task metadata
cd <worktree> && eval "<quality_gate command>"gh pr checks <n> — all green?security-reviewer subagentSendMessage(to="<worker>", content="Audit failed: <issue>. Fix and re-submit.")For each PR that passed audit:
gh api, resolve eachgh pr checks <n> — wait via Monitor if still runningmergeable state, resolve if neededgh pr merge <n> --squash (use AskUserQuestion to confirm unless --force). Never pass --admin: a refused merge means a branch gate applies, and the gate is the owner's policy, not an obstacle. Confirm baseRefName matches the branch this run is scoped to before merging.# Check each in-flight agent's worktree for recent writes
for wt in .worktrees/*/; do
last_write=$(find "$wt" -maxdepth 3 -type f -newer /tmp/ops-orchestrate-start 2>/dev/null | wc -l)
echo "$(basename $wt): $last_write files changed since start"
doneStalled agent protocol (>15 min since last write):
TaskStop → assess partial progress → re-dispatch with narrowed scopeSendMessage(to="<worker>", content="Status check — are you stuck?") → wait 60s → if no response, TaskStop and replaceNever re-dispatch the exact same prompt. The agent stalled for a reason. Narrow scope, add file paths, or split the task.
WHILE true:
TaskList → check board state
IF all tasks completed/blocked → print final report, HALT
IF pending unblocked tasks exist → go to Phase 3
IF all pending are blocked → surface blockers to user, HALT
Run Phase 5.5 liveness check on in-flight agentsDo NOT stop until:
completed, deleted, or explicitly blocked on user inputBetween waves:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OPS ► ORCHESTRATE — Wave N | Mode: [subagents/teams/hybrid]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TASK OWNER STATUS PR CI DEPLOY
──────────────────────────────────────────────────────────
fix auth api-worker ✓ done #4417 ✓ dev merged
update types mobile-worker ◉ wip #488 … —
add tests test-agent ○ queue — — —
Completed: N/T | In-flight: N | Queued: N | Blocked: N
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Final report:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OPS ► ORCHESTRATION COMPLETE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Mode: [subagents/teams/hybrid]
Completed: N tasks, M PRs shipped, K promoted to main
Blocked: [list with rationale]
Follow-ups:[list with task IDs]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━security-reviewer audit.env, credentials, or secrets files — flag and skipgit reset --hard on shared branches| Flag | Effect |
|---|---|
| (empty) | Full audit + execution, ask for mode |
--subagents | Force subagent mode (cheapest) |
--teams | Force Agent Teams mode (steerable, 3-7x cost) |
--hybrid | Auto-select per task (recommended) |
--dry-run | Phase 1+2 only, print plan, don't dispatch |
--project <alias> | Scope to one project |
--fires-only | Only P0 production-broken tasks |
--no-main | Stop at dev merge, never touch main |
--max-waves N | Cap at N waves then halt |
--force | Skip merge confirmations |
Begin with Phase 1 immediately. Do not ask for confirmation (except mode selection if no flag).
CLI detail: references/cli.md.
© Lifecycle-Innovations-Limited, 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 1 other file (references) in claude-ops/skills/ops-orchestrate of Lifecycle-Innovations-Limited/claude-ops.
Open the folder on GitHubat commit 1aa0928
Ops Orchestrate 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 |
|---|---|---|---|---|---|---|
| Ops Orchestrate this skillLifecycle-Innovations-Limited/claude-ops | 542 | — | ~4.6k | Automated safety check: Warn | MIT | |
| Team Agent Orchestrationaffaan-m/ECC | 276k | 1 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Orca Orchestrationstablyai/orca | 88k | — | ~916 | Automated safety check: Pass | MIT | |
| Agent Orchestrator Taskruvnet/ruflo | 74k | 2 repos | ~1k | Automated safety check: Pass | MIT | |
| Plan Orchestrateaffaan-m/ECC | 276k | 1 repos | ~4.5k | Automated safety check: Pass | MIT | |
| Orchestratesickn33/agentic-awesome-skills | 47k | 1 repos | ~692 | Automated safety check: Pass | MIT |
affaan-m/ECC
Run team-based orchestration for agent squads: work items with owners and scope, agent Kanban state, branch isolation, control pane visibility, and merge gates.
stablyai/orca
Coordinate supervised Orca workers: threaded messages, blocking ask/reply, task dispatch, worker_done/escalation waits, task DAGs, decision gates, coordinator…
ruvnet/ruflo
Agent skill for orchestrator-task - invoke with $agent-orchestrator-task
affaan-m/ECC
Read a plan document, decompose it into steps, design a per-step agent chain from the ECC catalogue, and emit ready-to-paste /orchestrate custom prompts.
sickn33/agentic-awesome-skills
Coordinate focused subagents on substantial work, keep their ownership non-overlapping, and integrate verified results.
ruvnet/ruflo
Coordinates a hierarchical swarm of specialized agents through the claude-flow CLI for work that spans several files or modules at once.
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "ops dashboard", "pixel HQ", or…
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "go to market", "GTM plan", or…
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "klaviyo", "ads spend", or…
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "tweet", "post to linkedin", or…
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "yolo mode", "run the business today"…
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "datadog", "APM alerts", or…
OPS on-demand: This skill should be used when the user asks to "orchestrate projects", "dispatch…. Ops Orchestrate is an agent skill from Lifecycle-Innovations-Limited/claude-ops.
Ops Orchestrate fits situations like: asks to orchestrate projects.
Run `npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-orchestrate -a claude-code`. Or copy the skill folder (claude-ops/skills/ops-orchestrate in Lifecycle-Innovations-Limited/claude-ops) into .claude/skills/ops-orchestrate in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-orchestrate -a codex`. Or copy the skill folder (claude-ops/skills/ops-orchestrate in Lifecycle-Innovations-Limited/claude-ops) into .agents/skills/ops-orchestrate 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 Lifecycle-Innovations-Limited/claude-ops --skill ops-orchestrate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ops-orchestrate, .gemini/skills/ops-orchestrate, .github/skills/ops-orchestrate and .opencode/skills/ops-orchestrate in your project.
Going by SKILL.md and its folder, Ops Orchestrate needs the command-line tools its instructions call (gh, git, npm and jq) and credentials named GITHUB_TOKEN, SENTRY_AUTH_TOKEN, LINEAR_API_KEY and ANTHROPIC_API_KEY. Our summary lists: A credential in GITHUB_TOKEN; A credential in SENTRY_AUTH_TOKEN. Its frontmatter pre-approves these tools: Bash, Read, Write, Edit, Grep, Glob, Agent, AskUserQuestion, TeamCreate, SendMessage, TaskCreate, TaskUpdate, TaskGet, TaskList, TaskStop, TaskOutput, Monitor, WebFetch, WebSearch, EnterPlanMode, ExitPlanMode, CronCreate, CronList, LSP, mcp__plugin_sentry_sentry__search_issues, mcp__linear__list_issues, mcp__linear__update_issue, mcp__linear__create_issue.
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 flagged 1 warning(s): tells the agent its actions are pre-authorized / not to stop for confirmation. Read the flagged lines before installing; the check is not a guarantee either way.
Ops Orchestrate is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.6k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 825 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Ops Orchestrate: Team Agent Orchestration (affaan-m/ECC, 276k stars), Orca Orchestration (stablyai/orca, 88k stars), Agent Orchestrator Task (ruvnet/ruflo, 74k stars) and Plan Orchestrate (affaan-m/ECC, 276k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Lifecycle-Innovations-Limited (a GitHub organization) maintains it in Lifecycle-Innovations-Limited/claude-ops, which has 542 GitHub stars. The repository holds 67 skills in this directory. The repository was last updated on October 9, 2026.
Source: Lifecycle-Innovations-Limited/claude-ops on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.