Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Map a described workflow to the right ECC command-GROUP with run-order and stop condition, and browse all command-group recipe families. Adds a family-grouping + run-order + when-to-stop layer on top of the flat command catalog. Advisory only. TRIGGER when the user says which commands for X, what command group runs X, show ECC recipes, list ECC pipelines, or how do I run a workflow with ECC. DO NOT TRIGGER when the user wants the task executed directly, wants a single-command deep doc (use ecc-g
.claude/skills/affaan-m-ecc-recipes/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 56% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 31% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 0% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 127% | 0% |
One entry point for "which group of ECC slash-commands runs my workflow, in what order, and when do I stop." Also browses every command-group recipe family.
Fills the gap between two existing skills:
ecc-guide — lists commands and where to read docs, but as a flat catalog.prompt-optimizer — matches a task to components, but outputs a single prompt,not a multi-command group with run-order and stop condition.
This skill adds: family grouping + run-order + stop condition.
/ecc-recipes with or without a description.ecc-guide.prompt-optimizer.Answer from current files, not memory. The command set changes; never hardcode counts or member lists. Read the live commands/ directory each run, then classify into families.
Resolve the commands directory (first that exists), then list names:
bashfor D in \ "$HOME"/.claude/plugins/marketplaces/ecc/commands \ "$HOME"/.claude/plugins/cache/ecc/ecc/*/commands \ ./commands \ ./.claude/commands \ "$HOME"/.claude/commands; do [ -d "$D" ] && CMD_DIR="$D" && break done [ -z "${CMD_DIR:-}" ] && { echo "No ECC commands directory found."; return 1; } find "$CMD_DIR" -maxdepth 1 -name '*.md' -exec basename {} .md \; | sort
Optionally read manifests/install-*.json if present for richer grouping. Use the smallest set of reads needed.
Group command names by leading prefix; map known singletons by hand. Families are derived live — the table below is the classification rule, not a frozen list.
| Family prefix | Recipe meaning | Typical run-order | |---|---|---| | orch-* | gated Research, Plan, TDD, Review, Commit per task type | pick one orch- by task kind; it runs its own internal phases | | `multi- | multi-model workflow | multi-plan then multi-execute then review (or multi-workflow end-to-end) | | prp-` | PRD to plan to implement to PR pipeline | `prp-prd` then `prp-plan` then `prp-implement` then `prp-commit` then `prp-pr` | | `epic- | large multi-unit epic, parallel | epic-decompose then epic-claim then epic-validate then epic-review then epic-unblock then epic-sync then epic-publish | | loop-` | managed autonomous loop and monitor | `loop-start <pattern>` then watch with `loop-status` | | `gan- | generator and evaluator loop | gan-build (code) or gan-design (UI); self-looping | | -build` / `-review / -test` | per-language CI triad | `<lang>-test` (TDD) then `<lang>-build` (fix) then `<lang>-review` | | `hookify- | behavior-hook management | hookify then hookify-list then hookify-configure | | learn / instinct- / evolve / promote / prune | continuous-learning | learn then instinct-status then evolve then promote | | singletons | santa-loop, plan, plan-prd, pr, code-review, checkpoint, etc. | standalone or glue between groups |
Any command not matching a prefix rule → list it under singletons with its one-line description.
1. Live-read command names from CMD_DIR.
2. Classify into families by prefix and a singleton map.
3. If a workflow description was given -> MATCH MODE.
If none -> CATALOG MODE.
4. Advisory only: print the plan. Never run the matched commands.Output the family table: each family, member count, members, one-line meaning, typical run-order. End with the total command count and a prompt to describe a workflow for a matched recipe.
review-passes, or single-shot). For autonomous loops, warn about subscription burn and recommend a backstop bound.
commands/<name>.md path plus /ecc-guide <name>.Workflow: <one-sentence restatement>
Best fit: <family> — <why>
(Alt: <family> — <why>)
Run-order:
/<cmd1> # job
/<cmd2> # job
/<cmd3> # job
STOP when: <condition>
WARNING (autonomous loops only): an unbounded loop burns subscription/credits —
add a max-iteration or max-cost backstop alongside the completion signal.
Read full docs:
commands/<cmd1>.md (or: /ecc-guide <cmd1>)Catalog: /ecc-recipes → prints the family table and total count.
Match: /ecc-recipes plan a whole app upfront then auto-build with adversarial review until done → Best fit: loop-* (autonomous) wrapping gan-* or santa-loop (adversarial). Run-order: plan-prd then loop-start rfc-dag --mode safe then monitor loop-status; STOP when all units pass review N consecutive times (add a max-iteration backstop to bound burn).
Match: /ecc-recipes fix a bug in my Go service → Best fit: orch-fix-defect (reproduce, fix, review, commit). Alt: go-test then go-build then go-review. STOP: regression test green and review pass.
ecc-guide.prompt-optimizer.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 20,267 | 8,356 | -59% | 1 | 1 | 0% | 3,685 | 2,008 | -46% | 0 | 0 | — |
case-07 | fail→fail | 14,294 | 6,576 | -54% | 1 | 1 | 0% | 2,560 | 2,018 | -21% | 0 | 0 | — |
case-02 | fail→fail | 9,657 | 7,340 | -24% | 1 | 1 | 0% | 1,674 | 2,007 | +20% | 0 | 0 | — |
case-03 | fail→fail | 9,888 | 7,261 | -27% | 1 | 1 | 0% | 1,655 | 2,018 | +22% | 0 | 0 | — |
case-04 | pass→fail | 20,820 | 7,926 | -62% | 1 | 1 | 0% | 3,881 | 2,160 | -44% | 0 | 0 | — |
case-05 | fail→fail | 11,030 | 6,226 | -44% | 1 | 1 | 0% | 1,927 | 2,797 | +45% | 0 | 0 | — |
case-06 | pass→pass | 1,842 | 2,877 | +56% | 1 | 1 | 0% | 312 | 2,094 | +571% | 0 | 0 | — |
case-08 | fail→pass | 10,907 | 15,602 | +43% | 1 | 1 | 0% | 1,929 | 3,002 | +56% | 0 | 0 | — |
case-09 | fail→fail | 12,458 | 5,753 | -54% | 1 | 1 | 0% | 2,360 | 2,464 | +4% | 0 | 0 | — |
case-10 | pass→fail | 11,593 | 7,443 | -36% | 1 | 1 | 0% | 2,252 | 2,143 | -5% | 0 | 0 | — |
case-11 | pass→fail | 8,333 | 12,345 | +48% | 1 | 1 | 0% | 1,488 | 2,025 | +36% | 0 | 0 | — |
case-12 | fail→fail | 11,124 | 7,456 | -33% | 1 | 1 | 0% | 1,997 | 2,032 | +2% | 0 | 0 | — |
case-13 | fail→fail | 11,040 | 6,749 | -39% | 1 | 1 | 0% | 1,796 | 1,976 | +10% | 0 | 0 | — |
case-14 | fail→fail | 7,763 | 6,985 | -10% | 1 | 1 | 0% | 1,440 | 1,971 | +37% | 0 | 0 | — |
case-15 | fail→pass | 10,060 | 11,771 | +17% | 1 | 1 | 0% | 1,836 | 2,398 | +31% | 0 | 0 | — |
case-16 | pass→pass | 6,538 | 13,401 | +105% | 1 | 1 | 0% | 1,199 | 3,246 | +171% | 0 | 0 | — |
case-17 | fail→pass | 12,995 | 3,823 | -71% | 1 | 1 | 0% | 2,374 | 2,366 | -0% | 0 | 0 | — |
case-18 | pass→pass | 15,165 | 7,349 | -52% | 1 | 1 | 0% | 2,490 | 2,920 | +17% | 0 | 0 | — |
case-19 | fail→pass | 11,150 | 12,408 | +11% | 1 | 1 | 0% | 2,357 | 3,182 | +35% | 0 | 0 | — |
case-20 | fail→pass | 5,692 | 10,642 | +87% | 1 | 1 | 0% | 971 | 2,200 | +127% | 0 | 0 | — |
case-21 | fail→fail | 8,742 | 2,835 | -68% | 1 | 1 | 0% | 1,603 | 2,225 | +39% | 0 | 0 | — |
case-22 | fail→fail | 27,496 | 2,056 | -93% | 1 | 1 | 0% | 1,480 | 1,970 | +33% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 12 counted toward the lift figure. The other 10 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +9 percentage points is the difference between those two pass rates over the 12 comparable cases. 6 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 8/3/2026 | +26% |
Other measured skills in the registry, with their headline benchmark lift.