#2528 — ci-debug pattern #11 + the skill-mirror verdict

What this PR ships, and the evidence that reshaped the “real fix.” Click a pattern to inspect it; #11 is the one landing here.

ci-debug playbook — now 11 patterns

Pattern detail

#2528 — three pains, real status

FIXED* Contribution friction
web/gh-api src edit failed the drift gate
Auto-heal bot (skill-autobuild.yml) regenerates + pushes artifacts. *assisted, not fully self-healing — see right.
BLOCKED Token tax ~2.8k/session
commands/ dup loads skills 2×
Upstream claude-code#18949 still OPEN — CC can’t discover user-invocable skills directly, so 31 wrappers stay.
UNSOUND Drift surface 1,919 files
“gitignore the mirror”
Breaks public install: marketplace add git-clones the repo and reads committed files only. Gitignored = 0 skills for everyone but the maintainer’s local directory install.

Why “assisted,” not “fixed” — the re-trigger gap

The bot pushes its heal commit with the default GITHUB_TOKEN, which does not re-trigger required checks. Measured on PR #2592:

Bot heal commit df841d22b0 checks
Human follow-up 94706187d47 checks

So a source-only PR that ends on the bot’s commit is left with required checks “Expected” and unmergeable until a human pushes again. That’s why this PR commits the regenerated mirrors itself (reliable green) instead of relying on auto-heal.

What this PR does

Self-contained · no external dependencies · keyboard: ↑/↓ to move, Enter to select