home / skills / openclaw / openclaw / summarize

summarize skill

/skills/summarize

This skill helps you quickly summarize URLs, articles, and videos with various models, returning concise insights and sections.

This is most likely a fork of the summarize skill from neversight
npx playbooks add skill openclaw/openclaw --skill summarize

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
2.2 KB
---
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:
  {
    "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.

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

Overview

This skill summarizes or extracts text and transcripts from URLs, local files, and YouTube or other video links. It works as a fast CLI tool for quick article summaries, document extraction, and best-effort video transcription without requiring heavy external download tools. Use it when you need readable, concise output or a machine-readable JSON summary for automation.

How this skill works

The CLI fetches content from a URL, reads local files, or attempts to extract video transcripts using built-in fetchers and fallbacks. It supports model selection via environment keys (OpenAI, Anthropic, xAI, Google) and offers flags to control length, output format, and extraction-only modes. For YouTube, it provides a best-effort transcript extractor and can fall back to third-party services when configured.

When to use it

  • Summarize an article or web page quickly from a URL.
  • Extract text or summarize a local document like PDF, TXT, or DOCX.
  • Get a best-effort transcript of a YouTube or video link without yt-dlp.
  • Produce short, medium, or long summaries for reading or ingestion.
  • Generate machine-readable JSON summaries for pipelines or indexing.

Best practices

  • Set the appropriate provider API key (OPENAI_API_KEY, ANTHROPIC_API_KEY, XAI_API_KEY, or GEMINI_API_KEY) before running.
  • Use --length to control summary detail and --extract-only for raw extraction of webpage text or transcripts.
  • When transcripts are very long, request a tight summary first, then ask to expand a specific time range or section.
  • Enable FIRECRAWL_API_KEY or APIFY_API_TOKEN if you need reliable extraction from blocked sites or YouTube fallback.
  • Use --json for downstream automation or pipelines that consume structured output.

Example use cases

  • Quickly summarize a long blog post to decide if you should read it in full.
  • Extract and index text from PDFs and other local files for search and retrieval.
  • Transcribe a conference talk YouTube link and then request summaries by timestamp ranges.
  • Produce an executive summary of multiple URLs for a research brief.
  • Generate compact summaries for inclusion in newsletters or meeting notes.

FAQ

What models and keys are supported?

OpenAI, Anthropic, xAI, and Google models are supported. Set the corresponding API key environment variable before use.

How do I get a transcript instead of a summary?

Use --extract-only with a YouTube URL to attempt a transcript extraction. If the transcript is huge, request a tight summary first, then expand a selected section.