From pair-programmer
Records screen and audio for AI pair programming with real-time visual/transcript event indexing. Use /pair-programmer commands to search context, act on instructions, summarize activity.
npx claudepluginhub video-db/pair-programmer --plugin pair-programmerThis skill uses the workspace's default tool permissions.
AI pair programming with real-time screen and audio context. Record your screen and audio, with AI-powered indexing that logs visual and audio events in real-time.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
Guides code writing, review, and refactoring with Karpathy-inspired rules to avoid overcomplication, ensure simplicity, surgical changes, and verifiable success criteria.
Share bugs, ideas, or general feedback.
AI pair programming with real-time screen and audio context. Record your screen and audio, with AI-powered indexing that logs visual and audio events in real-time.
When user asks for a command, read the corresponding file for instructions:
| Command | Description | Reference |
|---|---|---|
/pair-programmer record | Start screen/audio recording | See commands/record.md |
/pair-programmer stop | Stop the running recording | See commands/stop.md |
/pair-programmer search | Search recording context (screen, mic, audio) | See commands/search.md |
/pair-programmer act | Act on a spoken instruction from the mic | See commands/act.md |
/pair-programmer what-happened | Summarize recent activity | See commands/what-happened.md |
/pair-programmer setup | Install deps and configure API key | See commands/setup.md |
/pair-programmer config | Change indexing and other settings | See commands/config.md |
/pair-programmer setup to install dependencies and set VIDEO_DB_API_KEY environment variable/pair-programmer record to start recording/tmp/videodb_pp_events.jsonl| Path | Content |
|---|---|
/tmp/videodb_pp_pid | Process ID of the recorder |
/tmp/videodb_pp_events.jsonl | All WebSocket events (JSONL format) |
/tmp/videodb_pp_info.json | Current session info (session_id, rtstream_ids) |
Events are written as JSONL (one JSON object per line):
{"ts": "2026-03-05T10:15:30.123Z", "unix_ts": 1709374530.12, "channel": "visual_index", "data": {"text": "User is viewing VS Code with auth.ts open"}}
{"ts": "2026-03-05T10:15:31.456Z", "unix_ts": 1709374531.45, "channel": "transcript", "data": {"text": "Let me check the login flow", "is_final": true}}
The recorder reads these from environment variables:
| Variable | Required | Description |
|---|---|---|
VIDEO_DB_API_KEY | Yes | VideoDB API key |
VIDEO_DB_BASE_URL | No | API endpoint (default: https://api.videodb.io) |
Events are in /tmp/videodb_pp_events.jsonl. Use CLI tools to filter โ never read the whole file.
| Channel | Content | Density |
|---|---|---|
visual_index | Screen descriptions | Dense (~1 every 2s) |
transcript | Mic speech | Sparse (sentences) |
audio_index | System audio summaries | Sparse (sentences) |
Channel filter โ use grep to filter by channel, pipe to tail for recent events:
grep '"channel":"visual_index"' /tmp/videodb_pp_events.jsonl | tail -10
Keyword search โ grep across all channels:
grep -i 'keyword' /tmp/videodb_pp_events.jsonl
Time-window filter โ filter events from the last N minutes:
$(date +%s)epoch - N*60unix_ts JSON field exceeds the cutoffgrep to narrow by channelGenerate the appropriate filtering command (grep, awk, python3, jq) based on complexity.
For semantic search across indexed content, use search-rtstream.js:
node search-rtstream.js --query="your query" --cwd=<PROJECT_ROOT>
<PROJECT_ROOT>is the absolute path to the user's project directory. This is NOT the skill directory โ resolve it before running the command.
See commands/search.md for the full search strategy and CLI patterns.