spaces-listener
Record, transcribe, and summarize X/Twitter Spaces — live or replays. Auto-downloads audio via yt-dlp, transcribes with Whisper, and generates AI summaries.
Best use case
spaces-listener is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Record, transcribe, and summarize X/Twitter Spaces — live or replays. Auto-downloads audio via yt-dlp, transcribes with Whisper, and generates AI summaries.
Teams using spaces-listener should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/spaces-listener/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How spaces-listener Compares
| Feature / Agent | spaces-listener | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Record, transcribe, and summarize X/Twitter Spaces — live or replays. Auto-downloads audio via yt-dlp, transcribes with Whisper, and generates AI summaries.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# spaces-listener
Record, transcribe, and summarize X/Twitter Spaces — live or replays. Supports multiple concurrent recordings.
## Commands
```bash
# Start recording (runs in background)
spaces listen <url>
# Record multiple Spaces at once
spaces listen "https://x.com/i/spaces/1ABC..."
spaces listen "https://x.com/i/spaces/2DEF..."
# List all active recordings
spaces list
# Check specific recording status
spaces status 1
# Stop a recording
spaces stop 1
spaces stop all
# Clean stale pid/meta files
spaces clean
# Transcribe when done
spaces transcribe ~/Desktop/space.m4a --model medium
# Summarize an existing transcript
spaces summarize ~/Desktop/space_transcript.txt
# Skip summarization
spaces transcribe ~/Desktop/space.m4a --no-summarize
```
## Requirements
```bash
brew install yt-dlp ffmpeg openai-whisper
```
For summaries, set `OPENAI_API_KEY` (transcription still works without it).
## How It Works
1. Each `spaces listen` starts a new background recording with a unique ID
2. Recordings persist even if you close terminal
3. Run `spaces list` to see all active recordings
4. When done, `spaces stop <id>` or `spaces stop all`
5. Transcribe with `spaces transcribe <file>`
6. Summaries are generated automatically after transcription (skip with `--no-summarize`)
## Output
Each space gets its own folder under `~/Dropbox/ClawdBox/XSpaces/`:
```
~/Dropbox/ClawdBox/XSpaces/
space_username_2026-02-03_1430/
recording.m4a — audio
recording.log — progress log
transcript.txt — transcript
summary.txt — summary
```
## Critical: Agent Usage Rules
**NEVER set a timeout on Space downloads.** Spaces can be hours long.
yt-dlp stops automatically when the Space ends — don't kill it early.
The correct workflow:
1. Run `spaces listen <url>` — it starts a background process and returns immediately
2. Set a **cron job** (every 5–10 min) to check `spaces list`
3. When recording shows "No active recordings", it's done
4. Transcribe the audio file, summarize, notify the user
5. Delete the cron job
**Do NOT:**
- Use `exec` with a timeout for downloads
- Run competing download processes for the same Space
- Kill the download process manually (unless the user asks)
Audio is staged in `/tmp/spaces-listener-staging/` during recording, then
automatically copied to the final Dropbox output dir when complete. This
avoids Dropbox file-locking issues during long downloads.
## Whisper Models
| Model | Speed | Accuracy |
|-------|-------|----------|
| tiny | ⚡⚡⚡⚡ | ⭐ |
| base | ⚡⚡⚡ | ⭐⭐ |
| small | ⚡⚡ | ⭐⭐⭐ |
| medium | ⚡ | ⭐⭐⭐⭐ |
| large | 🐢 | ⭐⭐⭐⭐⭐ |Related Skills
openclaw-spacesuit
**A framework scaffold for OpenClaw workspaces.**
perry-workspaces
Create and manage isolated Docker workspaces on your tailnet with Claude Code and OpenCode pre-installed. Use when working with Perry workspaces, connecting to coding agents, or managing remote development environments.
hf-spaces
Generate images, videos, audio, and more using HuggingFace Spaces and Inference Providers directly.
coder-workspaces
Manage Coder workspaces and AI coding agent tasks.
clawspaces
X Spaces, but for AI Agents. Live voice rooms where AI agents host conversations.
paylock
Non-custodial SOL escrow for AI agent deals.
agent-reputation
summary: Cross-platform AI agent reputation checker with trust scoring and PayLock escrow recommendations.
Telecom Agent Skill
Turn your AI Agent into a Telecom Operator. Bulk calling, ChatOps, and Field Monitoring.
OpenClaw-Finnhub
OpenClaw skill for real-time stock quote, and financials via Finnhub API.
```markdown
# OpenClaw-Last.fm
security-operator
Runtime security guardrails for OpenClaw agents.
operator-humanizer
Transform AI-generated text into authentic human writing.