4.3k★by jamesalmeida
grab – OpenClaw Skill
grab is an OpenClaw Skills integration for data analytics workflows. Download and archive content from URLs (tweets, X articles, Reddit, YouTube). Saves media, text, transcripts, and AI summaries into organized folders.
Skill Snapshot
| name | grab |
| description | Download and archive content from URLs (tweets, X articles, Reddit, YouTube). Saves media, text, transcripts, and AI summaries into organized folders. OpenClaw Skills integration. |
| owner | jamesalmeida |
| repository | jamesalmeida/grab |
| language | Markdown |
| license | MIT |
| topics | |
| security | L1 |
| install | openclaw add @jamesalmeida/grab |
| last updated | Feb 7, 2026 |
Maintainer

name: grab description: Download and archive content from URLs (tweets, X articles, Reddit, YouTube). Saves media, text, transcripts, and AI summaries into organized folders. homepage: https://github.com/jamesalmeida/grab when: "User shares a URL and wants to download/save/grab it, or asks to download a tweet video, YouTube video, Reddit post, or any media from a URL" examples:
- "grab this https://x.com/..."
- "download this tweet"
- "save this video"
- "grab https://youtube.com/..."
- "grab this reddit post" tags:
- download
- media
- youtube
- transcript
- archive metadata: { "openclaw": { "emoji": "🫳", "requires": { "bins": ["yt-dlp", "ffmpeg", "whisper"] }, "install": [{ "id": "yt-dlp", "kind": "brew", "formula": "yt-dlp", "bins": ["yt-dlp"], "label": "Install yt-dlp (brew)" }, { "id": "ffmpeg", "kind": "brew", "formula": "ffmpeg", "bins": ["ffmpeg"], "label": "Install ffmpeg (brew)" }, { "id": "openai-whisper", "kind": "brew", "formula": "openai-whisper", "bins": ["whisper"], "label": "Install Whisper (brew)" }] } }
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.txt— tweet text, author, date, engagement statsvideo.mp4— attached video (if any)image_01.jpg, etc. — attached images (if any)transcript.txt— auto-transcribed from video (if video)summary.txt— AI summary of video (if video)- Folder named by content description
X Articles
article.txt— full article text with title, author, datesummary.txt— AI summary of article- Agent handles via OpenClaw browser snapshot
- Script exits with code 2 and
ARTICLE_DETECTED:<id>:<url>when it detects an article
post.txt— title, author, subreddit, score, date, body textcomments.txt— top comments with authors and scoresimage_01.jpg, etc. — attached images or gallery (if any)video.mp4— attached video (if any)transcript.txt— auto-transcribed from video (if video)summary.txt— AI summary of post + discussion- If Reddit JSON API is blocked (exit code 3), agent uses OpenClaw browser
YouTube
video.mp4— the videodescription.txt— video descriptionthumbnail.jpg— video thumbnailtranscript.txt— transcribed audiosummary.txt— AI summary
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.
🫳 grab
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).
Supported Sources
| 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 |
Install
brew install yt-dlp ffmpeg openai-whisper
Optionally, 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/grab
Or if you're using OpenClaw, just drop the grab folder into your workspace skills/ directory.
Usage
grab <url>
grab --config # Change save directory
grab --help # Show help
First Run
On 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.
Output Structure
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
Features
- 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
How It Works
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.
Requirements
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.
OpenClaw Skill
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
License
MIT
Permissions & Security
Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.
Requirements
```bash 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.
FAQ
How do I install grab?
Run openclaw add @jamesalmeida/grab in your terminal. This installs grab into your OpenClaw Skills catalog.
Does this skill run locally or in the cloud?
OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.
Where can I verify the source code?
The source repository is available at https://github.com/openclaw/skills/tree/main/skills/jamesalmeida/grab. Review commits and README documentation before installing.
