grab
Download and archive content from URLs (tweets, X articles, Reddit, YouTube). Saves media, text, transcripts, and AI summaries into organized folders.
install
source · Clone the upstream repo
git clone https://github.com/jamesalmeida/grab
Claude Code · Install into ~/.claude/skills/
git clone --depth=1 https://github.com/jamesalmeida/grab ~/.claude/skills/jamesalmeida-grab-grab
manifest:
SKILL.mdsource content
grab 🫳
Download and archive content from URLs into organized folders.
Setup
Dependencies
brew install yt-dlp ffmpeg openai-whisper
Save Location
On first run,
grab asks where to save files (default: ~/Dropbox/ClawdBox/).
Config stored in ~/.config/grab/config. Reconfigure anytime with grab --config.
Transcription (Local Whisper)
Transcription runs locally via Whisper (
turbo model) — no API key or network calls needed.
AI Summaries & Smart Titles (Optional)
Set
OPENAI_API_KEY to enable:
- AI-generated summaries of content
- Smart descriptive folder names (from transcript/image analysis)
Without it, everything still works — you just won't get summaries or auto-renamed folders.
What It Does
Tweets (x.com / twitter.com)
— tweet text, author, date, engagement statstweet.txt
— attached video (if any)video.mp4
, etc. — attached images (if any)image_01.jpg
— auto-transcribed from video (if video)transcript.txt
— AI summary of video (if video)summary.txt- Folder named by content description
X Articles
— full article text with title, author, datearticle.txt
— AI summary of articlesummary.txt- Agent handles via OpenClaw browser snapshot
- Script exits with code 2 and
when it detects an articleARTICLE_DETECTED:<id>:<url>
— title, author, subreddit, score, date, body textpost.txt
— top comments with authors and scorescomments.txt
, etc. — attached images or gallery (if any)image_01.jpg
— attached video (if any)video.mp4
— auto-transcribed from video (if video)transcript.txt
— AI summary of post + discussionsummary.txt- If Reddit JSON API is blocked (exit code 3), agent uses OpenClaw browser
YouTube
— the videovideo.mp4
— video descriptiondescription.txt
— video thumbnailthumbnail.jpg
— transcribed audiotranscript.txt
— AI summarysummary.txt
Output
Downloads are organized by type:
<save_dir>/ XPosts/ 2026-02-03_embrace-change-you-can-shape-your-life/ tweet.txt, video.mp4, transcript.txt, summary.txt XArticles/ 2026-01-20_the-arctic-smokescreen/ article.txt, summary.txt Youtube/ 2026-02-03_how-to-build-an-ai-agent/ video.mp4, description.txt, thumbnail.jpg, transcript.txt, summary.txt Reddit/ 2026-02-03_maybe-maybe-maybe/ post.txt, comments.txt, video.mp4, summary.txt
Usage
grab <url> # Download and archive a URL grab --config # Reconfigure save directory grab --help # Show help
Requirements
brew install yt-dlp ffmpeg openai-whisper
Transcription uses local Whisper — no API key needed.
OPENAI_API_KEY env var optional — enables AI summaries and smart folder titles.
Without it, media downloads and transcription still work.