# Kb Orchestrator

> KB Orchestrator（总控编排器）

- Skill: `jiyangnan/kb-orchestrator` (Agent Skill)
- Install (CLI): `npx skillmds@latest add jiyangnan/kb-orchestrator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jiyangnan/kb-orchestrator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: jiyangnan (https://skillmd.com/u/jiyangnan)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/jiyangnan/kb-orchestrator

---


# KB Orchestrator（总控编排器）

目标：把 KB 工作流模块化成一组可替换的子技能，并用路由规则串起来。

## 子技能清单（当前版本）
- `kb-fetch`：统一抓取（web_fetch + browser 回退）
- `kb-inbox-digest`：链接→沉淀（Normalize/QA/Router + notes/queue + 摘要）
- `kb-queue-to-keep`：queue→keep（补全研究/对比验证 Phase 1）
- `kb-evidence-merge`：把白羊武士实测证据写回 notes（Phase 2）

## 路由规则（触发词 → 子技能）

### A) 收到链接（或用户说"处理一下这个链接"）
→ 调用 `kb-inbox-digest`

### B) 用户说"把 queue 推到 keep / 做对比验证 / 补全这条"
→ 调用 `kb-queue-to-keep`

### C) 用户说"我实测了/我把截图发你/把证据写回KB/更新结论"
→ 调用 `kb-evidence-merge`

### D) 抓取失败排查（微信/X 抓不到）
→ 优先调用 `kb-fetch`，并把抓取结果（错误原因/是否需登录）反馈给用户，再决定是否入 queue。

## 完整工作流（详细步骤）

### Step 1: 接收输入
```
IF 用户发了链接:
  → 提取 URL，记录到 KB/inputs/inbox-links.md
ELIF 用户发了文本/文件:
  → 直接进入 Normalize
ELIF 用户说"跑工作流":
  → 检查 KB/inputs/inbox-links.md 待处理列表
```

### Step 2: 抓取（kb-fetch）
```
→ 调用 kb-fetch
IF 抓取成功:
  → 提取 text, title, author, published_at
ELSE:
  → 记录失败原因
  → 询问用户是否继续或手动提供内容
```

### Step 3: 结构化（kb-normalize）
```
→ 调用 kb-normalize
→ 输出 YAML：source, summary_one_line, claim, why_it_matters, evidence, actions, risks, tags
```

### Step 4: 质量打分（kb-qa-score）
```
→ 调用 kb-qa-score
→ 输出：total score, verdict (keep/queue/discard/needs_context)
IF verdict=keep:
  → 进入 Step 5a
ELIF verdict=queue:
  → 进入 Step 5b
ELIF verdict=discard:
  → 记录到日志，结束
ELIF verdict=needs_context:
  → 询问用户补充信息
```

### Step 5a: 写入 Notes（keep）
```
→ 生成文件名：YYYY-MM-DD-<主题>-note.md
→ 写入 KB/notes/
→ 更新 KB/index.md（追加到分类下）
→ 更新 KB/recent.md（追加到顶部，保留10条）
→ 追加到 KB/inputs/processed-links.md（防重复）
→ 追加到 KB/log.md
```

### Step 5b: 写入 Queue（queue）
```
→ 生成文件名：YYYY-MM-DD-<主题>-queue.md
→ 写入 KB/queue/
→ 记录需要补充的 issues + questions_for_boss
```

### Step 6: 结果汇报
```
→ 汇总：处理了N条，keep M条，queue X条，discard Y条
→ 列出需要用户确认的修复项（如有）
```

## 编排原则
- **小事用子技能**：不要把所有逻辑堆在一个技能里。
- **总控只管路由**：不在这里重复子技能的细节。
- **省钱铁律继承**：工具对比实测由白羊武士执行，代理只做结构化对比与证据写回。
- **人在回路**：每个关键节点后暂停，确认用户再继续下一步

