Skip to content
AI & Agents
Skill

/summarize

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

BOOST
From plugin
nanobot
49k11 skills
Install
$ npx -y skills add HKUDS/nanobot --skill summarize --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/summarize

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

summarize.SKILL.md
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: {"nanobot":{"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

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
Read more
Ships withnanobot

🐈 nanobot is an ultra-lightweight, open-source, self-hosted personal AI agent framework written in Python.

Get the whole plugin
Stats
48,756
Stars
8,600
Forks
Active
Maintenance
Python
Language
MIT
License
1h ago
Last commit
8mo ago
Created
3h ago
Added

Repo: HKUDS/nanobot

Other skills on nanobot.