Daily News Digests
SkillDocs & knowledgedaily-news-digests — Build and maintain local scheduled news/research digest scripts that collect fresh items from multiple public sources and save Markdown locally.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Daily News Digests skill
What this skill tells your AI
The instructions your AI receives, as published by atlasomnia/hermes-custom-pack in skills/daily-news-digests/SKILL.md and read by ahel’s review.
Use this skill when the user asks for a recurring local news/research monitor that pulls fresh items from X/Twitter, GitHub, Reddit, Hacker News, RSS, release notes, forums, or other public sources and saves a Markdown digest locally.
The deliverable is a working collector plus verified scheduling, not a suggestion list.
Default outcome
Create:
- A deterministic script under
~/scripts/or an explicitly requested project folder. - A dated Markdown output directory under the relevant vault area.
- A
latest.mdcopy for quick viewing. - A scheduler:
- macOS local/background:
launchdLaunchAgent. - Hermes/gateway-delivered work: Hermes cron only when delivery or LLM reasoning is needed.
- A verified test run with real output, logs, and exit status.
Source selection pattern
Prefer primary or near-primary feeds before broad web search:
- Official GitHub repo:
- releases
- issues
- pull requests
- commits
- GitHub search
- Atom feeds for releases/commits
- Official docs/blog/release notes RSS or sitemap if available.
- X/Twitter via
xurlwhen installed and authenticated. - Reddit public JSON search for relevant subreddits and global mentions.
- Hacker News Algolia search.
- Other forums/community sources only if the topic warrants it.
For X/Twitter, do not read or print ~/.xurl. Check only xurl auth status; if auth is unavailable, make the script skip X cleanly and explain how the user can enable it outside the agent session.
Implementation steps
- Decide output path based on domain ownership.
- Assistant/system monitoring:
~/Notes/<Topic>/ - Personal:
~/Notes/... - Work/finance/safety domains: delegate or ask the owning profile if needed.
- Write a standalone script with:
- Configurable window, e.g.
HERMES_NEWS_DAYS. - Configurable output directory, e.g.
HERMES_NEWS_DIR. - Configurable max items per source.
- Per-source exception handling so one failing source does not kill the digest.
- Deduplication by canonical URL.
- Markdown grouped by source.
- A clear note that collection is not verification.
- Run syntax validation:
- Python:
python3 -m py_compile <script>.
- Run the script manually and verify:
- Exit code is 0.
- Dated Markdown file exists and is non-empty.
latest.mdexists and is non-empty.- Output includes real collected item counts.
- Schedule it.
- Kickstart/run the scheduled job once and verify scheduler logs.
macOS launchd pattern
Use LaunchAgents for per-user local Markdown collectors:
- File:
~/Library/LaunchAgents/<reverse-domain-label>.plist - Validate:
plutil -lint <plist> - Load/reload:
UID_NUM="$(id -u)"
launchctl bootout "gui/$UID_NUM/<label>" 2>/dev/null || true
launchctl bootstrap "gui/$UID_NUM" "$HOME/Library/LaunchAgents/<label>.plist"
launchctl enable "gui/$UID_NUM/<label>"
launchctl kickstart -k "gui/$UID_NUM/<label>"
- Verify:
launchctl print "gui/$(id -u)/<label>"
tail -50 ~/Library/Logs/<name>.log
tail -50 ~/Library/Logs/<name>.err.log
Include a robust PATH in the plist EnvironmentVariables so Homebrew/user tools are found:
<key>PATH</key>
<string>/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$HOME/.local/bin</string>
Hermes cron vs launchd
Use launchd when:
- The task is local-only.
- It writes files locally.
- No LLM reasoning or gateway delivery is required.
- the user asked to “handle it” and “test it.”
Use Hermes cron when:
- The job should summarize, classify, or decide using an LLM each run.
- The output should be delivered to Telegram/Discord/etc.
- The job should chain from another Hermes cron job.
CLI sessions have no live delivery channel. Do not promise that default deliver='origin' cron jobs will message the user in the terminal.
Verification checklist before final response
Report the actual evidence:
- Script path.
- Scheduler plist/job path.
- Output Markdown path.
- Last scheduler exit code or equivalent status.
- Log paths.
- Count of collected items if available.
- Whether stderr is empty.
Avoid saying “it should run.” Say either “it is loaded and tested” or state the blocker.
Pitfalls
- Do not stop at a plan; create and run the collector.
- Do not let X/Twitter auth failure break the whole digest. Skip X with a note.
- Do not print credentials or auth files.
- Do not treat collected social posts as verified facts; mark the digest as collection-only.
- When a terminal command exits non-zero because a final diagnostic command was missing or shell-specific, inspect the useful output first. If service status and logs show success, do not over-correct a working scheduler.
Signals
- GitHub stars
- 56
- Forks
- 5
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
daily-news-digests- Source
- github.com/atlasomnia/hermes-custom-pack