1 · playground-presence-warner
Trigger
Bash command matches
git push or gh pr createSkips
main / master / develop / dev · dependabot/* · renovate/* · release-please*
Check
Does
docs/<branch-slug>/*.html exist? (slug = branch with / → --)If missing
Inject advisory context with mkdir/touch fix command. Push proceeds.
$ git push -u origin feat/m128-bundle-x-monitor-quickwins
[playground-presence-warner] Branch feat/m128-bundle-x-monitor-quickwins has no playground at
docs/feat--m128-bundle-x-monitor-quickwins/. The CI playground-check
job will reject this PR unless you add at least one HTML file there.
Quick fix: mkdir -p docs/feat--m128-bundle-x-monitor-quickwins
&& touch docs/feat--m128-bundle-x-monitor-quickwins/explorer.html
(Advisory — push not blocked.)
[playground-presence-warner] Branch feat/m128-bundle-x-monitor-quickwins has no playground at
docs/feat--m128-bundle-x-monitor-quickwins/. The CI playground-check
job will reject this PR unless you add at least one HTML file there.
Quick fix: mkdir -p docs/feat--m128-bundle-x-monitor-quickwins
&& touch docs/feat--m128-bundle-x-monitor-quickwins/explorer.html
(Advisory — push not blocked.)
Why these three?
| Friction this fixes | 3 of 5 PRs in the 2026-04-30 batch hit each of these issues |
| Total new code | ~300 LOC across 3 hooks · 0 new dependencies |
| Performance impact | ~5ms per push/merge/CLAUDE.md edit (advisory only) |
| Opt-out | 3 env vars · each hook independently disable-able |
| Coverage | Registered in dispatchers (sync-bash-dispatcher, unified-write-quality-dispatcher) — 0 new hook-spawn cost |