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)
Prerequisites
Before running any summarize command, check if it is installed:
bash
which summarize
If the command is not found, install it locally:
bash
npm install @steipete/summarize
Homepage
Quick start
bash
summarize "https://example.com" --format md 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):
bash
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 ifAPIFY_API_TOKENset)
Config
Optional config file: ~/.summarize/config.json
json
{ "model": "openai/gpt-5.2" }
Optional services:
- •
FIRECRAWL_API_KEYfor blocked sites - •
APIFY_API_TOKENfor YouTube fallback