skills/orch-pipeline/SKILL.md
The orch-* skills are thin wrappers. They do not re-implement any work — they
classify the request, choose which phases of this pipeline run, and delegate
each phase to an existing ECC agent or command. This file is that pipeline.
Invoke an operation skill (
orch-add-feature,orch-fix-defect, …) rather than this engine directly. This file is the reference they point at.
orch-* operation skill runs.| Skill | Operation | Trigger | First move |
|---|---|---|---|
orch-add-feature | feature | capability does not exist yet | research + plan a new slice |
orch-change-feature | tweak | works, but desired behavior differs | amend existing behavior and its tests |
orch-fix-defect | fix | broken; behavior is wrong | reproduce as a failing test, then fix |
orch-refine-code | refactor | behavior stays, structure improves | restructure while keeping tests green |
orch-build-mvp | mvp | bootstrap from a design/spec doc | ingest doc → vertical slices |
These wrappers compose existing ECC commands rather than replace them:
/feature-dev,/plan,/code-review,/build-fix,/refactor-clean, and/gan-build, plus thetdd-workflowskill. The orch-* family adds the shared size classifier and the two gates on top of them, so one umbrella covers all five operations consistently.
Ceremony scales to blast radius. Score the request on three signals, take the highest tier any signal reaches, and state the result in one line so the user can override:
| Tier | Files touched | New dependency / contract | Design ambiguity | Phases that run |
|---|---|---|---|---|
| trivial | 1, a few lines | none | none — the change is obvious | 4 → 5 → 6 |
| small | 1 file / 1 function | none | clear once you read the code | (1 light) → 4 → 5 → 6 |
| standard | 2–5 files | maybe a new internal module | one real choice to make | 1 → 2 → 4 → 5 → 6 |
| large | many / cross-cutting | new external dep, public API, or a spec doc | multiple open questions | 1 → 2 → (3) → 4 → 5 → 6 |
Phase 0 (Intake) always runs and is omitted from the mask column above. The tie-breaker: anything touching a security trigger (below) or a public API / contract is at least standard, regardless of file count.
Each phase delegates — it does not do the work inline.
orch-build-mvp, read the spec/design
doc and extract scope, locked decisions, and a feature list.rules/common/development-workflow.md: gh search repos /
gh search code, then Context7 / vendor docs, then package registries, then
Exa. Prefer adopting a proven implementation over net-new code.planner agent (or architect /
code-architect for structural decisions). Output a task_list ordered as
thin vertical slices. → GATE 1.orch-build-mvp only: stand up the first end-to-end slice.tdd-guide agent (or the tdd-workflow skill):
red → green → refactor. Honor the operation's first-move rule.code-reviewer agent / /code-review. Add security-reviewer
whenever the diff touches a security trigger (below).feat: / fix: / refactor: / …), one
per logical chunk. → GATE 2.This family is gated, not autonomous:
task_list; do not write implementation
code until the user approves.Everything between the gates flows without stopping.
| Phase | Primary | Fallback / escalation |
|---|---|---|
| Intake / understand | code-explorer | trace existing paths before a tweak, fix, or refactor |
| Plan | planner | architect, code-architect for structural calls |
| Implement | tdd-guide (or tdd-workflow skill) | build-error-resolver / /build-fix on build breaks |
| Review | code-reviewer / /code-review | language reviewer (python-reviewer, typescript-reviewer, …) |
| Security | security-reviewer | — |
| MVP inner loop | /gan-build "<brief>" --skip-planner | drives gan-generator → gan-evaluator; tune --max-iterations / --pass-threshold |
Match the language reviewer to the repo (see the repo's own CLAUDE.md).
Pull in security-reviewer when the diff touches any of: authentication or
authorization, user-input handling, database queries, file-system paths,
external API calls, cryptography, or secrets / credentials. (Per rules/common/security.md.)
The pipeline carries no hidden state — the planning docs are the handoff:
task_list (from Plan) drives the Implement loop.docs/ per rules/common/development-workflow.md.security-reviewer ran iff a security trigger was touchedrules/common/testing.md