record
Use when the user wants to record a video of a browser task, create a screen recording, or produce an MP4 demo
mkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/mixpeek/amux/HEAD/.claude/commands/record.md -o ~/.claude/commands/record.mdrecord.md
# /record — Browser Screen Recorder
Records an MP4 video of the amux browser agent performing a task. The agent uses Claude to drive a headless Playwright browser, records everything, then removes idle frames (Claude-thinking pauses) via ffmpeg mpdecimate, producing a clean, snappy MP4.
The user's request is: **$ARGUMENTS**
## Instructions
### Step 1 — Start the agent
```bash
curl -sk -X POST -H 'Content-Type: application/json' \
-d "{\"task\": \"$ARGUMENTS\"}" \
$AMUX_URL/api/browser/agent
```
Check the response. If `ok` is false, report the error and stop.
### Step 2 — Stream progress until done
Poll every 2 seconds and print each step as it happens:
```bash
while true; do
STATUS=$(curl -sk $AMUX_URL/api/browser/agent/status)
STEP=$(echo "$STATUS" | python3 -c "import sys,json; d=json.load(sys.stdin); print(f\"[Step {d['step']}] {d['action']}\")" 2>/dev/null)
echo "$STEP"
RUNNING=$(echo "$STATUS" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['running'])" 2>/dev/null)
[ "$RUNNING" = "False" ] && break
sleep 2
done
```
Show each step line to the user as it prints.
### Step 3 — Report the result
```bash
curl -sk $AMUX_URL/api/browser/agent/status
```
Parse the final status:
- If `video_ready` is true → tell the user the recording is ready and give them the download URL: **$AMUX_URL/api/browser/video**
- Also mention: they can click "Download MP4" in the amux Browser tab
- If `error` is set → report the error clearly
- If neither → report "Done (no video produced)"
## Notes
- The agent auto-records — no manual toggle needed
- Idle/thinking frames are automatically removed so the video is snappy
- Max 25 browser steps by default
- Uses the currently active browser profile (for authenticated sessions, switch profiles in the Browser tab first)
- To stop a running recording early: `curl -sk -X POST $AMUX_URL/api/browser/agent/stop`
## Gotchas
- The agent uses the **currently active** browser profile — switch profiles in the Browser tab before recording if you need specific auth.
- `ffmpeg` must be installed for idle-frame removal; without it the raw (unprocessed) video is kept but will have long pauses.
- Max 25 browser steps by default — complex multi-page flows may hit this limit and stop early.
- The video endpoint (`/api/browser/video`) only serves the most recent recording — start a new one and the previous is overwritten.Pick up an open issue from the amux issue tracker, mark it doing, work it, and mark it done.
Use when the user says "add to board", "create a task", or wants to track a todo on the amux kanban board
Use when you need to interact with the amux system — manage board tasks, check sessions, send emails, automate browsers, or work with CRM contacts
Use when the user asks to interact with a web page, take a screenshot of a site, click or type in Chrome, scrape content, or debug a web UI. Connects to real Chrome tabs with existing logins.
Scaffold a closed orchestrator loop — creates the mission note, state/constraints notes, and a scheduler entry from the v2 template.
Use when the user needs to log into a website for browser automation, save auth cookies, or sync browser profiles to cloud
Use when you need to test the amux dashboard UI, investigate a visual bug, or verify a frontend change works correctly
Use when the user asks what a session did, wants to review session history, or needs to find errors in a session log