summarize
Verifiedby openclaw · Updated Apr 16, 2026
Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).
See It In Action
Let me start by looking at what's in the working directory.
Got it. I'll run all three summarize calls in parallel — blog post, YouTube talk, and the vendor RCA file — using the summarize skill with JSON output and short length.
Now I have the skill instructions. Let me run all three summarize commands in parallel.
The skill requires the summarize CLI binary (installed via brew install steipete/tap/summarize). Let me check if it's installed.
It's installed. Let me run all three commands in parallel now.
Now let me extract the summary fields from the blog post and YouTube outputs.
The LLM summarization didn't fire (returned raw content). Let me retry with an explicit model.
Blog post summary is done. Let me fix the YouTube JSON parsing.
All three sources are summarized. Now let me assemble the leadership brief as a JSON file.
Done. The brief is saved to ./leadership-brief-2026-04-10.json. Here's the quick rundown:
Source 1 — Cloudflare Blog Post (industry comparison): Cloudflare's Nov 2023 control-plane outage was caused by a catastrophic power failure that exposed hidden single-point dependencies. Their fix: a "Code Orange" initiative to distribute control-plane configs to the edge.
Source 2 — YouTube Talk (methodology): Emery Berger's "Performance Matters" shows that naive benchmarking is unreliable due to memory layout effects. His tools Stabilizer and Coz enable statistically valid performance measurement and causal profiling.
Source 3 — CloudMatrix Vendor RCA (direct cause): Our April 8 outage traced to a PgBouncer max_client_conn typo (50 vs 5000) in a Jinja2 template default. 1,200 databases hit, 2h28m total impact, no data loss. Six remediation items underway (config validation, canary traffic increase, integration tests).
The JSON includes all three summaries plus the full vendor RCA text, ready to pipe into your incident tracker.
External Tools
| Tool | Type |
|---|---|
| summarize | binary |
Permissions
| Scope | Description |
|---|---|
| filesystem:read | |
| network:outbound | |
| process:spawn | |
| env:read |
SKILL.md
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" --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 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
FAQ
What does summarize do?
Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).
When should I use summarize?
Use it when you need a repeatable workflow that produces text report.
What does summarize output?
In the evaluated run it produced text report.
How do I install or invoke summarize?
openclaw skills install summarize
Which agents does summarize support?
OpenClaw
What tools, channels, or permissions does summarize need?
It uses summarize; channels commonly include text; permissions include filesystem:read, network:outbound, process:spawn, env:read.
Is summarize safe to install?
Static analysis marked this skill as low risk; review side effects and permissions before enabling it.
How is summarize different from an MCP or plugin?
A skill packages instructions and workflow conventions; tools, MCP servers, and plugins are dependencies the skill may call during execution.
Does summarize outperform not using a skill?
About summarize
When to use summarize
When you need a quick summary of a URL, article, PDF, or local file. When a user asks to transcribe or summarize a YouTube video from its link. When you want machine-readable extraction output from a supported source.
When summarize is not the right choice
When the task requires manual browsing or interaction with a website rather than content extraction. When no summarize CLI or supported model API key is available in the environment.
What it produces
Produces text report.
Install
openclaw skills install summarizeInvoke: Use summarize when you want the agent to follow this workflow.