Orca CLI
stablyai/orca
Operate Orca-managed worktrees, folder contexts, terminals, repos, automations, artifacts, skill sharing, worktree comments, and Orca's embedded browser…
Multi-agent workflow patterns: parallel dispatch, pipelines, QC gates, retries.
$ npx skills add xiaolai/nlpm --skill orchestration -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install xiaolai/nlpm orchestration --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/xiaolai/nlpm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/nlpm/orchestration .claude/skills/orchestration && 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 "orchestration" agent skill from https://github.com/xiaolai/nlpm/tree/main/skills/nlpm/orchestration into .claude/skills/orchestration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "orchestration", 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/xiaolai/nlpm/tree/main/skills/nlpm/orchestrationType 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 xiaolai/nlpm --skill orchestration -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install xiaolai/nlpm orchestration --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xiaolai/nlpm.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/nlpm/orchestration .agents/skills/orchestration && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "orchestration" agent skill from https://github.com/xiaolai/nlpm/tree/main/skills/nlpm/orchestration into .agents/skills/orchestration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "orchestration", 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 xiaolai/nlpm --skill orchestration -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install xiaolai/nlpm orchestration --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xiaolai/nlpm.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/nlpm/orchestration .cursor/skills/orchestration && 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 "orchestration" agent skill from https://github.com/xiaolai/nlpm/tree/main/skills/nlpm/orchestration into .cursor/skills/orchestration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "orchestration", 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/xiaolai/nlpm.git --path skills/nlpm/orchestration--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 xiaolai/nlpm --skill orchestration -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install xiaolai/nlpm orchestration --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xiaolai/nlpm.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/nlpm/orchestration .gemini/skills/orchestration && 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 "orchestration" agent skill from https://github.com/xiaolai/nlpm/tree/main/skills/nlpm/orchestration into .gemini/skills/orchestration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "orchestration", 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 xiaolai/nlpm orchestrationInstalls 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 xiaolai/nlpm --skill orchestration -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/xiaolai/nlpm.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/nlpm/orchestration .github/skills/orchestration && 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 "orchestration" agent skill from https://github.com/xiaolai/nlpm/tree/main/skills/nlpm/orchestration into .github/skills/orchestration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "orchestration", 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 xiaolai/nlpm --skill orchestration -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install xiaolai/nlpm orchestration --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/xiaolai/nlpm.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/nlpm/orchestration .opencode/skills/orchestration && 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 "orchestration" agent skill from https://github.com/xiaolai/nlpm/tree/main/skills/nlpm/orchestration into .opencode/skills/orchestration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "orchestration", 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.
orchestrationMulti-agent workflow patterns: parallel dispatch, pipelines, QC gates, retries.
Orchestration is an agent skill from xiaolai/nlpm. Multi-agent workflow patterns: parallel dispatch, pipelines, QC gates, retries.
Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering Multi-agent orchestration. The repository describes itself as: Natural-Language Programming Manager — scan, lint, and score NL artifacts with Claude-native quality scoring. The licence is ISC.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 6fdbd05. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown, yaml and json).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Orchestration loads about 3k tokens when it runs. Until then it costs about 23 tokens; SKILL.md has 872 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 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); files beside SKILL.md are not scanned.
The full file from xiaolai/nlpm at commit 6fdbd05, republished under its ISC licence (© xiaolai). 872 words, ~2,955 tokens.
.claude/skills/orchestration/SKILL.md (or your agent's skills folder).Scope: covers multi-agent workflow design. For individual agent authoring, see [[writing-agents]]. For plugin architecture, see [[writing-plugins]].
Multiple agents run simultaneously on independent work. A command dispatches them via the Task tool and synthesizes results.
Command dispatches via Task:
|-- agent-1 (analyzes security)
|-- agent-2 (analyzes performance)
|-- agent-3 (analyzes architecture)
--> Command synthesizes all results into final reportUse when: agents don't depend on each other's output.
Real examples:
Implementation pattern in command body:
## Execution
1. Dispatch the following agents in parallel using Task:
- security-agent: analyze for vulnerabilities
- performance-agent: analyze for bottlenecks
- architecture-agent: analyze for structural issues
2. Collect all agent outputs
3. Synthesize into a unified report with cross-referencesKey decisions:
| Decision | Recommendation |
|---|---|
| Max parallel agents | 6 (diminishing returns above this) |
| Timeout per agent | 120 seconds for sonnet, 300 for opus |
| Failure handling | Continue with other agents if one fails |
| Result merging | Deduplicate findings that appear in multiple agents |
Each stage feeds into the next. Output of stage N is input to stage N+1.
parse --> chunk --> summarize --> QC --> outputUse when: each stage depends on the previous stage's output.
Real examples:
Implementation pattern:
## Execution
### Phase 1: Parse (haiku)
1. Scan input files
2. Extract structured content
3. Output: parsed data as JSON
### Phase 2: Process (sonnet)
4. Receive parsed data from Phase 1
5. Analyze and transform
6. Output: processed results
### Phase 3: QC (sonnet)
7. Verify Phase 2 output meets quality bar
8. Output: pass/warn/fail verdict
### Phase 4: Output
9. If QC passed: format and deliver final report
10. If QC failed: report failures and stopKey decisions:
| Decision | Recommendation |
|---|---|
| Phase boundary | Each phase should have a clear input type and output type |
| Error propagation | Fail fast -- don't continue past a failed phase |
| State passing | Use structured output (JSON) between phases |
| Resumability | Track phase status for long pipelines (see section 4) |
AI processing followed by quality verification before output reaches the user.
Phase 1: Mechanical prep (haiku)
Phase 2: AI work (sonnet)
Phase 3: QC verification (sonnet/opus)
--> pass: proceed to output
--> warn: output with warnings
--> fail: stop, report issues
Phase 4: OutputUse when: AI output needs verification before the user sees it.
Threshold design:
| Verdict | Condition | Action |
|---|---|---|
| PASS | All checks green | Deliver output directly |
| WARN | Minor issues (< 3 low-severity) | Deliver output with warnings section |
| FAIL | Any critical finding OR > 5 total findings | Stop, report what failed, suggest re-run |
Real examples:
On failure, re-dispatch with error context. The agent gets a second chance with specific feedback about what went wrong.
agent produces output
--> QC checks output
--> pass: done
--> fail: re-dispatch agent with error context
--> QC re-checks
--> pass: done
--> fail (attempt 2): re-dispatch again
--> max retries reached: fail with reportUse when: quality failures are recoverable by re-trying with more context.
Implementation:
## Retry Protocol
- Max retries: 3
- On retry, include in the agent prompt:
- Previous output (or summary if too long)
- Specific failures from QC
- Instruction: "Fix ONLY the listed failures. Do not change passing sections."
- If max retries exhausted: output best attempt with failure annotationsKey decisions:
| Decision | Recommendation |
|---|---|
| Max retries | 3 (rarely succeeds after 3 if it failed 3 times) |
| Error context | Include specific failures, not "try again" |
| Scope of retry | Fix only failures, preserve passing output |
| Cost cap | Each retry costs full agent invocation -- budget accordingly |
Extract common logic into commands/shared/*.md with user-invocable: false in frontmatter.
| Situation | Extract? |
|---|---|
| Same logic in 3+ commands | Yes -- always extract |
| Same logic in 2 commands, complex (> 20 lines) | Yes -- extract |
| Same logic in 2 commands, simple (< 10 lines) | No -- duplication is fine |
| Logic used by 1 command but might be reused | No -- wait until it's actually reused |
| Partial | What it contains | Who includes it |
|---|---|---|
shared/load-config.md | Read and validate plugin config file | All commands that need config |
shared/discover-files.md | Find target files by pattern/extension | Commands that scan the repo |
shared/validate-prereqs.md | Check tool availability, environment | Commands with external dependencies |
shared/format-report.md | Common report header, footer, severity colors | Commands that output reports |
---
user-invocable: false
description: "Shared config loading logic — reads and validates the plugin config file"
---## Config Loading
1. Look for `.config.md` in the project root
2. If not found, look for `.config.yaml`
3. If neither found, output error: "Run `/plugin:init` first to create a config file"
4. Parse the config file
5. Validate required fields: [list fields]
6. Return parsed configFor expensive AI pipelines, add a cost estimation step between mechanical prep and AI processing.
Phase 1: Parse and discover (haiku -- cheap)
--> Count items to process
--> Estimate cost: items x model cost per item
--> Display estimate to user
User confirms or adjusts scope
Phase 2: AI processing (sonnet/opus -- expensive)
--> Process confirmed scope| Model | Approx cost per item | 10 items | 100 items | 1000 items |
|---|---|---|---|---|
| haiku | $0.001 | $0.01 | $0.10 | $1.00 |
| sonnet | $0.01 | $0.10 | $1.00 | $10.00 |
| opus | $0.03 | $0.30 | $3.00 | $30.00 |
"Item" = one agent invocation processing one unit of work (one file, one chunk, one artifact).
## Cost Gate
After Phase 1, display:
- Items to process: {N}
- Estimated model: {model}
- Estimated cost: ~${amount}
- Estimated time: ~{minutes} minutes
Ask: "Proceed with {N} items? (You can reduce scope with --filter)"For resumable pipelines (long-running, expensive, or failure-prone), track state in a JSON file.
{
"pipeline": "my-pipeline",
"startedAt": "2024-01-15T10:00:00Z",
"configFingerprint": "sha256:abc123",
"phases": {
"parse": {
"status": "completed",
"startedAt": "2024-01-15T10:00:00Z",
"completedAt": "2024-01-15T10:00:05Z",
"itemsProcessed": 42,
"output": "parse-output.json"
},
"analyze": {
"status": "running",
"startedAt": "2024-01-15T10:00:06Z",
"itemsProcessed": 15,
"itemsTotal": 42
},
"qc": {
"status": "pending"
}
},
"lock": {
"pid": 12345,
"acquiredAt": "2024-01-15T10:00:00Z"
}
}pending --> running --> completed
--> failed
--> skipped (if previous phase failed)configFingerprint matches: resume from last incomplete phaseconfigFingerprint differs: warn user, offer fresh start or resumeAssign models by cognitive load, not by importance.
Mechanical / IO: haiku (parser, scanner, formatter, counter)
Reasoning / AI: sonnet (summarizer, extractor, reviewer, linter)
Judgment / QC: opus (coordinator, architect, final reviewer)Phase 1: Discover files → haiku (just glob + read)
Phase 2: Parse and chunk → haiku (mechanical splitting)
Phase 3: Analyze each chunk → sonnet (requires judgment)
Phase 4: QC all analyses → sonnet (verify, not create)
Phase 5: Synthesize final report → opus (cross-reference, prioritize)| Optimization | How | Savings |
|---|---|---|
| Batch mechanical work | One haiku call processes all files, not one per file | 5-10x |
| Pre-filter before AI | Use grep/glob to skip irrelevant files before sonnet | 2-5x |
| Cache phase outputs | Don't re-run completed phases on retry | 1-3x |
| Scope reduction | Let user filter to subset before expensive phases | Variable |
## Pipeline Error
**Phase**: {phase_name}
**Status**: FAILED
**Error**: {error_message}
### Context
- Items processed before failure: {N} of {M}
- Last successful item: {item_id}
- Time elapsed: {duration}
### Recovery Options
1. Fix the finding and run `/command --resume` to continue from this phase
2. Run `/command --restart` to start fresh
3. Run `/command --skip-phase {phase_name}` to skip this phase (not recommended)Always offer a manual fallback when automation fails:
## Fallback
If the pipeline fails after 3 retries:
1. Output all successfully processed items
2. List failed items with error context
3. Suggest manual analysis for failed items| Your situation | Pattern | Why |
|---|---|---|
| Multiple independent analyses of same input | A: Parallel | No dependencies, maximize throughput |
| Each step needs previous step's output | B: Sequential | Data flows in one direction |
| AI output must be verified before delivery | C: QC Gate | Catch errors before user sees them |
| Quality failures are recoverable with feedback | D: Retry | Cheaper than manual re-run |
| Complex multi-stage with verification | B + C | Pipeline with QC gates between expensive phases |
| Multiple analyses with quality bar | A + C | Parallel dispatch, then QC all results |
© xiaolai, ISC. 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 skills/nlpm/orchestration of xiaolai/nlpm.
Open the folder on GitHubat commit 6fdbd05
Orchestration 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 |
|---|---|---|---|---|---|---|
| Orchestration this skillxiaolai/nlpm | 146 | — | ~3k | Automated safety check: Pass | ISC | |
| Orca CLIstablyai/orca | 87k | 2 repos | ~593 | Automated safety check: Pass | MIT | |
| Paseo Advisor Second Opiniongetpaseo/paseo | 20k | 1 repos | ~756 | Automated safety check: Pass | Custom licence | |
| O2 Review Loopopenobserve/openobserve | 22k | — | ~3.7k | Automated safety check: Pass | AGPL-3.0 | |
| Paseo Committeegetpaseo/paseo | 20k | 1 repos | ~496 | Automated safety check: Pass | Custom licence | |
| Mission Control Agent APIbuilderz-labs/mission-control | 6.3k | — | ~2.1k | Automated safety check: Pass | MIT |
stablyai/orca
Operate Orca-managed worktrees, folder contexts, terminals, repos, automations, artifacts, skill sharing, worktree comments, and Orca's embedded browser…
getpaseo/paseo
Launches one separate agent through Paseo to give a second opinion on the current task, with a self-contained briefing and no permission to edit files.
openobserve/openobserve
Splits a change into planner, coder and independent reviewer roles: you confirm a spec, a subagent implements it, and a separate reviewer checks each round's local WIP commit.
getpaseo/paseo
Forms a two-agent committee with contrasting profiles to analyze a stuck problem in parallel, reconcile their views and return a consensus plan without editing files.
builderz-labs/mission-control
Teaches an agent to use the Mission Control dashboard API: register, send heartbeats, fetch assigned tasks, report progress and disconnect, with API key auth.
getpaseo/paseo
Hands off the current task, including context, decisions and failed attempts, to a fresh agent through Paseo by writing a self-contained briefing prompt and launching that agent.
xiaolai/nlpm
Universal NL conventions: SKILL.md open spec, AGENTS.md, vague quantifiers, naming.
xiaolai/nlpm
Antigravity and Gemini CLI artifact schemas: .gemini/ paths, extensions, hooks.
xiaolai/nlpm
Codex CLI artifact schemas: config.toml, .codex-plugin, skills, hooks, AGENTS.md.
xiaolai/nlpm
NL artifact anti-patterns: vague quantifiers, bare prohibitions, oversized skills.
xiaolai/nlpm
100-point NL artifact rubric: penalty tables per artifact type, calibration cases.
xiaolai/nlpm
NL artifact test specs for /nlpm:test: spec format, TDD for skills and agents.
Categories
Multi-agent workflow patterns: parallel dispatch, pipelines, QC gates, retries. Orchestration is an agent skill from xiaolai/nlpm. Multi-agent workflow patterns: parallel dispatch, pipelines, QC gates, retries.
Orchestration fits situations like: tasks that involve Multi-agent orchestration.
Run `npx skills add xiaolai/nlpm --skill orchestration -a claude-code`. Or copy the skill folder (skills/nlpm/orchestration in xiaolai/nlpm) into .claude/skills/orchestration in your project. Claude Code loads it when a task matches its description.
Run `npx skills add xiaolai/nlpm --skill orchestration -a codex`. Or copy the skill folder (skills/nlpm/orchestration in xiaolai/nlpm) into .agents/skills/orchestration 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 xiaolai/nlpm --skill orchestration -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/orchestration, .gemini/skills/orchestration, .github/skills/orchestration and .opencode/skills/orchestration in your project.
SKILL.md names no scripts, command-line tools or credentials: Orchestration is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
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. Review the folder before installing.
Orchestration is published under the ISC licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k 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 Orchestration: Orca CLI (stablyai/orca, 87k stars), Paseo Advisor Second Opinion (getpaseo/paseo, 20k stars), O2 Review Loop (openobserve/openobserve, 22k stars) and Paseo Committee (getpaseo/paseo, 20k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
xiaolai (a GitHub user) maintains it in xiaolai/nlpm, which has 146 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 8, 2026.
Source: xiaolai/nlpm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.