cn-media-analysis
Analyze Chinese AI media, newsletter, and crawl items for durable trends, source differences, and wiki actions
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Analyze Chinese AI media, newsletter, and crawl items for durable trends, source differences, and wiki actions
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Active crawl workflow — reads hot-topics.yaml, selects high-priority un-crawled topics, deep-dives via web search, creates wiki concept pages, and updates tracking
Triage crawled Chinese AI articles from inbox/ into structured Japanese wiki pages following SCHEMA.md conventions
Upgrade bio-only blogger entity pages to comprehensive thought analysis format
Enrich skeleton X/Twitter account entity pages to full quality (8-15KB), matching antirez-com.md / simon-willison.md depth.
Check and process emails on exe.dev VM using Maildir filesystem. Use this when user asks to check emails or when newsletters arrive.
Systematic depth analysis framework for opinion leaders tracking research completion across 4 layers - L1 Profile, L2 Timeline, L3 Thought Analysis, L4 Ongoing Monitoring
| name | cn-media-analysis |
| description | Analyze Chinese AI media, newsletter, and crawl items for durable trends, source differences, and wiki actions |
| category | research |
| version | 1.0.0 |
| author | hermes |
| license | MIT |
| metadata | {"hermes":{"tags":["Media-Analysis","Chinese-AI","Trend-Detection","Cross-Source"]}} |
Use this skill for Chinese AI media, newsletter, or crawl triage when the task asks for source comparison, trend detection, or wiki update recommendations. Unless the task says otherwise, write the final analysis in Japanese.
triage_latest.json in ~/.hermes/cron/data/crawl_and_triage/ — this is the authoritative work queue with decisions array. Do NOT use latest.json or crawl_checkpoint_*.json for decisions (those contain raw crawl stats and candidates, not triage actions).decisions as the work queue and process recommended_action: take items first.[SILENT].execute_code is blocked (cron mode), use terminal with python3 -c for JSON parsing, or read_file + search_files for inspection.aafeba3f in ...-aafeba3f.md) is content-derived — if the same suffix appears across files dated days or weeks apart, it is the same article re-collected, not new content. If a take item's inbox file contains only a title + URL with no body text, the original article was likely already processed in a prior run. Update the updated date on the wiki page and move on — don't treat this as new content.暂无内容 in the inbox markdown). These provide no wiki value and can be safely skipped even if the checkpoint marks them as take or reference.daily-digest-YYYY-MM-DD.md file lists all items found by the crawl, but the candidates array in the checkpoint JSON may be a subset (filtered by size, deduplication, or crawl timing). Do NOT assume every article named in the digest's stderr/stdout has a corresponding .md file in the inbox — 36kr articles in particular may appear in the crawl log but not in the candidate list due to pipeline delay. Triage only what is in the candidates array; treat digest text as a preview, not an inventory.candidate_wiki_path is authoritative: The triage checkpoint JSON includes a candidate_wiki_path field for each take decision (e.g., "candidate_wiki_path": "entities/huawei"). This is the pre-resolved target wiki entity/concept path. DO NOT waste tool calls searching ~/wiki/entities/ or ~/wiki/concepts/ for matching files — the checkpoint already tells you exactly which page to read/update. For each take item: read raw_path → read candidate_wiki_path (create if missing) → patch/write → update index.md and log.md. Only search if candidate_wiki_path is empty or clearly wrong.execute_code blocked in cron mode: Cron jobs run without a user present, so execute_code (which allows arbitrary subprocess calls) is blocked by the approval gate. terminal with python3 -c is ALSO blocked (returns status: pending_approval). For JSON parsing and data inspection in cron mode, use ONLY read_file + search_files — these work without approval. If you need to parse JSON, do it inline with shell tools like jq in terminal (simple commands work) or process it mentally from read_file output.~/.hermes/cron/data/crawl_and_triage/. triage_latest.json contains the decisions array (what to take/reference/skip). latest.json and crawl_checkpoint_*.json contain raw crawl stats and the candidates array but NOT triage decisions. Always read triage_latest.json for the work queue.| Source | Use For | Caveat |
|---|---|---|
| V2EX | Developer reaction, practical friction, pricing/API complaints, deployment experience | Forum tone can overrepresent acute pain points |
| Juejin | Implementation details, code-level validation, framework integration | Search results can resurface old articles |
| 36kr | Business context, financing, market structure, company positioning | Separate publisher/editorial voice from cited facts |
| Zhihu | Expert explanations, technical arguments, research context | Distinguish expert answers from generic discussion |
| WeChat public accounts | Long-form explainers, research summaries, sector commentary | Source quality varies by account; name the account |
| Newsletters | Curated item lists and summaries | Treat as triage inputs, not primary evidence when stronger sources exist |
Exclude CSDN from analysis unless explicitly requested.
Use this workflow when the task asks for a daily trending topics report from trending_topics.py output — typically the shelley-trending-topics.timer cron job (daily, ~10:00 JST). This is a different pipeline from crawl triage (which reads triage_latest.json).
Run the trending script:
python3 /opt/data/ai-topics-cn/scripts/trending_topics.py --days 3
This produces a markdown report with hot topics, cross-source signals, and source-level counts.
Read hot-topics.yaml at /opt/data/ai-topics-cn/config/hot-topics.yaml. This is the authoritative list of active crawling targets.
Cross-reference trending topics against hot-topics.yaml:
source_count >= 3, check if it matches any entry in hot-topics.yaml's topics array (match by slug or title).Check wiki page existence for candidate topics:
entities/, concepts/, and pages/ under the wiki directory.search_files(target='files', pattern='<topic>', path='~/wiki') covers all subdirectories in one call.Propose YAML snippets for topics meeting ALL criteria:
source_count >= 3hot-topics.yaml# 🔥 中国AIデイリートレンドレポート — YYYY-MM-DD
## (1) 📗 新規Wikiページ推奨
Trending topics with no wiki page yet.
## (2) 🔥🔥 ホットトピック (4+ソース)
Table with topic, source count, and notes.
## (3) 🔀 クロスソーストピック (最高シグナル)
Highest signal items appearing across multiple sources.
## (4) クローリング候補提案
YAML snippets for hot-topics.yaml with slug, title, crawl_policy, priority, search_hints, and notes.
- slug: topic-slug
title: "Display Title — Context"
crawl_policy: monitor # start with monitor for global entities
priority: high/medium/low
search_hints:
- "Chinese keyword search query"
- "English keyword search query"
- "Specific product or model names"
wiki_pages:
- entities/topic-slug # or concepts/topic-slug
notes: "YYYY-MM-DD初登録。Rationale and context."
added: YYYY-MM-DD
last_crawled: ~
trending_topics.py is article-level mentions; the script's deduplication is heuristic. Moderate your confidence — a topic with 87 sources can still be a broad umbrella (e.g., "AI Agent").triage_latest.json for a trending report task — it contains crawl decisions, not trending data.last_crawled values are quoted ("2026-06-08"), others bare (2026-06-08). When proposing YAML snippets, match the existing convention in the file (check surrounding entries).doubao or doubao-bytedance). Use search_files rather than guessing paths.~/wiki.Use compact structured output suited to the job:
## Triage
- take: ...
- skip: ...
- park: ...
## Topic Clusters
- ...
## Source Caveats
- ...
## Wiki Actions
- ...
For a long-form, ad hoc media report, load references/analysis-guide.md only when the task explicitly asks for detailed cross-source reporting.