Files
command-center/agent/managed-skills/dankclaw-homepage-asset-verify/SKILL.md
T
Frank a34322aeb0 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.
2026-10-09 13:17:48 -07:00

1.6 KiB

name, description
name description
dankclaw-homepage-asset-verify Add/verify homepage assets on Dankclaw: Caddy @data allowlist, deploy copy step, e2e panel census, live content-type check.

Every new top-level homepage asset directory (e.g. shared/homepage/img/, shared/homepage/sfx/) needs FOUR coordinated changes, all in one commit:

  1. Caddy allowlist — dankclaw/Caddyfile @data path matcher must include /<dir>/*. Without it the post-auth @home catch-all answers with index.html (200 text/html for a PNG/OGG — silent breakage).
  2. Deploy copy — scripts/deploy-remote.sh deploy_homepage() copies shared/homepage/<dir>/ with the cp -r ... /srv/homepage/ merge pattern beside the fonts/img/sfx blocks.
  3. Test pins — tests/homepage_caddy.bats grep-pins the new @data path; if the asset changes panel rendering, the e2e census in tests/e2e/specs/10-homepage.spec.ts must count the new render style (it derives expected names from services.json: .panel .name for normal cards, .mi-name for fused Model Information cards — a new fused component breaks the panel census otherwise, which is exactly how the 2026-10-08 Protoss deploy failed its e2e gate).
  4. Deploy both services — deploy.sh dankclaw --service homepage and --service caddy (Caddyfile change), then live-verify from a browser tab: fetch('/<dir>/<file>') must return 200 with the correct content-type (image/jpeg, audio/ogg), not text/html.

Checker note: status.json names follow services.json automatically (the deployed checker re-reads it via the homepage deploy's restart of homepage-status.timer), so renaming cards needs no checker change.