Help us improve
Share bugs, ideas, or general feedback.
From cm
Composes Claude Code skills into automated pipelines for multi-step workflows like feature development, bug fixes, content launches, and project bootstraps. Supports auto-detection, dynamic step selection, progress tracking, and CLI management.
npx claudepluginhub tody-agent/codymaster --plugin cmHow this skill is triggered — by the user, by Claude, or both
Slash command
/cm:cm-skill-chainThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **TRIZ #40 Composite Materials** — Skills compose into pipelines.
Orchestrates development pipeline by classifying tasks, defining minimal pipeline, and coordinating transitions between skills. Use at task start and between pipeline stages.
Discovers and invokes the right agent skill for each development phase. Acts as the meta-skill routing tasks to specialized skills like spec-driven development, TDD, debugging, code review, and git workflows.
Share bugs, ideas, or general feedback.
TRIZ #40 Composite Materials — Skills compose into pipelines. One command → full workflow → automated step progression.
ALWAYS trigger for: chain, pipeline, workflow, multi-step, end-to-end, "run the whole thing", "full process", "feature pipeline", "bug fix flow", "from scratch to deploy", "brainstorm to ship", "skill chain", "full pipeline"
| Command | Description |
|---|---|
cody chain list | Show all available chains |
cody chain info <id> | Show chain pipeline details |
cody chain auto "task" | Auto-detect best chain & start |
cody chain start <id> "task" | Start specific chain |
cody chain status [exec-id] | Show progress |
cody chain advance <exec-id> | Complete current step, move to next |
cody chain skip <exec-id> | Skip current step |
cody chain abort <exec-id> | Cancel chain |
cody chain history | View past chain runs |
Step names use short-form identifiers — the cm- prefix is stripped by convention.
Full skill names: cm-brainstorm-idea, cm-planning, cm-tdd, cm-execution, cm-quality-gate,
cm-safe-deploy, cm-debugging, cm-content-factory, cm-ads-tracker, cm-project-bootstrap,
cm-code-review. All skills now use the cm- prefix convention.
brainstorm-idea* → planning → tdd → execution → quality-gate → safe-deploy*
*optional steps — only activated when task context scores them relevant
debugging → tdd → quality-gate
content-factory → ads-tracker → cm-cro-methodology
project-bootstrap → planning → tdd → execution → quality-gate → safe-deploy*
*optional steps selected by task relevance
cm-code-review → quality-gate → safe-deploy
Chains no longer execute every step blindly. selectTopSkills() dynamically selects the top 3 most relevant steps for each task:
Task: "fix login timeout bug"
→ Scores each step by keyword overlap with task description
→ Mandatory steps (condition='always', optional=false) always included first
→ Optional steps ranked by relevance score, capped at 3 total
→ Result: debugging (score 105) → tdd (score 101) → quality-gate (score 100)
Why it matters (SkillsBench research):
If a chain has more than 3 mandatory steps, all mandatory steps run and a performance advisory is logged.
chain auto for auto-detection or chain start for specific chains@[/skill-name] to invokechain advance <id> "summary"chain status to monitor progress anytime.cm/context-bus.json — shared state across all stepsWhen chain start runs, the context bus is initialized automatically:
chain start feature-development "add payment flow"
→ Creates .cm/context-bus.json with:
pipeline: "feature-development"
session_id: "<uuid>"
current_step: "brainstorm-idea"
shared_context: {}
resource_state: { skeleton_generated: null, learnings_indexed: null, ... }
When chain advance runs after each skill completes:
chain advance <exec-id> "summary of what was done"
→ Updates context-bus.json:
current_step: "planning" ← moved forward
shared_context.brainstorm-idea: { summary, affected_files, output_path }
What downstream skills gain:
cm-planning can read brainstorm output path → no re-read of full filesystemcm-tdd can see which files planning created → targeted test generationcm-quality-gate knows exactly which files changed → focused reviewReading the bus:
cm continuity bus # terminal pretty-print
cm_bus_read # MCP tool (Claude Desktop)
cm://pipeline/current # URI resolver (in skill prompts)
Publishing to the bus (inside a skill):
cm_bus_write skill=cm-planning summary="tasks.md created" output_path=openspec/...
When dispatching tasks that match a chain pattern:
1. Check if task matches a chain: suggestChain(taskTitle)
2. If match found, suggest to user: "This task matches the X chain pipeline"
3. If user agrees, start the chain and invoke skills in order
4. At the START of each skill step:
→ Read cm://pipeline/current to see upstream skill outputs
→ Check shared_context to avoid re-doing work
5. After completing each skill, advance the chain:
→ chain advance <id> "summary"
→ This updates context bus + CONTINUITY.md simultaneously