โ† Back to Productivity & Tasks
Productivity & Tasks by @jamesalmeida

grab

Download and archive content from URLs (tweets, X articles, Reddit, YouTube)

0
Source Code

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 stats
  • video.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, date
  • summary.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

Reddit

  • post.txt โ€” title, author, subreddit, score, date, body text
  • comments.txt โ€” top comments with authors and scores
  • image_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 video
  • description.txt โ€” video description
  • thumbnail.jpg โ€” video thumbnail
  • transcript.txt โ€” transcribed audio
  • summary.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.