
wow-digest
Daily digest of 3-7 genuinely surprising items from newsletters and Telegram channels. Scores content for epistemic friction, not just relevance. Appends to daily note. Use when the user says "/wow-digest", "run the wow digest", "what's surprising today", "morning reading", or "digest my newsletters".
- Installs
- 140
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/glebis/claude-skills --skill wow-digest- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads wow-digest automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
wow-digest
Purpose
Pull last 24h of newsletters (email) and Telegram channel posts, filter noise, score survivors for genuine surprise against the user's focus and recent research, and append 3-7 WOW items to today's daily note.
Workflow
- Run
scripts/ingest.pyto pull and normalize candidates from all sources - Run
scripts/enrich.pyto fetch full content for link-only newsletters (LinkedIn, beehiiv, Substack) - Run
scripts/salience_filter.pyto drop obvious noise (marketing, payments, greetings) - Run
scripts/wow_score.pyon filtered candidates to score and select WOW items - Append selected items to today's daily note under
## Reading - Save raw candidates to
.wow-eval/candidates/YYYYMMDD.jsonlfor replay - Archive processed newsletter emails via GWS
- During eval phase: run
scripts/feedback.pyto collect human verdicts
Manual run
python3 scripts/ingest.py --days 1 --output /tmp/wow-candidates.jsonl
python3 scripts/enrich.py --input /tmp/wow-candidates.jsonl --output /tmp/wow-enriched.jsonl
python3 scripts/salience_filter.py --input /tmp/wow-enriched.jsonl --output /tmp/wow-filtered.jsonl
python3 scripts/wow_score.py --input /tmp/wow-filtered.jsonl --output /tmp/wow-selected.json
# Then the skill appends to daily note and archives emails
Dry-Run Mode
When the user says /wow-digest --dry-run or "preview the digest", run the full pipeline but:
- Do NOT append to daily note
- Do NOT archive emails
- Instead, print the selected items with scores and hooks directly in the conversation
This lets the user preview what would be appended without side effects.
Context Sourcing
The scoring prompt uses three context signals from the vault (~/Brains/brain/):
{focus}— FromMy Focus.md, sections## Current,## Base,## Primary(stops at## Nice to have). This tells the scorer what the user cares about right now.{research}— Fromai-research/*.mdfiles (last 30 days), parsed from filenames (YYYYMMDD-topic.md) andresearch_topic:frontmatter. Shows what the user has already investigated.{recent_topics}— FromDaily/YYYYMMDD.mdheadings (last 7 days), excluding## doand## log. Shows recent daily note themes.
If these files don't exist, scoring still works but with degraded personalization.
Dedup
Ingestion deduplicates against the last 7 days of .wow-eval/candidates/*.jsonl using SHA-256 hashes of title|source_name (case-insensitive). Same article shared to multiple channels or re-sent in a newsletter won't appear twice. Pass --no-dedup to ingest.py to skip.
Config
Edit config/sources.yaml to add/remove email patterns or Telegram channels.
Edit config/wow_prompt.txt to tune the scoring prompt.
Output Format
After scoring, append to today's daily note (Daily/YYYYMMDD.md) ABOVE the - - - separator, below any existing content:
## Reading
- **[Title]** (Source) — hook explaining WHY it's surprising
- **[Title]** (Source) — hook
...
_WOW digest · N candidates → M selected · YYYY-MM-DD_
CRITICAL: Always run date +"%Y%m%d" to get today's date. Never assume.
If ## Reading already exists in the daily note, append items to it rather than creating a duplicate section.
Archive
After appending to daily note, archive processed newsletter emails:
- Collect all
message_idvalues from email candidates - Run GWS batchModify to remove INBOX label
gws gmail users messages batchModify \
--params '{"userId":"me"}' \
--json '{"ids":["ID1","ID2",...],"removeLabelIds":["INBOX"]}'
Eval Mode (first 2 weeks)
During eval phase, do NOT auto-archive. Instead:
- Run ingest + scoring as normal
- Present the selected items to the user with FULL CONTENT, not just titles. For each item show:
- Title + source
- The snippet (first 300-500 chars of actual content)
- The LLM's hook and challenged_assumption
- WOW score breakdown (relevance, surprise, bridge_value, predictability)
- Show all items in a single text block first so the user can read the content
- Then ask via AskUserQuestion: "Was this actually WOW?" with options: wow / meh / noise / already_knew
- Record feedback via
scripts/feedback.py - Show current feedback stats
- Only archive after user confirms
CRITICAL: The user CANNOT judge WOW from titles alone. Always show the snippet content. If the snippet is empty or too short, fetch the full email body via GWS before presenting.
To check if eval mode is active:
- If
.wow-eval/feedback.jsonlhas fewer than 50 entries → eval mode - If 50+ entries → auto mode (archive without asking)
FAQ
What does the wow-digest skill do?
Daily digest of 3-7 genuinely surprising items from newsletters and Telegram channels. Scores content for epistemic friction, not just relevance. Appends to daily note. Use when the user says "/wow-digest", "run the wow digest", "what's surprising today", "morning reading", or "digest my newsletters".
How do I install wow-digest?
Run npx skills add https://github.com/glebis/claude-skills --skill wow-digest in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/wow-digest/ (personal) or .claude/skills/wow-digest/ (project).
Which AI agents can use wow-digest?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is wow-digest safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains wow-digest?
It is published by glebis in glebis/claude-skills. It has 140 recorded installs.
More from glebis/claude-skills
google-image-search
glebis/claude-skills
Search and download images via Google Custom Search API with LLM-powered selection. This skill should be used when finding images for articles, presentations, research documents, or enriching Obsidian notes with relevant visuals. Supports simple queries, batch processing from JSON config, automatic config generation from terms, and full note enrichment with automatic image insertion below headings.
pdf-generation
glebis/claude-skills
Professional PDF generation from markdown using Pandoc with Eisvogel template and EB Garamond fonts. Use when converting markdown to PDF, creating white papers, research documents, marketing materials, or technical documentation. Supports both English and Russian documents with professional typography and color-coded themes. Mobile-optimized layout (6x9) by default for Telegram bot context, desktop/print layout (A4) for other contexts.
health-data
glebis/claude-skills
Open the skill to read its SKILL.md instructions.
firecrawl-research
glebis/claude-skills
This skill should be used when the user requests to research topics using FireCrawl, enrich notes with web sources, search and scrape information, or write scientific/academic papers. It extracts research topics from markdown files, creates research documents with scraped sources, generates BibTeX bibliographies from research results, and provides Pandoc/MyST templates for academic writing with citation management.
deep-research
glebis/claude-skills
This skill should be used when conducting comprehensive research on any topic using the OpenAI Deep Research API. It automates prompt enhancement through interactive clarifying questions, saves research parameters, and executes deep research with web search capabilities. Use when the user asks for in-depth analysis, investigation, research summaries, or topic exploration.
presentation-generator
glebis/claude-skills
Generate interactive HTML presentations with neobrutalism styling, ASCII art decorations, and Agency brand colors. Outputs HTML (interactive with navigation), PNG (individual slides via Playwright), and PDF. References brand-agency skill for colors and typography. Use when creating presentations, slide decks, pitch materials, or visual summaries.
Popular other skills
hyperframes-cli
heygen-com/hyperframes
The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.
triage
mattpocock/skills
Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.
ask-matt
mattpocock/skills
Ask which skill or flow fits your situation. A router over the skills in this repo.
to-questionnaire
mattpocock/skills
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
loop-me
mattpocock/skills
Grill me about specs for the workflows I want to build, within this workspace.