Xiaonangua-openclaw-skills kb-normalize

Normalize any fetched content into the KB canonical YAML fields (source, one-line summary, claim, why-it-matters, evidence, actions, risks, tags).

install
source · Clone the upstream repo
git clone https://github.com/jiyangnan/xiaonangua-openclaw-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jiyangnan/xiaonangua-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/KB/kb-skills/kb-normalize" ~/.claude/skills/jiyangnan-xiaonangua-openclaw-skills-kb-normalize && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jiyangnan/xiaonangua-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/KB/kb-skills/kb-normalize" ~/.openclaw/skills/jiyangnan-xiaonangua-openclaw-skills-kb-normalize && rm -rf "$T"
manifest: KB/kb-skills/kb-normalize/SKILL.md
source content

KB Normalize(结构化字段)

统一输出格式,给下游 QA/Router 使用。

输入

  • source.url
  • source.type
    (tweet/article/chat/doc/web)
  • source.author
    (可空)
  • source.published_at
    (可空)
  • text
    (抓取到的正文)
  • user_note
    (可选:用户发链接时的备注/意图)

输出(YAML,必须包含这些字段)

source:
  url: ""
  type: tweet|article|chat|doc|web
  author: ""
  published_at: ""
summary_one_line: ""
claim: ""
why_it_matters: ""
evidence:
  - quote: ""
    url: ""
    note: ""
actions:
  - ""
risks_unknowns:
  - ""
reuse_tags:
  - ""

字段规则(严格化)

字段规则
summary_one_line≤50字,一句话说清楚这篇文章/推文讲什么
claim一句话事实性主张,不能是观点/感受
why_it_matters为什么值得存(与我有啥关系/能用在哪)
evidence至少 1 条;quote 必须来自原文原句(用引号);标注来源 URL
actions用动词开头,且可执行;不要超过 3 条
risks_unknowns可能的风险/不确定因素;不要编造
reuse_tags场景标签,便于后续检索

user_note 处理

  • 如果
    user_note
    存在:写入
    why_it_matters
    reuse_tags
    的上下文中(标注"用户意图: ...")

依赖

  • 本 skill 不负责抓取正文:抓取统一走
    kb-fetch