refactor(skills): consolidate managed skill library 94 -> 25

The managed-skill library was regenerated: 94 narrow per-incident skills
replaced by 25 broader ones (radiance-*, llamacpp-*, homepage-*, fleet/
endpoint ops). Git renders this as mass delete + mass add because whole
directories changed name; old content stays in history at 12c5e88.

Surface check: the 25 on disk are exactly the skills the harness advertises
this session.
This commit is contained in:
Frank committed 2026-10-09 13:17:48 -07:00
1 parent 94c71a016f
commit a34322aeb0
119 files changed
+740 -5816

No files matched your search

@@ -0,0 +1,22 @@
---
name: static-smoke-server-verify
description: Verify static frontend edits on a scratch http.server + headless browser without stale-server/browser-cache false negatives
---
## When
Serving a copied frontend tree (e.g. `shared/homepage/` → `/tmp/hp-smokeN/`) via `python3 -m http.server` and verifying with the managed headless browser.
## Procedure
1. Kill any prior scratch server FIRST: `pkill -f "http.server <port>"; sleep 0.5`. A second launch on an occupied port exits silently and the OLD server keeps serving the OLD copy.
2. Fresh copy each wave: `rm -rf /tmp/hp-smokeN && cp -r <tree> /tmp/hp-smokeN`; for single-file resyncs `cp` the changed files into the served dir.
3. Start server from the served dir; prove the SERVED bytes are new before browser work:
`curl -s http://127.0.0.1:<port>/<page> | grep -c <marker-only-in-new-file>`
If curl is green but the browser shows old content, it is browser disk cache (http.server sends no Cache-Control).
4. Cache-bust every browser navigation: `?v=<timestamp>` query on page URLs.
5. Assert behaviorally in `tab.evaluate` (section id order, computed styles, `naturalWidth` of imgs, class presence), screenshot for the visual record, then `tab.close`.
## Cleanup
`pkill -f "http.server <port>"`; move smoke trees to `~/.AGENTTRASH/YYYYMMDD-topic` (never `rm`).
## Harness quirk
bash async calls with `name`+`timeout` may be rejected ("Service mode does not accept async or timeout"); plain `async` works, `ready: {timeout}` for services.