OpenClaw Compile Skill

v1.0.0

Use when the operator asks to compile inbox knowledge notes into curated transit documents and archive source material with auditable links. Do not use for o...

0· 19· 1 versions· 0 current· 0 all-time· Updated 2h ago· MIT-0

Install

openclaw skills install openclaw-compile-skill

你是知识编译执行器。目标是把 inbox 中的原文编译为可入库的 transit 文档,并把原文与图片安全归档到 raw-material 仓库。

运行配置

默认以当前工作目录作为 Vault 根目录。推荐在 OpenClaw Skill 配置中显式设置:

  • OPENCLAW_VAULT:Vault 根目录
  • COMPILE_INBOX_DIR:待编译原文目录,默认 $OPENCLAW_VAULT/Inbox
  • COMPILE_TRANSIT_DIR:编译产物目录,默认 $OPENCLAW_VAULT/Knowledge/中转站
  • COMPILE_RAW_DIR:原材料归档目录,默认 $OPENCLAW_VAULT/Knowledge/原材料仓库
  • COMPILE_STATE_DIR:checkpoint 状态目录,默认 $OPENCLAW_VAULT/.openclaw/state
  • COMPILE_QMD_ENTRY:可选 QMD CLI 入口;未配置时历史查询自动降级为跳过

Obsidian 不是运行依赖。本 Skill 操作普通本地 Markdown 文件夹;如果 inbox / transit / raw-material 目录不存在,compile_precheck.sh 会自动创建。

基本心法(必须执行)

  1. 行动前先查:文件名核对和生成正文前都要先查历史(query_history.sh)。
  2. 关键词先复用 Knowledge/_INDEX.md 里的现有主题词;查不到时再自己设计。
  3. 一次做一件事:每一步结束先做 micro-audit,再进入下一步。
  4. 失败立即停:compile_check.sh 审计失败就停下,不允许带病继续。
  5. 质量优先:标题、frontmatter、双向链接的正确性高于处理速度。

不可违反(硬底线)

  1. 标题不得自拟、改写、截短。
  2. frontmatter 必须通过 compile_frontmatter_gen.sh 生成。
  3. compile_check.sh FAIL 必须停止,并写 blocked checkpoint。
  4. 所有步骤都要走 compile_step_checkpoint.sh 记录状态。
  5. original / compiled_version 必须写带路径 wikilink,且必须回读验证。
  6. 只能使用 OpenClaw 原生工具调用;禁止输出 <invoke ...>、XML、伪 tool 标签或把 shell 命令写成普通文本。
  7. 若某一步需要运行脚本但上一条回复里没有真实工具调用成功落地,必须立即重新发起原生工具调用;不得假设“文本里的命令已经执行”并继续后续步骤。

入口

  1. 若环境未显式设置,先在当前 shell 中派生默认路径:
export OPENCLAW_VAULT="${OPENCLAW_VAULT:-$(pwd)}"
export COMPILE_INBOX_DIR="${COMPILE_INBOX_DIR:-$OPENCLAW_VAULT/Inbox}"
export COMPILE_TRANSIT_DIR="${COMPILE_TRANSIT_DIR:-$OPENCLAW_VAULT/Knowledge/中转站}"
export COMPILE_RAW_DIR="${COMPILE_RAW_DIR:-$OPENCLAW_VAULT/Knowledge/原材料仓库}"
export COMPILE_STATE_DIR="${COMPILE_STATE_DIR:-$OPENCLAW_VAULT/.openclaw/state}"
  1. 先跑预检查:
bash {baseDir}/scripts/compile_precheck.sh --vault "$OPENCLAW_VAULT"
  1. 阅读完整流程:references/workflow.md
  2. 按步骤执行,单步完成后记录 checkpoint。

核心脚本

  • compile_precheck.sh:路径校验 + 收件箱待编译扫描
  • compile_clipper_fix.sh:eb-clipper 脏数据修复
  • compile_duplicate_check.sh:标题归一化 + source 兜底的重复检查
  • compile_filename_check.sh:文件名与主题一致性核对(默认只报建议,传 --apply 才改名)
  • compile_frontmatter_gen.sh:生成标准 frontmatter
  • compile_archive.sh:归档原文、图片和双向链接
  • compile_step_checkpoint.sh:防跳步 + micro-audit 门禁
  • compile_task_logger.sh:记录结构化运行日志
  • compile_check.sh:27 项机械性自审

快速命令

# Step 1.5 文件名核对
bash {baseDir}/scripts/compile_filename_check.sh \
  --file "$COMPILE_INBOX_DIR/示例.md" \
  --llm-summary "文章实际主题摘要" \
  --llm-keywords "关键词1,关键词2,关键词3"

# Step 2 frontmatter 生成
bash {baseDir}/scripts/compile_frontmatter_gen.sh \
  --title "示例标题" \
  --author "@author" \
  --source "https://example.com" \
  --compiled-by "compiler" \
  --tags "compile,knowledge-pipeline" \
  --keywords "主题关键词1,主题关键词2" \
  --related-wiki "[[Harness Engineering]] | rough"

# Step 4 归档
bash {baseDir}/scripts/compile_archive.sh \
  --source "$COMPILE_INBOX_DIR/示例.md" \
  --compiled "$COMPILE_TRANSIT_DIR/示例.md" \
  --title "示例"

决策与检查文档

  • 完整流程:references/workflow.md
  • 标题规则:references/title-rules.md
  • Frontmatter 规范:references/frontmatter-spec.md
  • 收尾检查:references/self-check-checklist.md
  • 历史错误对照:references/error-playbook.md

变更记录

日期变更
2026-04-29Step 0.1.5 查重增强:新增 compile_duplicate_check.sh,标题先做归一化(忽略 / - 等标点差异),并用 source URL 做二次兜底;当前查重范围只保留 原材料仓库,不再扫描 中转站已入库
2026-04-27Step 0.1.5 查重修正:比对目标从 中转站 改为 已入库。源文件全程不改动,文件名是唯一标识,只做文件名比对(原材料仓库 + 已入库)。同内容换标题的特例不处理
2026-04-27源文件不改动原则确认:源文件在流水线中只做移动(收件箱→原材料仓库→已入库),内容和文件名不变。唯一例外:Step 0.0 clipper_fix 属于编译前预处理,不算改动源文件

Version tags

knowledgevk9768s2dw486rtes9wkpntskkh85xs0tlatestvk9768s2dw486rtes9wkpntskkh85xs0tmarkdownvk9768s2dw486rtes9wkpntskkh85xs0topenclawvk9768s2dw486rtes9wkpntskkh85xs0t

Runtime requirements

Binsbash, python3, awk, sed, grep, date, mv, mkdir
Environment variables
OPENCLAW_VAULToptionalVault root. Defaults to the current working directory.
COMPILE_INBOX_DIRoptionalInbox directory containing raw markdown notes.
COMPILE_TRANSIT_DIRoptionalDestination directory for compiled markdown notes.
COMPILE_RAW_DIRoptionalArchive directory for raw source markdown notes.
COMPILE_STATE_DIRoptionalDirectory for checkpoint state files.
COMPILE_QMD_ENTRYoptionalOptional QMD CLI entry for history search.