summarize
steipete/clawdis
Fast CLI to summarize or transcribe URLs, videos, podcasts, articles, PDFs, and local files.
What is summarize?
A command-line tool that extracts and summarizes content from URLs, YouTube videos, PDFs, and local files using your choice of LLM provider. Use it when you need quick summaries or transcripts of web content, videos, or documents.
- Summarize web URLs, articles, and web pages
- Extract and transcribe YouTube videos and video content
- Summarize PDFs and local files
- Generate transcripts with best-effort extraction from video URLs
- Adjust summary length from short to extra-long formats
- Output results as JSON for machine-readable processing
How to install summarize
npx skills add https://github.com/steipete/clawdis --skill summarize- Install via Homebrew: `brew install steipete/tap/summarize`
- Set an API key for your LLM provider: `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `XAI_API_KEY`, or `GEMINI_API_KEY`
- Optional: `FIRECRAWL_API_KEY` for blocked sites or `APIFY_API_TOKEN` for YouTube fallback
How to use summarize
- 1.Run `summarize "<URL>"` to summarize a web page or article
- 2.Run `summarize "/path/to/file.pdf"` to summarize a local PDF or file
- 3.Run `summarize "<YouTube_URL>" --youtube auto` to summarize a YouTube video
- 4.Add `--extract` flag to get raw extracted content without LLM processing
- 5.Use `--length short|medium|long|xl|xxl` to control summary verbosity
- 6.Use `--json` flag to get machine-readable JSON output
Use cases
- Quickly understand what a URL or article is about without reading the full text
- Extract transcripts from YouTube videos for analysis or reference
- Summarize long PDF documents or research papers
- Get a quick overview of podcast or video content
- Batch process multiple files or URLs for content review
- Developers building content analysis workflows
- Researchers processing multiple documents or videos
- Content creators needing quick summaries of reference material
- Anyone wanting fast CLI-based content extraction without browser overhead
summarize FAQ
You need at least one API key from OpenAI, Anthropic, xAI, or Google Gemini. Set it as an environment variable (e.g., `OPENAI_API_KEY`). The tool defaults to `auto` model selection.
Yes, use the `--extract` flag with YouTube URLs to attempt transcript extraction. For very long transcripts, the tool will return a summary first and ask which section to expand.
Set `FIRECRAWL_API_KEY` to enable fallback extraction for blocked sites, or use `--firecrawl always` to force it.
Use the `--length` flag with values like `short`, `medium`, `long`, `xl`, or `xxl`, or specify a character count directly.
Yes, use the `--json` flag to get machine-readable output suitable for piping into other tools or scripts.
Full instructions (SKILL.md)
Source of truth, from steipete/clawdis.
name: summarize description: "Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files." homepage: https://summarize.sh metadata: { "openclaw": { "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-dlpneeded)
Quick start
summarize "https://example.com"
summarize "/path/to/file.pdf"
summarize "https://youtu.be/dQw4w9WgXcQ" --youtube auto
YouTube: summary vs transcript
Best-effort transcript (URLs only):
summarize "https://youtu.be/dQw4w9WgXcQ" --youtube auto --extract
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 auto; config may choose the provider/model.
Useful flags
--length short|medium|long|xl|xxl|<chars>--max-output-tokens <count>--extract(print extracted content, no LLM summary)--json(machine readable)--firecrawl auto|off|always(fallback extraction)--youtube auto(Apify fallback ifAPIFY_API_TOKENset)
Config
Optional config file: ~/.summarize/config.json
{ "model": "openai/gpt-5.2" }
Optional services:
FIRECRAWL_API_KEYfor blocked sitesAPIFY_API_TOKENfor YouTube fallback
Related skills
More from steipete/clawdis and the wider catalog.
weather
Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.
tmux
Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.
gog
Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
nano-pdf
Edit PDFs with natural-language instructions using the nano-pdf CLI.
openai-whisper
Local speech-to-text with the Whisper CLI (no API key).
ordercli
Foodora-only CLI for checking past orders and active order status (Deliveroo WIP).