Download and archive content from URLs into organized folders with transcripts and AI summaries.
Drop a URL, get everything saved β text, media, transcripts, summaries β organized and synced to Dropbox (or wherever you want).
| Source | Saves |
|---|---|
| X/Twitter Tweets | Tweet text, video, images, transcript, AI summary |
| X Articles | Full article text, AI summary |
| Reddit Posts | Post text, top comments, video, images, AI summary |
| YouTube Videos | Video, description, thumbnail, transcript, AI summary |
brew install yt-dlp ffmpeg openai-whisperOptionally, set your OpenAI API key for AI summaries and smart folder titles:
export OPENAI_API_KEY="sk-..."Without it, media downloads and transcription (local Whisper) still work.
Clone and make the script available:
git clone https://github.com/jamesalmeida/grab.git
chmod +x grab/scripts/grabOr if you're using OpenClaw, just drop the grab folder into your workspace skills/ directory.
grab <url>
grab --config # Change save directory
grab --help # Show helpOn first run, grab asks where to save files:
π«³ grab β First time setup
Where should grabbed files be saved?
Default: ~/Dropbox/ClawdBox
Save directory (press Enter for default):
Config is stored in ~/.config/grab/config.
Downloads are organized by type, each in its own dated folder:
~/Dropbox/ClawdBox/
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_state-of-ai-in-2026/
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
- Auto-transcription β Videos are transcribed locally via Whisper (no API key needed)
- AI summaries β Every piece of content gets an AI-generated summary with key insights
- Smart folder naming β Video folders are renamed based on transcript content (not just the tweet text)
- Image descriptions β Image-only tweets get folder names from AI image analysis
- Configurable save location β First-run setup, change anytime with
--config - Reddit comments β Saves top 20 comments with authors and scores
- YouTube metadata β Description, thumbnail, view/like counts all preserved
Tweets with video: Downloads video via yt-dlp β extracts audio β transcribes with Whisper β generates summary β renames folder to descriptive title from content.
Tweets with images: Downloads images β analyzes first image with vision model β renames folder to image description.
X Articles: Detected automatically (exit code 2). Requires OpenClaw agent with browser to extract article content (X blocks headless access).
Reddit posts: Fetches via Reddit JSON API β saves post + top comments β downloads any video/images β transcribes video β generates summary of post + discussion.
YouTube: Fetches metadata β downloads video (1080p max) + thumbnail β transcribes β generates summary.
yt-dlpβ media downloadsffmpegβ audio extraction and video mergingcurlβ API requestspython3β JSON parsing and API callswhisper(openai-whisper) β local transcription (no API key needed)OPENAI_API_KEYβ optional, for AI summaries and smart folder titles (GPT-4o-mini). Without it, media downloads and transcription still work.
This is an OpenClaw / AgentSkills-compatible skill. The SKILL.md contains metadata for automatic discovery and gating.
When used with OpenClaw, the agent handles:
- X Articles (browser-based extraction)
- Reddit fallback (when JSON API is blocked)
- Automatic
OPENAI_API_KEYinjection from config
MIT