summarize · swarmclawai — Claude Code skill: summarize links, videos and files
This skill drives the summarize CLI so the agent can condense a web page, pull a YouTube transcript, or read text out of a local file.
npx skills add swarmclawai/swarmclaw --skill summarize -a claude-codeWhat summarize does
The skill tells the agent how to call the summarize binary and bring the result back into the conversation. It handles URLs, files on disk, and YouTube links. For video there are two paths: a short recap, or raw transcript extraction with --extract-only.
Pick a model with --model; the provider key comes from the environment — OPENAI_API_KEY, ANTHROPIC_API_KEY, XAI_API_KEY, or GEMINI_API_KEY. With no model set, google/gemini-3-flash-preview is used. Output size is controlled by --length, a hard cap by --max-output-tokens, and --json returns machine-readable data.
The binary itself is not bundled. Install it separately, for instance with the brew formula steipete/tap/summarize. When a site blocks extraction, --firecrawl auto plus FIRECRAWL_API_KEY is the fallback; YouTube fallback needs APIFY_API_TOKEN. Settings can live in ~/.summarize/config.json.
What it helps with
- condense a long article from a URL into a few paragraphs
- get a YouTube transcript without watching the video
- extract text from a local PDF or another file
- work around sites that block extraction
- return results as JSON for further processing
Example prompts for the agent
- Summarize the article at https://example.com in five paragraphs
- Pull the transcript from https://youtu.be/dQw4w9WgXcQ
- Give me a short summary of
/path/to/file.pdf
How to install summarize
1Skills CLI (Vercel)
npx skills add swarmclawai/swarmclaw --skill summarize -a claude-code2Manually: put the files in place
~/.claude/skills/summarize/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/summarize/
1Skills CLI (Vercel)
npx skills add swarmclawai/swarmclaw --skill summarize -a codex2Manually: put the files in place
.agents/skills/summarize/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add swarmclawai/swarmclaw --skill summarize -a cursor2Manually: put the files in place
.cursor/skills/summarize/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install swarmclawai/swarmclaw summarize2Manually: put the files in place
.github/skills/summarize/SKILL.md1Skills CLI (Vercel)
npx skills add swarmclawai/swarmclaw --skill summarize -a gemini-cli2Platform CLI
gemini skills install https://github.com/swarmclawai/swarmclaw --path skills/summarizeManually: put the files in place
.devin/skills/summarize/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add swarmclawai/swarmclaw --skill summarize -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about summarize
How do I install summarize in Claude Code?
Run npx skills add swarmclawai/swarmclaw --skill summarize -a claude-code; the skill file lands at ~/.claude/skills/summarize/SKILL.md. The summarize CLI is installed separately.
What does summarize do?
It summarizes links, local files, and YouTube videos, and can return a transcript for video. It works through an external CLI that the agent invokes following the skill instructions.
What do I need for summarize to work?
The summarize binary plus a key for at least one provider: OPENAI_API_KEY, ANTHROPIC_API_KEY, XAI_API_KEY, or GEMINI_API_KEY. Blocked sites need FIRECRAWL_API_KEY; YouTube fallback needs APIFY_API_TOKEN.
Source text
SKILL.md · MIT
---
name: summarize
description: Summarize or extract text/transcripts from URLs, podcasts, YouTube videos, and local files using the summarize CLI. Use when asked to summarize a link, article, video, or file, or to transcribe a YouTube video.
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.
## Quick Start
```bash
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 extraction (URLs only):
```bash
summarize "https://youtu.be/dQw4w9WgXcQ" --youtube auto --extract-only
```
If the user asked for a transcript but it's very long, return a tight summary first, then ask which section or 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>` — control summary length
- `--max-output-tokens <count>` — hard token limit
- `--extract-only` — extract raw text without summarizing (URLs only)
- `--json` — machine-readable output
- `--firecrawl auto|off|always` — fallback extraction for blocked sites
- `--youtube auto` — Apify fallback if `APIFY_API_TOKEN` is set
## Config
Optional config file: `~/.summarize/config.json`
```json
{ "model": "openai/gpt-5.2" }
```
Optional services:
- `FIRECRAWL_API_KEY` for blocked sites
- `APIFY_API_TOKEN` for YouTube fallback
© swarmclawai · MIT · swarmclawai/swarmclaw
Similar skills
All skills for Agent setup: memory, context, orchestration →summarize by other authors comes first.