A meta-skill for Claude Code (and any agent that reads SKILL.md skills) that sits above every other skill in your environment. When a task spans more than one domain — "research this market, build the pricing model, and turn it into a deck" — it discovers what's actually installed, decomposes the task, runs the right skills in the right order, carries decisions between phases, and merges everything into one coherent deliverable instead of a pile of separate skill outputs stapled together.
- Discovers dynamically. Never assumes a skill list. It uses the session's in-context catalog first, and falls back to a bundled scanner that reads only frontmatter from every installed
SKILL.md(project, personal, plugin marketplace, and system locations — symlinked installs included). ~400 skills scan in under 100ms. - Decomposes minimally. The smallest set of subtasks that makes sense — no granularity for its own sake.
- Matches by description, not name. When two skills plausibly cover a subtask, the more specific one wins silently; you're only asked when the candidates genuinely diverge in what they'd produce.
- Sequences by dependency. Default lifecycle when the task doesn't dictate its own order: context → creation → review → delivery.
- Carries context forward. A running ledger of decisions (naming, tone, positioning, file paths, constraints) is injected into every later phase, so nothing gets re-decided or contradicted downstream.
- Synthesizes before presenting. One voice, one set of conventions, no seams. The test: a reader can't tell that three skills wrote three parts.
- Degrades gracefully. A failed or ill-fitting skill doesn't abort the chain — next-best match, or unassisted work, and an honest note about what's missing.
It also knows when to stay out of the way: single-skill and trivial tasks skip orchestration (and its token overhead) entirely.
With the skills CLI:
npx skills add Dev869/skill-orchestrator -gOr manually:
git clone https://github.com/Dev869/skill-orchestrator.git
ln -s "$(pwd)/skill-orchestrator/skill-orchestrator" ~/.claude/skills/skill-orchestratorskill-orchestrator/
├── SKILL.md # the orchestration process
├── scripts/
│ └── discover_skills.py # frontmatter-only catalog scanner (stdlib only, py3.6+)
└── evals/
└── evals.json # multi-domain test scenarios + assertions
python3 scripts/discover_skills.py # full catalog: name, source, description, path
python3 scripts/discover_skills.py deck chart # filter by terms (OR, case-insensitive)Scans <cwd>/.claude/skills, ~/.claude/skills, ~/.claude/plugins/cache, and /mnt/skills/* (claude.ai containers), following symlinks, reading only the first 8KB of each SKILL.md.
Validated with the skill-creator eval loop against two real multi-domain scenarios (market research → marketing plan → email sequence; privacy policy → App Store compliance review), each graded on cohesion, completeness, cross-phase context carry-through, and absence of visible seams — plus baseline comparisons. Orchestration adds roughly 80% tokens/time over an unassisted run, which is why the skill gates itself off simple asks.
MIT