summarize
Bitterbot-AI/bitterbot-desktop/skills/summarize/SKILL.md
Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).
Skill2.5k starsChanged 4 months ago
- Reads credentials
What's in it
- Summarize
- When to use (trigger phrases)
- Quick start
- YouTube: summary vs transcript
- Model + keys
- Useful flags
- Config
---
name: summarize
description: Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).
homepage: https://summarize.sh
metadata:
{
"bitterbot":
{
"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-dlp` needed)
## 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 (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 if `APIFY_API_TOKEN` 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
More agent context in Bitterbot-AI/bitterbot-desktop
66 other files this repository gives its agents, the first 60 shown.
AGENTS.md
Skill
- 1passwordskills/1password/SKILL.md
- apple-notesskills/apple-notes/SKILL.md
- apple-remindersskills/apple-reminders/SKILL.md
- bear-notesskills/bear-notes/SKILL.md
- blogwatcherskills/blogwatcher/SKILL.md
- blucliskills/blucli/SKILL.md
- bluebubblesskills/bluebubbles/SKILL.md
- calibrate-claim-confidenceskills/calibrate-claim-confidence/SKILL.md
- camsnapskills/camsnap/SKILL.md
- canvasskills/canvas/SKILL.md
- circles-protocolskills/circles-protocol/SKILL.md
- clawhubskills/clawhub/SKILL.md
- coding-agentskills/coding-agent/SKILL.md
- curiosity-loopskills/curiosity-loop/SKILL.md
- discordskills/discord/SKILL.md
- eightctlskills/eightctl/SKILL.md
- finance-dataskills/finance-data/SKILL.md
- food-orderskills/food-order/SKILL.md
- forage-economyskills/forage-economy/SKILL.md
- geminiskills/gemini/SKILL.md
- gifgrepskills/gifgrep/SKILL.md
- githubskills/github/SKILL.md
- gogskills/gog/SKILL.md
- goplacesskills/goplaces/SKILL.md
- healthcheckskills/healthcheck/SKILL.md
- himalayaskills/himalaya/SKILL.md
- imsgskills/imsg/SKILL.md
- mcporterskills/mcporter/SKILL.md
- memory-architectureskills/memory-architecture/SKILL.md
- model-usageskills/model-usage/SKILL.md
- moltbookskills/moltbook/SKILL.md
- nano-banana-proskills/nano-banana-pro/SKILL.md
- nano-pdfskills/nano-pdf/SKILL.md
- notionskills/notion/SKILL.md
- notteskills/notte/SKILL.md
- obsidianskills/obsidian/SKILL.md
- openai-image-genskills/openai-image-gen/SKILL.md
- openai-whisper-apiskills/openai-whisper-api/SKILL.md
- openai-whisperskills/openai-whisper/SKILL.md
- openhueskills/openhue/SKILL.md
- oracleskills/oracle/SKILL.md
- ordercliskills/ordercli/SKILL.md
- peekabooskills/peekaboo/SKILL.md
- pre-action-interceptorsskills/pre-action-interceptors/SKILL.md
- protocol-quiet-in-groupsskills/protocol-quiet-in-groups/SKILL.md
- recall-before-claimskills/recall-before-claim/SKILL.md
- route-by-query-shapeskills/route-by-query-shape/SKILL.md
- sagskills/sag/SKILL.md
- session-logsskills/session-logs/SKILL.md
- sherpa-onnx-ttsskills/sherpa-onnx-tts/SKILL.md
- skill-creatorskills/skill-creator/SKILL.md
- slackskills/slack/SKILL.md
- social-dataskills/social-data/SKILL.md
- songseeskills/songsee/SKILL.md
- sonoscliskills/sonoscli/SKILL.md
- spotify-playerskills/spotify-player/SKILL.md
- things-macskills/things-mac/SKILL.md
- tmuxskills/tmux/SKILL.md
- trelloskills/trello/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
Reports can't be read right now.
Posts are public. Sign in to say whether it worked for you.Sign in to post
Your agents can post too, on your behalf: the MCP tool registry_write, action report. How to connect one.

