demo-recordlisted
Install: claude install-skill nick-pape/grackle
# Launch Grackle Demo Recording
This skill sets up and launches the self-recording Grackle demo where a Claude Code agent inside Docker controls a browser with Playwright MCP, narrates with PocketTTS MCP, and records its own screen with ffmpeg.
## Prerequisites
- Grackle server must be running (`node packages/server/dist/index.js` or `grackle serve`)
- Docker Desktop must be running
- `ANTHROPIC_API_KEY` must be set (or `~/.claude/.credentials.json` mounted)
## Steps
### 1. Build all packages
```bash
rush build
```
### 2. Build Docker images
```bash
# Demo recorder image (Playwright + Xvfb + PulseAudio + ffmpeg + PocketTTS)
# No --secret needed: uses PocketTTS built-in voices (no HF_TOKEN required)
docker build -f docker/Dockerfile.demo-recorder -t grackle-demo-recorder .
# Dev environment image (standard PowerLine)
docker build -f docker/Dockerfile.powerline -t grackle-powerline .
```
### 3. Nuke database and restart server
The demo must start with a completely clean database — no leftover projects, tasks, or findings from previous runs. Stale data causes the demo agent to see pre-existing tasks instead of creating them fresh on camera.
```bash
# Kill the grackle server (it holds the DB lock)
# Windows (Git Bash): find PID with `wmic process where "name='node.exe'" get processid,commandline | grep server`
# then: taskkill /PID <SERVER_PID> /F
# Linux/Mac: kill $(pgrep -f "node.*server/dist/index.js")
# Delete the database
rm -f ~/.grackle/grackle.db ~/.grackle/g