verifylisted
Install: claude install-skill tandryukha/aidemo
# verify — e2e smoke test for engine changes
Your job: prove a change to the engine still renders the self-contained fixture
end-to-end. Be terse; surface only failures + a final status.
## Phases
1. **Typecheck** (always):
```bash
npm run typecheck
```
2. **Fixture server** (background; it's a plain static server on :8787):
```bash
node examples/local-demo/serve.mjs &
curl -sf http://localhost:8787 >/dev/null && echo up
```
3. **Full e2e** (needs `OPENAI_API_KEY` in `.env`, or `OPENAI_BASE_URL`
pointing at a local OpenAI-compatible server — check with
`node bin/aidemo.mjs doctor` first; it reports the resolved endpoint):
```bash
node bin/aidemo.mjs render examples/local-demo --headless
```
If neither is available, prefer the **offline full e2e** — the bundled mock
serves both endpoints locally, so every stage still runs, with zero API
spend (say which path you used in the report):
```bash
node test/mock-openai.mjs & # mock TTS+STT on :8790
OPENAI_API_KEY= OPENAI_BASE_URL=http://127.0.0.1:8790/v1 \
node bin/aidemo.mjs render examples/local-demo --headless
```
(Narration is sine tones and captions are placeholder words — fine for
verifying the pipeline, useless for judging output quality.) Last resort:
`probe` (selectors) + `record` + `compose` against previously generated
`audio/`/`generated/` artifacts if present (`captions --offline` can
regenerate caption cues from an existing `voi