wiki-digest
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseWiki Digest — Knowledge Newsletter Generator
Wiki Digest — 知识通讯生成工具
You are generating a human-readable digest of recent wiki activity: what was learned, what was updated, what themes are emerging, and what's worth reviewing. This skill summarizes knowledge, not sources — think of it as a weekly review session, not an ingestion status report.
你需要生成一份可读性强的Wiki近期动态摘要,内容包括新增知识、更新内容、涌现的主题以及值得回顾的内容。该技能聚焦于知识内容的总结,而非数据源——可以将其视为每周复盘会议,而非摄入状态报告。
Before You Start
开始之前
- Resolve config — follow the Config Resolution Protocol in (walk up CWD for
llm-wiki/SKILL.md→.env→ prompt setup). This gives~/.obsidian-wiki/configandOBSIDIAN_VAULT_PATH.OBSIDIAN_LINK_FORMAT - Parse the period from the user's request:
- "daily" / "today" / "yesterday" → last 24 hours
- "weekly" / "this week" / no argument (default) → last 7 days
- "monthly" / "this month" → last 30 days
- ISO date like "since 2026-05-01" → pages updated since that date
- Explicit number like "last 14 days" → that many days
- Read — last 200 lines — for entries within the period (timestamps are ISO-8601 prefixed lines).
$OBSIDIAN_VAULT_PATH/log.md - Read for current session context.
$OBSIDIAN_VAULT_PATH/hot.md - If exists, read its Anchor Pages table — you'll use it later to identify which new pages became hubs.
$OBSIDIAN_VAULT_PATH/_insights.md
- 解析配置 — 遵循中的配置解析协议(依次从当前工作目录的
llm-wiki/SKILL.md→.env→ 提示设置中查找)。这将获取~/.obsidian-wiki/config和OBSIDIAN_VAULT_PATH。OBSIDIAN_LINK_FORMAT - 解析用户请求中的时间段:
- "daily" / "today" / "yesterday" → 过去24小时
- "weekly" / "this week" / 无参数(默认) → 过去7天
- "monthly" / "this month" → 过去30天
- ISO格式日期如"since 2026-05-01" → 该日期之后更新的页面
- 明确数字如"last 14 days" → 指定天数
- 读取的最后200行,提取时间段内的条目(时间戳为ISO-8601格式开头的行)。
$OBSIDIAN_VAULT_PATH/log.md - 读取获取当前会话上下文。
$OBSIDIAN_VAULT_PATH/hot.md - 如果存在,读取其锚点页面表格——后续将用于识别哪些新页面成为了核心枢纽。
$OBSIDIAN_VAULT_PATH/_insights.md
Step 1: Collect Pages Active in the Period
步骤1:收集时间段内活跃的页面
Glob all files under . Skip special/system files:
.md$OBSIDIAN_VAULT_PATH- ,
index.md,log.md,hot.md,AGENTS.md_insights.md - Anything under ,
_meta/,_archives/_raw/ - Journal digest pages themselves ()
journal/digest-*.md
For each remaining page, read its frontmatter:
- — when the page was first written
created - — when it was last modified
updated
Classify:
- New pages: is within the period
created - Updated pages: is within the period but
updatedis before itcreated - Unchanged: neither date falls in the period → skip
If fewer than 5 pages were active, note it and offer to widen: "Only 3 pages were active in the last 7 days — want a monthly digest instead?" Stop here unless the user says to continue.
For each active page, collect: , , , (frontmatter field), , any or markers in the body.
titlecategorytagssummarylifecycle^[ambiguous]^[inferred]遍历下所有文件,跳过特殊/系统文件:
$OBSIDIAN_VAULT_PATH.md- ,
index.md,log.md,hot.md,AGENTS.md_insights.md - ,
_meta/,_archives/目录下的所有文件_raw/ - 通讯摘要页面本身()
journal/digest-*.md
对剩余每个页面,读取其前置元数据:
- — 页面首次创建时间
created - — 页面最后修改时间
updated
分类:
- 新页面:时间在时间段内
created - 更新页面:时间在时间段内,但
updated时间早于该时间段created - 未变更:两个时间均不在时间段内 → 跳过
如果活跃页面少于5个,需告知用户并建议扩大时间段:"过去7天内仅3个页面有活动——是否需要生成月度摘要?" 除非用户确认继续,否则停止操作。
对每个活跃页面,收集以下信息:, , , (前置元数据字段), , 正文中所有或标记。
titlecategorytagssummarylifecycle^[ambiguous]^[inferred]Step 2: Identify Themes
步骤2:识别主题
From all active pages' tags, tally theme frequency:
For each tag across new + updated pages:
count how many active pages carry it
Sort descending, take top 5Also read (if it exists). Flag any tag from step 1 that does not appear in the taxonomy — these are new vocabulary words that emerged this period.
$OBSIDIAN_VAULT_PATH/_meta/taxonomy.mdNote which categories grew most (concepts/, entities/, skills/, synthesis/, references/, etc.).
统计所有活跃页面标签的出现频率:
遍历所有新页面和更新页面的标签:
统计每个标签在活跃页面中的出现次数
按降序排序,取前5个标签同时读取(如果存在)。标记步骤1中未出现在分类体系中的标签——这些是本时间段内新增的词汇。
$OBSIDIAN_VAULT_PATH/_meta/taxonomy.md记录增长最多的分类(如concepts/, entities/, skills/, synthesis/, references/等)。
Step 3: Find Notable New Connections
步骤3:发现重要的新关联
Scan new and updated pages for cross-category wikilinks — links that bridge different knowledge layers. These are the most intellectually interesting outputs of the period.
For each active page, extract all targets. Classify each link by the target's category prefix. Flag links that cross categories (e.g., a page linking to an page, or a page bridging two topics).
[[wikilink]]concepts/entities/synthesis/Rank candidates by interestingness:
- +3 if the link is across two categories that rarely connect (use bridge data if available)
_insights.md - +2 if the target page is a top-10 hub (per anchors)
_insights.md - +2 if the link appears in a page (deliberate cross-cutting)
synthesis/ - +1 if the source page is marked (synthesized connection, not directly stated)
^[inferred]
Take the top 3–5 connections. Write each as a plain-English sentence: not just "A → B" but why the connection is interesting.
扫描新页面和更新页面中的跨分类Wiki链接——这些链接连接了不同的知识层级,是本时间段内最具价值的智力产出。
对每个活跃页面,提取所有目标。根据目标页面的分类前缀对链接进行分类。标记跨分类的链接(例如,页面链接到页面,或页面连接两个不同主题)。
[[wikilink]]concepts/entities/synthesis/按关联性价值排序候选链接:
- +3分:链接连接了两个极少关联的分类(如果有中的桥接数据则使用该数据)
_insights.md - +2分:目标页面是前10个核心枢纽(根据中的锚点页面)
_insights.md - +2分:链接出现在页面中(刻意的跨领域连接)
synthesis/ - +1分:源页面标记有(合成的关联,而非直接陈述)
^[inferred]
选取前3-5个关联链接。用通俗易懂的句子描述每个链接:不仅要写"A → B",还要说明该关联为何有价值。
Step 4: Surface Open Threads
步骤4:梳理未完成事项
Scan active pages and for unresolved work:
_raw/- Drafts: pages with or
lifecycle: draftlifecycle: stub - Ambiguous claims: count markers across all active pages (don't list every one — just the count and which pages have the most)
^[ambiguous] - Unstaged notes: count files in (anything here hasn't been promoted)
$OBSIDIAN_VAULT_PATH/_raw/ - Taxonomy gaps: tags from Step 2 that aren't in
_meta/taxonomy.md
扫描活跃页面和目录中的未完成工作:
_raw/- 草稿:标记或
lifecycle: draft的页面lifecycle: stub - 模糊声明:统计所有活跃页面中标记的数量(无需列出每个标记,只需统计总数及标记最多的页面)
^[ambiguous] - 未整理笔记:统计目录中的文件数量(此处的文件尚未被整理入库)
$OBSIDIAN_VAULT_PATH/_raw/ - 分类体系缺口:步骤2中未出现在中的标签
_meta/taxonomy.md
Step 5: Choose Recommended Re-reads
步骤5:推荐值得重读的页面
From the existing (pre-period) pages, identify 2–3 worth revisiting given this week's new context.
Heuristic: find pre-period pages that share the most tags with the active pages from Step 1. These are foundational pages whose topic was extended this period — the new pages build on them but the user may not have revisited the foundation.
Also include any pre-period page that now has 2+ new incoming links from active pages (it just became more connected — a sign it's load-bearing).
Write each recommendation with a concrete reason: "[[concepts/attention-mechanism]] — your foundational page; three new papers ingested this week all extend it", not just the page title.
从时间段之前已存在的页面中,找出2-3个结合本周新内容值得重读的页面。
判断规则:找出与步骤1中活跃页面共享标签最多的历史页面。这些是基础页面,本周的新内容基于它们扩展,但用户可能尚未回顾这些基础内容。
同时,包含任何新增2条以上来自活跃页面的入链的历史页面(这类页面的关联性增强,已成为核心支撑页面)。
为每个推荐页面提供具体理由:"[[concepts/attention-mechanism]] — 你的基础页面;本周摄入的3篇新论文均基于该概念扩展",而非仅提供页面标题。
Step 6: Generate the Digest
步骤6:生成摘要
Produce a structured, scannable markdown report. The Headlines section is the most important — it should feel like the opening of a good newsletter, synthesizing actual insight rather than listing page names.
Apply the link format from (Link Format section) using . Default is .
llm-wiki/SKILL.mdOBSIDIAN_LINK_FORMAT[[wikilink]]markdown
undefined生成结构化、易于浏览的Markdown报告。其中“头条”部分最为重要——应像优质通讯的开篇一样,提炼实际洞见,而非仅罗列页面名称。
使用(链接格式部分)中指定的链接格式,结合。默认格式为。
llm-wiki/SKILL.mdOBSIDIAN_LINK_FORMAT[[wikilink]]markdown
undefinedWiki Digest — [Period Label]
Wiki Digest — [时间段标签]
[N new pages · M updated pages · period: YYYY-MM-DD to YYYY-MM-DD]
[N个新页面 · M个更新页面 · 时间段:YYYY-MM-DD 至 YYYY-MM-DD]
Headlines
头条
- [Concrete insight #1 — synthesize the actual knowledge, not just "learned about X"]
- [Concrete insight #2]
- [Concrete insight #3]
- [具体洞见1 — 提炼实际知识,而非仅说“学习了X”]
- [具体洞见2]
- [具体洞见3]
New Knowledge
新增知识
New pages ([count])
新页面 ([数量])
| Page | Category | Summary |
|---|---|---|
| [[concepts/foo]] | concept | One-sentence summary from frontmatter |
| [[entities/bar]] | entity | One-sentence summary |
| 页面 | 分类 | 摘要 |
|---|---|---|
| [[concepts/foo]] | concept | 来自前置元数据的一句话摘要 |
| [[entities/bar]] | entity | 一句话摘要 |
Notable updates ([count])
重要更新 ([数量])
| Page | What changed |
|---|---|
| [[skills/react-hooks]] | Added patterns for useCallback with async effects |
(If no updates, omit this subsection.)
| 页面 | 更新内容 |
|---|---|
| [[skills/react-hooks]] | 添加了useCallback结合异步副作用的模式 |
(若无更新内容,省略此小节。)
Emerging Themes
涌现主题
- #[tag] ([N pages]) — [One sentence on why this topic was active]
- #[tag] ([N pages]) — [...]
- #[NEW TAG] ([N pages]) ⭐ New vocabulary — not yet in taxonomy
Most active category: [category/] ([N pages added or updated])
- #[tag] ([N个页面]) — [一句话说明该主题活跃的原因]
- #[tag] ([N个页面]) — [...]
- #[NEW TAG] ([N个页面]) ⭐ 新增词汇 — 尚未加入分类体系
最活跃分类:[category/] ([N个页面被新增或更新])
Key Connections Made
建立的核心关联
- [[concepts/A]] → [[entities/B]] — [Plain-English reason this connection is interesting]
- [[synthesis/X]] created — bridges [[concepts/Y]] and [[concepts/Z]] for the first time
- (up to 5 connections)
- [[concepts/A]] → [[entities/B]] — [通俗易懂的语言说明该关联为何有价值]
- [[synthesis/X]] 已创建 — 首次连接[[concepts/Y]]和[[concepts/Z]]
- (最多列出5个关联)
Open Threads
未完成事项
- Drafts to compile ([count]): [[concepts/foo]], [[concepts/bar]] — still in draft lifecycle
- Ambiguous claims: [N] markers across [M] pages — run
^[ambiguous]to resolve/wiki-synthesize - Unstaged notes: [N] files in — run
_raw/to promote them/wiki-ingest _raw/ - Taxonomy gaps: Tags ,
#newtag1used but not in taxonomy — run#newtag2/tag-taxonomy
(Omit any subsection where count is 0.)
- 待整理草稿 ([数量]):[[concepts/foo]]、[[concepts/bar]] — 仍处于草稿阶段
- 模糊声明:[N]个标记分布在[M]个页面中 — 运行
^[ambiguous]来解决/wiki-synthesize - 未整理笔记:[N]个文件在目录中 — 运行
_raw/来整理入库/wiki-ingest _raw/ - 分类体系缺口:使用了标签、
#newtag1但未加入分类体系 — 运行#newtag2/tag-taxonomy
(若某小节数量为0,省略该小节。)
Recommended Re-reads
推荐重读页面
- [[concepts/X]] — [Specific reason: "3 new papers this week all extend this concept"]
- [[synthesis/Y]] — [Specific reason: "2 new pages created this week reference it"]
- [[skills/Z]] — [Specific reason: "now has 4 new incoming links — it's become a hub"]
Generated by wiki-digest · [TIMESTAMP] · [N pages scanned in [VAULT_PATH]]
**Visibility**: If a page is tagged `visibility/pii`, exclude it from all tables and connection lists (but count it in the totals, noted as "+ N private"). If the user explicitly says "include private pages" or "full digest", include them normally.- [[concepts/X]] — [具体理由:“本周3篇新论文均引用了该页面中的同一观点”]
- [[synthesis/Y]] — [具体理由:“本周新增的2个页面均引用了该页面”]
- [[skills/Z]] — [具体理由:“新增了4条入链 — 已成为核心枢纽页面”]
由wiki-digest生成 · [时间戳] · [在[VAULT_PATH]中扫描了N个页面]
**可见性规则**:如果页面标记了`visibility/pii`,则将其从所有表格和关联列表中排除(但仍计入总数,并标注为“+ N个私有页面”)。如果用户明确要求“包含私有页面”或“完整摘要”,则正常显示这些页面。Step 7: Output & Optionally Save
步骤7:输出并可选保存
Default (chat output): Print the digest directly. At the end, ask:
"Want me to save this as ?"
journal/digest-YYYY-MM-DD.mdIf user prefixed with "save" or "write" (e.g., or "generate and save my weekly digest"):
/wiki-digest save- Write to (weekly/monthly) or
$OBSIDIAN_VAULT_PATH/journal/digest-YYYY-MM-DD.md(daily)journal/digest-YYYY-MM-DD-daily.md - Add frontmatter:
yaml
--- title: "Wiki Digest — [Period Label]" category: journal tags: [digest, meta/review] sources: [] created: TIMESTAMP updated: TIMESTAMP summary: "Weekly knowledge digest: [N new, M updated pages]. Top themes: [tag1], [tag2]." --- - Update with the new entry under Journal
index.md - Do not add to (digests aren't source ingestions)
.manifest.json
Either way, append to :
log.md- [TIMESTAMP] DIGEST period="7d" new_pages=N updated_pages=M themes=T connections=C saved=false默认(聊天输出):直接打印摘要。在末尾询问:
“是否需要将此摘要保存为?”
journal/digest-YYYY-MM-DD.md如果用户前缀包含“save”或“write”(例如:或“生成并保存我的每周摘要”):
/wiki-digest save- 将内容写入(周/月度)或
$OBSIDIAN_VAULT_PATH/journal/digest-YYYY-MM-DD.md(日度)journal/digest-YYYY-MM-DD-daily.md - 添加前置元数据:
yaml
--- title: "Wiki Digest — [时间段标签]" category: journal tags: [digest, meta/review] sources: [] created: TIMESTAMP updated: TIMESTAMP summary: "每周知识摘要:[N个新页面,M个更新页面]。核心主题:[tag1]、[tag2]。" --- - 在的Journal部分添加新条目
index.md - 不要添加到(摘要不属于数据源摄入内容)
.manifest.json
无论哪种方式,都需向追加内容:
log.md- [TIMESTAMP] DIGEST period="7d" new_pages=N updated_pages=M themes=T connections=C saved=falseEdge Cases
边缘情况处理
| Situation | Handling |
|---|---|
| Fewer than 5 active pages | Offer to widen the period; proceed only if user confirms |
| Empty vault (no pages at all) | Tell the user to run an ingest first; stop |
No | Skip taxonomy gap check; omit that line from Open Threads |
No | Skip hub-based scoring in Step 3; still produce connections section |
All pages are | Report "N private pages active this period" with no details; offer full mode |
| Period spans a wiki rebuild | Note it in the digest: "Wiki was rebuilt during this period — page dates reflect post-rebuild state" |
| 场景 | 处理方式 |
|---|---|
| 活跃页面少于5个 | 建议扩大时间段;仅在用户确认后继续 |
| 空知识库(无任何页面) | 告知用户先运行摄入操作;停止处理 |
无 | 跳过分类体系缺口检查;在未完成事项中省略该条目 |
无 | 跳过步骤3中基于核心枢纽的评分;仍需生成关联部分 |
所有页面均标记 | 报告“本时间段内有N个私有页面活跃”,不显示详情;提供完整模式选项 |
| 时间段包含Wiki重建 | 在摘要中注明:“本时间段内Wiki进行了重建——页面日期反映重建后的状态” |
Notes
注意事项
- Headlines are the payoff. Don't list page titles — synthesize the actual learning. If someone learned about attention mechanisms this week, the headline should capture the insight, not just say "added 3 transformer pages".
- Be concrete about re-reads. "This page is relevant" is useless. "3 of this week's papers all cite the same claim in this page" is actionable.
- This skill only reads. The only writes are the optional journal page, and the append. It does not modify existing wiki pages.
log.md - Don't duplicate wiki-status. If the user asks "what needs ingesting" or "what's the delta", route to . This skill answers "what did I learn", not "what's pending".
wiki-status
- 头条是核心价值。不要罗列页面标题——要提炼实际学习内容。如果用户本周学习了注意力机制,头条应捕捉具体洞见,而非仅说“添加了3个Transformer页面”。
- 重读推荐要具体。“该页面相关”毫无用处。“本周3篇论文均引用了该页面中的同一观点”才具有可操作性。
- 该技能仅读取数据。仅有的写入操作是可选的通讯页面保存和追加。不会修改现有Wiki页面。
log.md - 不要重复wiki-status的功能。如果用户询问“需要摄入什么”或“增量内容”,请引导至。该技能回答“我学到了什么”,而非“待处理内容有什么”。
wiki-status