
A solid CLI that pulls text from URLs, PDFs, and YouTube videos, then feeds them to your choice of LLM for summarization. Handles the annoying extraction work so you don't need to copy-paste articles or hunt for YouTube transcripts. Supports all the major AI providers and has sensible defaults like Gemini Flash for speed. The YouTube transcript extraction is hit-or-miss depending on the video, but when it works it saves you from manually transcribing or installing yt-dlp. Good fallback options with Firecrawl for stubborn websites.
$ npx -y skills add steipete/clawdis --skill summarize --agent claude-codeInstalls into .claude/skills of the current project.
Fast CLI to summarize URLs, local files, and YouTube links.
Use this skill immediately when the user asks any of:
yt-dlp needed)summarize "https://example.com"
summarize "/path/to/file.pdf"
summarize "https://youtu.be/dQw4w9WgXcQ" --youtube auto
Best-effort transcript (URLs only):
summarize "https://youtu.be/dQw4w9WgXcQ" --youtube auto --extract
If the user asked for a transcript but it's huge, return a tight summary first, then ask which section/time range to expand.
Set the API key for your chosen provider:
OPENAI_API_KEYANTHROPIC_API_KEYXAI_API_KEYGEMINI_API_KEY (aliases: GOOGLE_GENERATIVE_AI_API_KEY, GOOGLE_API_KEY)Default model is auto; config may choose the provider/model.
--length short|medium|long|xl|xxl|<chars>--max-output-tokens <count>--extract (print extracted content, no LLM summary)--json (machine readable)--firecrawl auto|off|always (fallback extraction)--youtube auto (Apify fallback if APIFY_API_TOKEN set)Optional config file: ~/.summarize/config.json
{ "model": "openai/gpt-5.2" }
Optional services:
FIRECRAWL_API_KEY for blocked sitesAPIFY_API_TOKEN for YouTube fallbackSponsors