File contents KB Router(落盘/状态更新)
把 Normalize+QA 的结果写入 Obsidian Vault,并更新防重复状态。
输入
normalize(kb-normalize 输出 YAML)
qa(kb-qa-score 输出 YAML)
title(可由抓取/正文推断;需要用于文件命名)
text(可选:写入 notes 的正文摘录/关键段落)
固定路径
Notes:/Users/ferdinandji/Library/Mobile Documents/iCloud~md~obsidian/Documents/Obsidian Vault/KB/notes/
Queue:/Users/ferdinandji/Library/Mobile Documents/iCloud~md~obsidian/Documents/Obsidian Vault/KB/queue/
Processed list:/Users/ferdinandji/Library/Mobile Documents/iCloud~md~obsidian/Documents/Obsidian Vault/KB/inputs/processed-links.md
State:/Users/ferdinandji/.openclaw/workspace/KB/state/digest.json
路由规则(硬规则)
verdict=keep → 写入 notes
verdict=queue/needs_context → 写入 queue
verdict=discard → 不入库(只在摘要里说明原因即可)
人在回路(每个关键节点暂停确认)
Step 1: 入库前确认
→ 展示:文件名、目标路径、verdict
→ 询问用户:"确认写入?Y/N"
IF 用户确认:
→ 继续写入
ELSE:
→ 跳过本次,询问修改后重新处理
Step 2: 写入后确认
→ 写入成功后,展示:
- 文件路径
- 字数/行数
- 摘要
→ 询问:"需要查看内容/修改/重新写?"
Step 3: 异常处理
IF 写入失败(权限/磁盘满/路径不存在):
→ 记录错误详情
→ 询问用户:"手动创建/换路径/跳过?"
→ 根据用户选择处理
文件命名
notes:YYYY-MM-DD-<简短主题>-note.md
queue:YYYY-MM-DD-<简短主题>-queue.md
写入内容要求
notes 必须包含:来源 URL、summary_one_line、claim、why_it_matters、evidence、actions。
queue 必须包含:卡点(issues)+ 需要 boss 做什么(questions_for_boss)。
状态更新
processed-links.md:追加一行(日期|标题|verdict|url)
digest.json:追加 processed 记录(url, processed_at, verdict, title, reason 可选)
依赖
抓取统一走 kb-fetch;结构化与打分分别走 kb-normalize 与 kb-qa-score。
1 --- 2 name: kb-router 3 description: KB Router(落盘/状态更新) 4 --- 5 6 # KB Router(落盘/状态更新) 7 8 把 Normalize+QA 的结果写入 Obsidian Vault,并更新防重复状态。 9 10 ## 输入 11 - `normalize`(kb-normalize 输出 YAML) 12 - `qa`(kb-qa-score 输出 YAML) 13 - `title`(可由抓取/正文推断;需要用于文件命名) 14 - `text`(可选:写入 notes 的正文摘录/关键段落) 15 16 ## 固定路径 17 - Notes:`/Users/ferdinandji/Library/Mobile Documents/iCloud~md~obsidian/Documents/Obsidian Vault/KB/notes/` 18 - Queue:`/Users/ferdinandji/Library/Mobile Documents/iCloud~md~obsidian/Documents/Obsidian Vault/KB/queue/` 19 - Processed list:`/Users/ferdinandji/Library/Mobile Documents/iCloud~md~obsidian/Documents/Obsidian Vault/KB/inputs/processed-links.md` 20 - State:`/Users/ferdinandji/.openclaw/workspace/KB/state/digest.json` 21 22 ## 路由规则(硬规则) 23 - verdict=keep → 写入 notes 24 - verdict=queue/needs_context → 写入 queue 25 - verdict=discard → 不入库(只在摘要里说明原因即可) 26 27 ## 人在回路(每个关键节点暂停确认) 28 29 ### Step 1: 入库前确认 30 ``` 31 → 展示:文件名、目标路径、verdict 32 → 询问用户:"确认写入?Y/N" 33 IF 用户确认: 34 → 继续写入 35 ELSE: 36 → 跳过本次,询问修改后重新处理 37 ``` 38 39 ### Step 2: 写入后确认 40 ``` 41 → 写入成功后,展示: 42 - 文件路径 43 - 字数/行数 44 - 摘要 45 → 询问:"需要查看内容/修改/重新写?" 46 ``` 47 48 ### Step 3: 异常处理 49 ``` 50 IF 写入失败(权限/磁盘满/路径不存在): 51 → 记录错误详情 52 → 询问用户:"手动创建/换路径/跳过?" 53 → 根据用户选择处理 54 ``` 55 56 ## 文件命名 57 - notes:`YYYY-MM-DD-<简短主题>-note.md` 58 - queue:`YYYY-MM-DD-<简短主题>-queue.md` 59 60 ## 写入内容要求 61 - notes 必须包含:来源 URL、summary_one_line、claim、why_it_matters、evidence、actions。 62 - queue 必须包含:卡点(issues)+ 需要 boss 做什么(questions_for_boss)。 63 64 ## 状态更新 65 - processed-links.md:追加一行(日期|标题|verdict|url) 66 - digest.json:追加 processed 记录(url, processed_at, verdict, title, reason 可选) 67 68 ## 依赖 69 - 抓取统一走 `kb-fetch`;结构化与打分分别走 `kb-normalize` 与 `kb-qa-score`。
jiyangnan/xiaonangua-openclaw-skills/tree/main/skills/kb-router commit a5c7b4b10b
Frequently asked questions How do I install the Kb Router skill? Run npx skillmds@latest add jiyangnan/kb-router 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 Router skill do? KB Router(落盘/状态更新) It is listed under Coding & Dev Tools on SkillMD.
Is Kb Router 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 Router? 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 Router free to use? Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
Who published Kb Router? jiyangnan (@jiyangnan) published this skill. Their other Agent Skills are listed on their SkillMD profile.