summarize

steipete's avatarfrom steipete

Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).

⭐430stars🔀44forks📁View on GitHub🕐Updated Dec 21, 2025

When & Why to Use This Skill

The Summarize Claude skill is a high-performance CLI tool designed to instantly condense information from a wide array of sources, including web URLs, YouTube videos, local PDFs, images, and audio files. By leveraging advanced LLM providers like Gemini, OpenAI, and Anthropic, it streamlines information retrieval, offering both concise summaries and best-effort transcriptions to enhance research productivity and content consumption.

Use Cases

  • Web Content Digesting: Quickly extract key insights from long-form articles, blog posts, and news reports without reading the entire page.
  • YouTube & Podcast Analysis: Generate summaries or full transcripts of video and audio content to save time on watching or listening to long tutorials and lectures.
  • Document & File Processing: Summarize local PDF documents and images containing text for faster academic research and data organization.
  • Automated Data Extraction: Utilize the tool as a robust fallback for extracting text from blocked websites or complex web structures using integrated services like Firecrawl.
namesummarize
descriptionSummarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).
homepagehttps://summarize.sh
metadata{"clawdbot":{"emoji":"🧾","requires":{"bins":["summarize"]},"install":[{"id":"brew","kind":"brew","formula":"steipete/tap/summarize","bins":["summarize"],"label":"Install summarize (brew)"}]}}

Summarize

Fast CLI to summarize URLs, local files, and YouTube links.

When to use (trigger phrases)

Use this skill immediately when the user asks any of:

  • “use summarize.sh”
  • “what’s this link/video about?”
  • “summarize this URL/article”
  • “transcribe this YouTube/video” (best-effort transcript extraction; no yt-dlp needed)

Quick start

summarize "https://example.com" --model google/gemini-3-flash-preview
summarize "/path/to/file.pdf" --model google/gemini-3-flash-preview
summarize "https://youtu.be/dQw4w9WgXcQ" --youtube auto

YouTube: summary vs transcript

Best-effort transcript (URLs only):

summarize "https://youtu.be/dQw4w9WgXcQ" --youtube auto --extract-only

If the user asked for a transcript but it’s huge, return a tight summary first, then ask which section/time range to expand.

Model + keys

Set the API key for your chosen provider:

  • OpenAI: OPENAI_API_KEY
  • Anthropic: ANTHROPIC_API_KEY
  • xAI: XAI_API_KEY
  • Google: GEMINI_API_KEY (aliases: GOOGLE_GENERATIVE_AI_API_KEY, GOOGLE_API_KEY)

Default model is google/gemini-3-flash-preview if none is set.

Useful flags

  • --length short|medium|long|xl|xxl|<chars>
  • --max-output-tokens <count>
  • --extract-only (URLs only)
  • --json (machine readable)
  • --firecrawl auto|off|always (fallback extraction)
  • --youtube auto (Apify fallback if APIFY_API_TOKEN set)

Config

Optional config file: ~/.summarize/config.json

{ "model": "openai/gpt-5.2" }

Optional services:

  • FIRECRAWL_API_KEY for blocked sites
  • APIFY_API_TOKEN for YouTube fallback