S

summarize

Verified

by openclaw · Updated Apr 16, 2026

opus
22in8.0Kout
$0.743m 9s

Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).

summarizationtranscriptionyoutubeurlsdocumentscli

See It In Action

1 turns·claude
Your working directory contains files prepared for this task. Start by listing and reading them to understand the full context. need a quick leadership brief today from this outage blog post, a youtube talk, and our vendor RCA pdf — short summary + the pdf text for reference

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.

Claude Sonnet 4.6

External Tools

ToolType
summarizebinary

Permissions

ScopeDescription
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-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

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 summarize

Invoke: Use summarize when you want the agent to follow this workflow.