# Chain

Use when the workflow needs multi-step processing with sequential, parallel, or...

- Repository: https://github.com/sharpdeveye/maestro (592 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-04-29
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add sharpdeveye/maestro --skill chain -g -a claude-code -y`
Codex: `npx skills add sharpdeveye/maestro --skill chain -g -a codex -y`
Cursor: `npx skills add sharpdeveye/maestro --skill chain -g -a cursor -y`
Gemini CLI: `npx skills add sharpdeveye/maestro --skill chain -g -a gemini-cli -y`

## Description

Use when the workflow needs multi-step processing with sequential, parallel, or conditional tool compositions and proper data flow.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

## MANDATORY PREPARATION

Invoke /agent-workflow, it contains workflow principles, anti-patterns, and the **Context Gathering Protocol**. Follow the protocol before proceeding, if no workflow context exists yet, you MUST run /teach-maestro first.
Consult the tool-orchestration reference in the agent-workflow skill for composition patterns and error handling.


---

Design tool chains that do complex work reliably. A chain is only as strong as its weakest link.

### Chain Patterns

**Sequential**: A → B → C (each step depends on the previous)
**Parallel**: [A, B, C] → Merge (independent steps run simultaneously)
**Conditional**: A → (if X then B, else C) → D (branching based on results)
**Iterative**: A → Check → (if not done) → A again (loop until convergence)

### Chain Design Process

For each chain, define:

```markdown
## Chain: [Name]

### Steps
1. [Tool A], [what it does], Input: [schema], Output: [schema]
2. [Tool B], [what it does], Input: [output of step 1], Output: [schema]
3. [Tool C], [what it does], Input: [output of step 2], Output: [schema]

### Data Flow
Step 1 output.field_a → Step 2 input.source_data
Step 2 output.results → Step 3 input.items

### Error Handling
Step 1 failure → [retry 3x, then return error]
Step 2 failure → [return partial results from step 1]
Step 3 failure → [retry with simplified input]

### Constraints
Max total execution time: 60s
Max retries per step: 3
```

### Chain Validation

- [ ] Data schemas are compatible between connected steps
- [ ] Every step has error handling
- [ ] Total chain timeout is set
- [ ] Maximum iteration count is set for loops
- [ ] Partial results are handled (what if step 2 of 4 fails?)

### Recommended Next Step

After building the chain, run `/fortify` to add error handling at each step, then `/evaluate` to test the full pipeline.

**NEVER**:

The rest: https://github.com/sharpdeveye/maestro/blob/HEAD/source/skills/chain/SKILL.md
