Files
command-center/agent/managed-skills/homepage-smoke-verify-loop/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.8 KiB

name, description
name description
homepage-smoke-verify-loop Smoke-verify Dankclaw homepage changes locally before commit/deploy: isolated static tree + fake status + browser census, then deploy gate.

Homepage smoke-verify loop (serverAppConfig)

Verify shared/homepage/ changes against a real browser BEFORE commit/deploy.

Procedure

  1. node --check shared/homepage/app.js and python3 -c "import json; json.load(open('shared/homepage/services.json'))".
  2. Isolated tree: rm -rf /tmp/hp-smokeN && cp -r shared/homepage /tmp/hp-smokeN.
  3. Fabricate runtime files in the tree:
    • status.json: {"checked":"x","services":[{"name":<every services.json name>,"state":"up"}]} (set one model down to exercise the red-pulse path).
    • deployed.js: window.DEPLOYED_AT="smoke".
  4. Serve: (cd /tmp/hp-smokeN && nohup python3 -m http.server 8099 >/dev/null 2>&1 & echo $! > /tmp/.hp-pid).
    • If reusing port 8099: pkill -f "http.server 8099" FIRST — a second server on a busy port fails silently and the OLD tree keeps serving.
  5. Browser census via eval tab on http://127.0.0.1:8099/?v=<epoch> — ALWAYS cache-bust with ?v=; python http.server gets heuristically disk-cached by the browser. Assert: broken images (.app-art,.mi-art naturalWidth==0), computed styles (getComputedStyle for palette/fonts/clipPath), presence of new classes, document.querySelectorAll('.docs section').map(s=>s.id) for doc order, regex text census for banned words.
  6. Screenshot full page + selector shots; inspect visually.
  7. ./tests/run.sh (expect only the known frank-primary MAX_SEQS failure), commit, ./scripts/deploy.sh dankclaw --service homepage (runs Playwright e2e gate), then repeat the census against https://www.franksdank.cloud/?v=<epoch>.
  8. Cleanup: kill server, move /tmp/hp-smokeN to ~/.AGENTTRASH/YYYYMMDD-homepage-smoke/ (never rm).