daily-rss-triage
Daily RSS scan triage workflow — scan blogs, triage articles, ingest into wiki, commit changes
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Daily RSS scan triage workflow — scan blogs, triage articles, ingest into wiki, commit changes
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Comprehensive wiki maintenance: daily structural health checks (index reconciliation, log separator fixes, pipeline watchdog alerts), comparison page updates (adding items to multi-section comparison tables), and page relocation (moving/renaming pages while maintaining link integrity).
Pre-flight checklist and procedures for archiving, deleting, or migrating Hermes skills. Prevents accidental removal of cron-referenced skills. Covers the 3-layer skill structure and config.yaml management. Includes skill inventory management, promotion workflows, and archival conventions.
Karpathy's LLM Wiki: build/query interlinked markdown KB.
Deep analysis of blog authors' recent thoughts, philosophy, and positions. Goes beyond entity page creation to extract cited ideological positions, track thought evolution, and enable ongoing RSS monitoring for thought updates.
Query the blogwatcher-cli SQLite database for RSS scan results. Use pre-verified column names and query templates to avoid errors.
Synthesize perspectives from multiple opinion leaders on a shared topic into a cross-referenced wiki index page. Use when the user wants to consolidate different viewpoints on the same concept.
| name | daily-rss-triage |
| description | Daily RSS scan triage workflow — scan blogs, triage articles, ingest into wiki, commit changes |
| category | research |
End-to-end pipeline for processing daily RSS scans, triaging articles, and ingesting wiki-worthy content.
blogwatcher-db skill loaded (database queries)semantic-article-grouping skill loaded (triage criteria)~/ai-topics/inbox/rss-scans/daily-scan-YYYY-MM-DD.md[SILENT]When RSS scan yields few AI-relevant articles, the blog scan alone is insufficient. Supplement proactively:
AI ML trending news May 2026 or specific domains (model releases, security incidents, robotics, geopolitical AI chip news)Effective search queries (discovered in production):
"CAISI evaluation" DeepSeek V4 — NIST government evaluationsUS officials weigh cutting deadlines fix digital flaws AI-powered hacking — CISA/Reuters exclusivesexodus Boston Dynamics executives humanoid delivery — Semafor/Business Insider scoopsRichard Dawkins Claude consciousness delusion — AI culture war debates
~/ai-topics/inbox/rss-scans/daily-scan-YYYY-MM-DD.md[SILENT] and stopBefore detailed triage, apply Newsjacking lens (from Elvis Sun's framework) to identify high-signal articles:
Scoring: Assign each article a newsjacking_score (0-5) based on how many criteria it meets.
For each article, evaluate:
existing_wiki_topics listOutput triage table:
| ソース | タイトル | NJスコア | アクション | 対象 |
|--------|----------|----------|------------|------|
| simonwillison.net | タイトル | 4/5 | wikiエントリ作成 | entities/simon-willison.md |
| blog.example.com | タイトル | 1/5 | スキップ(既存) | — |
For each "wikiエントリ作成" article:
CRITICAL: Check existing entity pages FIRST
# Check if file exists with ANY name variation
search_files(pattern="entity-name", path="~/ai-topics/wiki/entities", target="files")
wiki/index.md may reference entities with different filenames than expected (e.g., [[entities/gpjt]] for "Giles Thomas")Scrape content: web_extract([article_url])
Determine category:
entities/ — people, companies, blogs, toolsconcepts/ — techniques, patterns, ideascomparisons/ — head-to-head analysesqueries/ — research questionsCreate or update page:
updated: frontmatterUpdate index and log:
wiki/index.md — add/update entity reference (match the filename convention used in index)wiki/log.md — add dated entry with changes summaryCommit and push:
cd ~/ai-topics && git add wiki/ inbox/rss-scans/ && git status
# CRITICAL: Check for pre-staged files from previous runs
git diff --staged --stat
git commit -m "wiki: daily scan YYYY-MM-DD — [summary]" && git push
search_files("firstname.*lastname") on the index may miss existing stubs if the index entry uses a different format (e.g., **Role** | Professor Emeritus instead of the person's name). Always also check search_files(target="content") for the person's name in the entities directory before creating a new entity page. stubs created by build_x_wiki.py or build_blog_wiki.py may exist even when search_files returns nothing.Index filename mismatches: wiki/index.md may use short handles (gpjt) while you'd expect full names (gilesthomas-com). Always check the index first.
Pre-staged files: Previous cron runs or sessions may have already staged files. Use git diff --staged before committing to understand what's changed.
Duplicate entity creation: Always search for existing entity files before creating new ones. The same person/company may already have a page under a different name.
No content to report: If article_total == 0 AND no newsletter exists, respond [SILENT] — don't generate empty reports.
Category field is JSON: In blogwatcher DB, categories is a JSON array. Use LIKE '%\"tag\"%' for SQL filtering or json.loads() in Python.
Published vs discovered dates: Use discovered_date for "when blogwatcher found it", published_date for "when article was published" (can be NULL).
search_files is unreliable for wiki directory discovery: It returns {"total_count": 0} for ~/ai-topics/wiki/**/*.md patterns. Use execute_code with Python os.walk() or pathlib for directory traversal and file existence checks instead.
RSS 429 rate limits: r/LocalLLM and r/LocalLLaMA frequently hit HTTP 429. Log failures but do NOT retry immediately — wait for next scan cycle to avoid exacerbating rate limits.
Substack redirect URLs: Newsletter articles use tracking-heavy Substack redirect URLs (e.g., substack.com/redirect/UUID). web_extract handles these natively — pass the full redirect URL, do not strip tracking parameters.
Batch file creation before git commit: When creating multiple wiki pages (6+), create all files first using execute_code with Python open()/write(), then do a single git add wiki/ && git commit && git push. Multiple small commits are fine for updates to existing files, but batch new file creation.
Context window management: When running as a cron job with many articles (90+), tool outputs may fill the context window. Use [Old tool output cleared to save context space] pattern mid-run and reconstruct state via targeted read_file with offset + execute_code directory checks.
Entity update vs create decision: For established entity files (e.g., antirez-com.md, pluralistic-net.md), append new sections under existing headers rather than rewriting. Preserve historical continuity and frontmatter integrity. For new entities, follow the existing frontmatter format with title, created, updated, tags, related.
Reddit URL extraction failures: web_extract consistently fails on Reddit URLs with "Content was inaccessible or not found". Reddit uses Cloudflare protection and dynamic content loading that defeats simple HTTP extraction. For Reddit articles, skip scraping and only record the URL/title in triage. If content is needed, use browser_navigate + browser_snapshot as a fallback (higher resource cost).
Git rebase in headless cron environment: When running as a cron job, wiki/log.md can be modified concurrently (e.g., by another scheduled run or external process), causing git push rejections that require git pull --rebase. In headless environments with no EDITOR set, git rebase --continue hangs. Always use GIT_EDITOR=true git rebase --continue to bypass interactive editor prompts. If conflicts occur, git checkout --theirs <file> accepts the remote version, then continue.
All reports, triage tables, and wiki content should be in Japanese unless the source material is explicitly English-only and the user has not requested Japanese output.