Install
openclaw skills install poly-daily-readingGenerate Guillaume's daily reading list by searching curated sources across AI, LLMs, full-stack dev, anime, horror games, and metal music. Use when asked to "generate reading list", "daily reading", "find articles to read", or when running Poly's daily cron task. Handles dedup against past readings, Obsidian file output, Mission Control ingestion, and weekly/yearly archiving.
openclaw skills install poly-daily-readingGenerate and deliver a curated daily reading list for Guillaume.
~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Guillaume Maka/<vault>/Daily Reading/<vault>/Daily Reading/daily-YYYY-MM-DD.md~/.openclaw/workspace-poly/reading-lists/read-status.json~/.openclaw/workspace/mission-control/apps/cliBefore searching, gather URLs Guillaume already read from recent history:
daily-*.md files from last 30 days only in Daily Reading dir[x] (checked/read items)read-status.json if it exists for additional cached read URLsHelper script (updated):
scripts/collect-read-urls.py <daily-reading-dir> --days 30
Outputs a JSON array of read URLs to stdout.
Search across all topics with explicit limits:
Priority order:
count: 3Quality focus: Still aim for 2-5 strong picks per category max, but with bounded search space.
Remove any URL matching the exclusion set from Step 1.
Create <vault>/Daily Reading/daily-YYYY-MM-DD.md:
# Daily Reading List — May 8, 2026
## AI & Agentic
- [ ] [Title](url) — One-line summary
## Full Stack Dev
- [ ] [Title](url) — One-line summary
## Anime
- [ ] [Title](url) — One-line summary
## Horror Games
- [ ] [Title](url) — One-line summary
## Metal Music
- [ ] [Title](url) — One-line summary
Categories with no items should still appear (empty section) so Guillaume knows they were checked.
Append today's new URLs to SINGLE read-status file:
~/.openclaw/workspace-poly/reading-lists/read-status.json
Remove duplicate update to agent directory to reduce write operations.
{
"lastUpdated": "YYYY-MM-DD",
"readUrls": ["url1", "url2"]
}
Deliver a brief summary with the link to the Obsidian file.
After saving the daily file, ingest into Mission Control:
cd ~/.openclaw/workspace/mission-control/apps/cli
npx tsx src/index.ts ingest reading-list --data '<JSON>'
JSON format:
{
"agentId": "poly",
"date": "YYYY-MM-DD",
"articles": [
{"title": "...", "url": "...", "category": "ai"}
],
"delivered": true,
"deliveryChannel": "telegram"
}
Valid categories: ai, llms, safety, prompting, fullstack, anime, horror, metal
Then update agent status:
npx tsx src/index.ts ingest status --agent-id poly --status online --activity-message "Reading list delivered"
Before generating today's list, on Mondays:
npx tsx src/index.ts query reading-lists --dateFrom <mon> --dateTo <sun> --agentId poly --format json
daily-*.md files from Mon–Sun of last week<vault>/Daily Reading/Archives/Month YYYY.md (e.g., "May 2026.md") with header:
# Week of May 4-10, 2026
## Collected Unread Items
- [ ] [Title](url) — Summary
npx tsx src/index.ts ingest task --agentId poly --title "Daily Reading Weekly Archive" --description "Archived last week's reading lists" --status completed --category maintenance
Before generating today's list, on Jan 1:
<vault>/Daily Reading/YYYY.md (e.g., "2025.md")