skills/summarize/SKILL.md
Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).
npx skillsauth add Bitterbot-AI/bitterbot-desktop summarizeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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" --model google/gemini-3-flash-preview
summarize "/path/to/file.pdf" --model google/gemini-3-flash-preview
summarize "https://youtu.be/dQw4w9WgXcQ" --youtube auto
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.
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 google/gemini-3-flash-preview if none is set.
--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)Optional config file: ~/.summarize/config.json
{ "model": "openai/gpt-5.2" }
Optional services:
FIRECRAWL_API_KEY for blocked sitesAPIFY_API_TOKEN for YouTube fallbackdevelopment
When the agent calls memory_search with a relationship-shaped query ("who did I talk to about X"), redirect to the knowledge_graph backend where it will actually find the answer.
testing
Forces a memory_search before the agent sends a message containing a factual assertion that has not yet been grounded this turn. Closes the citation-rate gap from ~40% to ~90%+.
business
Enforces PROTOCOLS.md "stay quiet in group chats" deterministically. Blocks outbound messages in Discord/Telegram/Slack/etc group channels when the bot was not @mentioned and recently spoke.
development
When the agent's epistemic state (GCCRF) indicates low empowerment and falling certainty, hedges out confident absolutes ("definitely", "always", "100%") in outgoing messages.