File contents
name: kb-inbox-digest
description: Convert shared links into KB workflow: fetch -> normalize -> QA -> route to Obsidian -> deliver digest summary.
Use When
用户说"跑 KB 闭环"、"处理链接"、"我又塞了链接"
需要把链接批量入库时
构建/调试 KB/Skills/Cron 管道时
需要检查为什么链接没被摄入时
需要手动触发每日 Digest 时
Don't Use When
只有单个链接不需要批量处理(直接用 kb-fetch + kb-normalize + kb-qa-score 即可)
用户只想预览不想入库(分别调用子 skill 不要跑完整流程)
链接是文件下载而非网页(无法抓取内容)
链接是内部系统无法访问(会失败)
大量链接需要去重预处理(先手动清理)
用户只想检查哪些链接已处理(查 processed-links.md 即可)
只需要抓取不需要入库(只用 kb-fetch)
只需要结构化不需要评分(只用 kb-normalize)
只需要评分不需要入库(只用 kb-qa-score)
系统资源紧张无法处理大批量(分批处理)
KB Inbox Digest(链接→知识沉淀)
把「我看到一篇好文章 → 直接把链接发给你」变成稳定的自动化:
输入(Links)→ 抓取(Fetch)→ 结构化(Normalize)→ 评审(QA)→ 路由(Router)→ 沉淀(Obsidian KB)→ 返回摘要(由系统投递到 Telegram 私聊)
固定路径(V0)
沉淀区(最终输出,Obsidian Vault)
Vault 根:$VAULT_ROOT/
KB:Obsidian Vault/KB/
KB/inputs/inbox-links.md:收链接(每行一个 URL,可在后面加备注)
KB/inputs/processed-links.md:已处理列表(防重复)
KB/notes/:verdict=keep 才能进
KB/queue/:verdict=queue/needs_context 进
执行区(小南瓜系统内,工作台)
规则库(执行用双份):$WORKSPACE/KB/rules/
状态文件:$WORKSPACE/KB/state/digest.json
核心规则(不要走样)
Obsidian KB 只沉淀最终输出
keep → notes
queue/needs_context → queue
discard → 不入库
模块化调用(铁律)
抓取统一走 kb-fetch
结构化统一走 kb-normalize
评分裁决统一走 kb-qa-score
落盘/状态更新统一走 kb-router
默认 B(补全研究)
用户只丢链接也能跑完整流程
如果用户随手加了备注(A:意图/想法),把备注写进最终笔记 frontmatter 或「可复用点」中
输出摘要不要写"已发送到群/已发送到私聊"
触发方式(事件驱动)
支持两种触发:
用户直接发链接 (默认)
从 Telegram / 飞书 / Discord 任意渠道收到 URL → 立即按本流程处理。
用户可选在同一条消息里追加一句备注(A:意图/想法),形如:
用户发口令
口令示例:处理一下这个链接
若口令消息里未包含 URL:优先使用"上一条包含 URL 的消息";仍没有则向用户索要。
执行步骤(处理一批链接)
当被触发时:
从当前消息中抽取 URL(允许一条消息多链接);若没有则回退到 KB/inputs/inbox-links.md 作为兜底输入源。
read digest.json,过滤已处理
选取新 URL(每轮最多 10 条 ;剩余留到下一轮由用户确认继续)
对每条:
抓取:用 kb-fetch
Normalize:用 kb-normalize
QA:用 kb-qa-score
Router:用 kb-router(写入 notes/queue + 更新 processed-links 与 digest.json)
输出 1 条简短摘要:
本轮处理 N 条;keep/queue/discard 数量
keep:标题 + 一句话结论 + notes 路径
queue:卡点 + 需要 boss 做什么
自动化(Cron 推荐配置)
每日模式(9:00) :兜底汇总(防漏/防失败),不要做高频轮询。
备注:具体 cron 任务由主代理用 cron 工具维护(避免在技能里硬编码 jobId)。
常见故障排查
微信抓不到正文 :用 browser 回退;如果出现登录/验证码,提示 boss 在 openclaw profile 登录一次。
重复提醒/刷屏 :检查是否启用了高频轮询类任务(应禁用);摘要中禁止"已发送到群"之类误导语。
路径混用 :确认只有 keep/queue 才写入 Obsidian Vault;其他中间产物留在 workspace。
1 --- 2 name: kb-inbox-digest-2 3 description: --- 4 --- 5 --- 6 name: kb-inbox-digest 7 description: Convert shared links into KB workflow: fetch -> normalize -> QA -> route to Obsidian -> deliver digest summary. 8 9 ## Use When 10 - 用户说"跑 KB 闭环"、"处理链接"、"我又塞了链接" 11 - 需要把链接批量入库时 12 - 构建/调试 KB/Skills/Cron 管道时 13 - 需要检查为什么链接没被摄入时 14 - 需要手动触发每日 Digest 时 15 16 ## Don't Use When 17 - 只有单个链接不需要批量处理(直接用 kb-fetch + kb-normalize + kb-qa-score 即可) 18 - 用户只想预览不想入库(分别调用子 skill 不要跑完整流程) 19 - 链接是文件下载而非网页(无法抓取内容) 20 - 链接是内部系统无法访问(会失败) 21 - 大量链接需要去重预处理(先手动清理) 22 - 用户只想检查哪些链接已处理(查 processed-links.md 即可) 23 - 只需要抓取不需要入库(只用 kb-fetch) 24 - 只需要结构化不需要评分(只用 kb-normalize) 25 - 只需要评分不需要入库(只用 kb-qa-score) 26 - 系统资源紧张无法处理大批量(分批处理) 27 28 29 # KB Inbox Digest(链接→知识沉淀) 30 31 把「我看到一篇好文章 → 直接把链接发给你」变成稳定的自动化: 32 33 **输入(Links)→ 抓取(Fetch)→ 结构化(Normalize)→ 评审(QA)→ 路由(Router)→ 沉淀(Obsidian KB)→ 返回摘要(由系统投递到 Telegram 私聊)** 34 35 ## 固定路径(V0) 36 37 ### 沉淀区(最终输出,Obsidian Vault) 38 - Vault 根:`$VAULT_ROOT/` 39 - KB:`Obsidian Vault/KB/` 40 - `KB/inputs/inbox-links.md`:收链接(每行一个 URL,可在后面加备注) 41 - `KB/inputs/processed-links.md`:已处理列表(防重复) 42 - `KB/notes/`:verdict=keep 才能进 43 - `KB/queue/`:verdict=queue/needs_context 进 44 45 ### 执行区(小南瓜系统内,工作台) 46 - 规则库(执行用双份):`$WORKSPACE/KB/rules/` 47 - 状态文件:`$WORKSPACE/KB/state/digest.json` 48 49 ## 核心规则(不要走样) 50 51 1) **Obsidian KB 只沉淀最终输出** 52 - keep → notes 53 - queue/needs_context → queue 54 - discard → 不入库 55 56 2) **模块化调用(铁律)** 57 - 抓取统一走 `kb-fetch` 58 - 结构化统一走 `kb-normalize` 59 - 评分裁决统一走 `kb-qa-score` 60 - 落盘/状态更新统一走 `kb-router` 61 62 3) **默认 B(补全研究)** 63 - 用户只丢链接也能跑完整流程 64 - 如果用户随手加了备注(A:意图/想法),把备注写进最终笔记 frontmatter 或「可复用点」中 65 66 4) **输出摘要不要写"已发送到群/已发送到私聊"** 67 - 执行器只输出摘要文本;投递由系统处理 68 69 ## 触发方式(事件驱动) 70 71 支持两种触发: 72 73 1) **用户直接发链接**(默认) 74 - 从 Telegram / 飞书 / Discord 任意渠道收到 URL → 立即按本流程处理。 75 - 用户可选在同一条消息里追加一句备注(A:意图/想法),形如: 76 - `<URL> // 一句话想法` 77 78 2) **用户发口令** 79 - 口令示例:`处理一下这个链接` 80 - 若口令消息里未包含 URL:优先使用"上一条包含 URL 的消息";仍没有则向用户索要。 81 82 ## 执行步骤(处理一批链接) 83 84 当被触发时: 85 86 1. 从当前消息中抽取 URL(允许一条消息多链接);若没有则回退到 `KB/inputs/inbox-links.md` 作为兜底输入源。 87 2. `read` digest.json,过滤已处理 88 3. 选取新 URL(**每轮最多 10 条**;剩余留到下一轮由用户确认继续) 89 4. 对每条: 90 - 抓取:用 `kb-fetch` 91 - Normalize:用 `kb-normalize` 92 - QA:用 `kb-qa-score` 93 - Router:用 `kb-router`(写入 notes/queue + 更新 processed-links 与 digest.json) 94 5. 输出 1 条简短摘要: 95 - 本轮处理 N 条;keep/queue/discard 数量 96 - keep:标题 + 一句话结论 + notes 路径 97 - queue:卡点 + 需要 boss 做什么 98 99 ## 自动化(Cron 推荐配置) 100 101 - **每日模式(9:00)**:兜底汇总(防漏/防失败),不要做高频轮询。 102 103 > 备注:具体 cron 任务由主代理用 `cron` 工具维护(避免在技能里硬编码 jobId)。 104 105 ## 常见故障排查 106 107 - **微信抓不到正文**:用 browser 回退;如果出现登录/验证码,提示 boss 在 openclaw profile 登录一次。 108 - **重复提醒/刷屏**:检查是否启用了高频轮询类任务(应禁用);摘要中禁止"已发送到群"之类误导语。 109 - **路径混用**:确认只有 keep/queue 才写入 Obsidian Vault;其他中间产物留在 workspace。
jiyangnan/xiaonangua-openclaw-skills/tree/main/KB/kb-skills/kb-inbox-digest commit 7c5cb38160
Frequently asked questions How do I install the Kb Inbox Digest skill? Run npx skillmds@latest add jiyangnan/kb-inbox-digest-2 in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
What does the Kb Inbox Digest skill do? --- It is listed under Coding & Dev Tools on SkillMD.
Is Kb Inbox Digest safe to use? This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
Which AI agents work with Kb Inbox Digest? This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Is Kb Inbox Digest free to use? Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
Who published Kb Inbox Digest? jiyangnan (@jiyangnan) published this skill. Their other Agent Skills are listed on their SkillMD profile.