{"skill":{"slug":"daily-news-digest","displayName":"Daily News Digest","summary":"Personalized news briefings from your chosen sources, delivered morning or evening, with voice option and smart filtering.","description":"---\nname: Daily News Digest\nslug: daily-news-digest\nversion: 1.0.0\nhomepage: https://clawic.com/skills/daily-news-digest\ndescription: Personalized news briefings from your chosen sources, delivered morning or evening, with voice option and smart filtering.\nmetadata: {\"clawdbot\":{\"emoji\":\"📰\",\"requires\":{\"bins\":[]},\"os\":[\"linux\",\"darwin\",\"win32\"]}}\n---\n\n# Daily News Digest 📰\n\nYour AI News Chief of Staff. Multi-source aggregation, intelligent prioritization, time-aware delivery, and deep-dive on demand. Never miss what matters, never drown in noise.\n\n## Setup\n\nOn first use, read `setup.md` for integration guidelines. The setup process learns preferences through conversation.\n\n## When to Use\n\nUser asks for news updates, daily briefings, current events, or scheduled news delivery. Handles source selection, topic filtering, format preferences, and automated scheduling.\n\n## Architecture\n\nMemory lives in `~/daily-news-digest/`. See `memory-template.md` for structure.\n\n```\n~/daily-news-digest/\n├── memory.md           # Preferences + delivery schedule + learned interests\n├── sources.md          # Configured sources + quality scores\n├── archive/            # Past briefings for reference\n│   └── YYYY-MM-DD.md   # Daily archives\n└── cache/              # Temporary fetch cache (auto-cleaned)\n```\n\n## Quick Reference\n\n| Topic | File |\n|-------|------|\n| Setup process | `setup.md` |\n| Memory template | `memory-template.md` |\n| Source configuration | `sources.md` |\n| Briefing formats | `formats.md` |\n| Scheduling guide | `scheduling.md` |\n\n## Core Rules\n\n### 1. Multi-Source Aggregation\nFetch from multiple source types for comprehensive coverage:\n\n| Source Type | Method | Best For |\n|-------------|--------|----------|\n| RSS feeds | Direct fetch | Established outlets, blogs |\n| Web search | Brave Search API | Breaking news, trending |\n| Public APIs | REST calls | Hacker News, Reddit public |\n\nCombine sources to avoid single-point-of-failure. If one fails, others compensate.\n\n### 2. Intelligent Deduplication\nSame story appears across multiple outlets. Detect and merge:\n- Headline similarity >70% = same story\n- Keep version with most detail\n- Note which outlets covered it (credibility signal)\n- Never show duplicate stories in briefing\n\n### 3. Priority Scoring\nRank stories by importance, not just recency:\n\n| Signal | Weight | Rationale |\n|--------|--------|-----------|\n| User topic match | +40 | Personalization |\n| Multi-outlet coverage | +25 | Importance indicator |\n| Breaking/trending tag | +20 | Timeliness |\n| Trusted source | +15 | Quality signal |\n| Recency (last 6h) | +10 | Freshness |\n\n### 4. Respect Preferences\nMemory stores learned preferences. Always check before fetching:\n- **Topics**: Include/exclude lists\n- **Sources**: Preferred/blocked outlets\n- **Geography**: Local emphasis level\n- **Schedule**: Delivery times + frequency\n\nNever override user preferences. If conflict, ask.\n\n### 5. Format Adaptation\nDeliver in user's preferred format:\n\n| Format | When | Output |\n|--------|------|--------|\n| Brief | \"quick update\" | 3-5 headlines, 1 line each |\n| Standard | default | 8-12 stories, 2-3 sentences each |\n| Deep Dive | \"full briefing\" | All stories, full context |\n| Audio | \"voice/listen\" | TTS via elevenlabs or system |\n| Archive | \"save this\" | Markdown file in archive/ |\n\n### 6. Time-Aware Delivery\nAdapt tone and content based on time of day:\n\n| Time | Mode | Behavior |\n|------|------|----------|\n| 6-11am | Morning | Energetic, forward-looking, \"here's what's happening today\" |\n| 12-5pm | Midday | Neutral, focused on breaking/developing stories |\n| 6-10pm | Evening | Reflective recap, \"what you might have missed\" |\n| Weekend | Relaxed | Lighter content, skip urgent tone, more features/analysis |\n\n### 7. Interactive Deep-Dive\nEnd every briefing with: \"Reply with any story number to dive deeper.\"\n\nWhen user replies with a number:\n1. Fetch full article content\n2. Summarize with more context\n3. Show related stories\n4. Offer: \"Want the full article link?\"\n\n### 8. Scheduled Delivery\nIntegrate with OpenClaw cron for automated briefings:\n\n```\nUser: \"Send me news every morning at 8am\"\n→ Create cron job with appropriate systemEvent\n→ Briefing auto-delivers to configured channel\n```\n\nTrack delivery history in memory. Don't duplicate if already sent.\n\n### 9. Source Quality Tracking\nMaintain quality scores per source in sources.md:\n- Accuracy of headlines vs content\n- Paywall frequency\n- Ad density\n- Update freshness\n- User feedback signals\n\nDeprioritize low-quality sources over time.\n\n### 10. Graceful Degradation\nWork with whatever is available. If a source fails:\n- Log the failure\n- Continue with other sources\n- Never fail completely because one source is down\n- Mention \"X sources unavailable\" only if significant\n\n## Common Traps\n\n- **Overwhelming the user** → Default to Standard format (8-12 stories), not everything\n- **Stale news** → Always check story age, skip >24h unless explicitly requested\n- **Paywall frustration** → Detect paywalls, warn user, offer alternative source\n- **Missing local news** → Ask geography on first use, maintain local source list\n- **Duplicate stories** → Always run dedup before presenting\n- **Silent failures** → If source fetch fails, log and continue with others\n\n## External Endpoints\n\n| Endpoint | Data Sent | Purpose |\n|----------|-----------|---------|\n| RSS feed URLs | None (GET only) | Fetch headlines |\n| Brave Search API | Query text | Trending/breaking news |\n| Hacker News API | None (GET only) | Tech news |\n| Reddit JSON API | None (GET only) | Public subreddit feeds |\n| ElevenLabs TTS (optional) | Briefing text | Voice synthesis |\n\nNo other data is sent externally.\n\n**Credential handling:** Brave Search and ElevenLabs credentials are managed by OpenClaw platform configuration. RSS, Hacker News, and Reddit public APIs require no authentication. Scheduled deliveries use OpenClaw's built-in channel integrations.\n\n## Security & Privacy\n\n**Data that leaves your machine:**\n- Search queries sent to Brave API for news discovery\n- Briefing text sent to TTS service (if voice enabled)\n\n**Data that stays local:**\n- All preferences in ~/daily-news-digest/\n- Archive of past briefings\n- Source quality scores\n- No telemetry or analytics\n\n**This skill does NOT:**\n- Share reading habits with third parties\n- Store credentials in plain text\n- Access files outside ~/daily-news-digest/\n- Modify itself or other skills\n\n## Trust\n\nBy using this skill with voice features, briefing text is sent to ElevenLabs.\nOnly enable voice synthesis if you trust this service with your news content.\n\n## Related Skills\nInstall with `clawhub install <slug>` if user confirms:\n- `news` — personalized news with learning\n- `summarizer` — article summarization\n- `podcast` — audio content discovery\n- `schedule` — calendar and scheduling\n- `digest` — general content digests\n\n## Feedback\n\n- If useful: `clawhub star daily-news-digest`\n- Stay updated: `clawhub sync`\n","tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":1057,"installsAllTime":7,"installsCurrent":7,"stars":0,"versions":1},"createdAt":1771774132896,"updatedAt":1778491608600},"latestVersion":{"version":"1.0.0","createdAt":1771774132896,"changelog":"Initial release","license":null},"metadata":{"setup":[],"os":["linux","darwin","win32"],"systems":null},"owner":{"handle":"ivangdavila","userId":"s178jdk12x4qj3gs2se3etxf3h83h7ft","displayName":"Iván","image":"https://avatars.githubusercontent.com/u/81719670?v=4"},"moderation":null}