butler
启动 shiji-kb 史记 Wiki 管家的永续 loop。每轮执行一个原子动作(W1选任务→W2执行→W3/W4评估→记账),完成后立即进入下一轮,无需用户逐轮确认。支持多实例并行(--instance/--focus)。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
启动 shiji-kb 史记 Wiki 管家的永续 loop。每轮执行一个原子动作(W1选任务→W2执行→W3/W4评估→记账),完成后立即进入下一轮,无需用户逐轮确认。支持多实例并行(--instance/--focus)。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
根据 git 缓存区(staged)内容生成中文提交消息草稿。无参数时只看缓存区、不执行 git add;带参数 `/msg X` 时先把与 X 相关的改动 `git add` 到缓存区,再生成消息草稿。始终不执行 git commit。
升级 shiji-kb wiki 页面质量一档(stub→basic→standard→featured→premium),或升至用户指定档。诊断页面当前指标缺口,执行对应补充操作(补引文、写散文、加节、加图)。当用户说 /enrich PAGE 或 /enrich PAGE 目标档 时触发。
为 shiji-kb wiki 页面补全「史记引文」节。搜索实体标注文件中对该页面实体的真实引用(而非裸字符匹配),展开已知 PN 的完整段落,过滤已引,输出新增候选。当用户说 /quote PAGE 时触发。
为 shiji-kb wiki 页面从谭其骧《中国历史地图集》自动裁切历史地图截图,并生成 frontmatter images 片段。适用于 type=place(地名)和 type=state(诸侯国/侯国/邦国)页面。当用户说 /map PAGE、/map PAGE 时间、/map PAGE all 时触发;/enrich 对 state/place 类型页面补图时也应调用。前提:页面 frontmatter 必须有 coords 字段(无 coords 则先补 coords 再调用)。
扫描并补齐缺失的每日工作日志。对比 logs/daily/ 已有日志与 git 有提交的日期(按 07:00 边界归属),列出「昨天及之前、有 commit 但无日志」的日期,逐日调用 generate_log.py 生成骨架,再按 SKILL_10b 补写微信通知和改动意义。不执行 git add/commit,不补齐今天。
将现代文本改写为司马迁《史记》文笔风格。 **触发场景**(主动使用): - 用户明确要求"用太史公文笔改写"、"以史记风格写..."、"太史公曰"、"列传体" - 用户要求将现代文本转为文言文,且强调古雅、简洁、有文史韵味 - 用户提供人物传记、历史事件、技术概念等素材,要求古风改写 - 用户询问"司马迁会怎么写这件事" **功能**: - 三层转换:现代名词古化 → 白话转文言 → 太史公风格 - 应用《史记》特有句式(开篇定式、层递并列、简短断言、对话穿插动作等) - 应用《史记》修辞(白描、先抑后扬、排比对仗、跳跃式剪辑等) - 可选输出"太史公曰"评论段(50-80字精简版) **不做什么**: - 不复述《史记》原文内容 - 不模拟司马迁的历史观点 - 不套用《史记》名句 - 只学习语言形式、句法结构、修辞节奏 本技能基于《史记》130篇语料分析,适用于人物传记、历史事件、技术概念等现代素材的古风改写。
| name | butler |
| description | 启动 shiji-kb 史记 Wiki 管家的永续 loop。每轮执行一个原子动作(W1选任务→W2执行→W3/W4评估→记账),完成后立即进入下一轮,无需用户逐轮确认。支持多实例并行(--instance/--focus)。 |
此 skill 明确授权以下操作,覆盖 CLAUDE.md 的通用限制:
git commit + git push(通过 /wiki skill)git add <明确路径>(单个文件,不得用 -A/.)| 参数 | 说明 | 示例 |
|---|---|---|
--instance <名> | 命名实例(太史令/列传家/注疏者/索隐者/刊行者) | --instance 注疏者 |
--focus <类型> | 专注任务类型(all/create/enrich/housekeeping/publish) | --focus enrich |
无参数启动 = 太史令模式(all,领取任意任务)。
多实例并发示例:
/butler --focus enrich --instance 注疏者 # agent A
/butler --focus create --instance 列传家 # agent B(同时启动)
1. 读取项目规范
cat skills/SKILL_W0_Butler总则.md ← 每次启动必读,了解不变量
cat wiki/logs/butler/round_counter.txt
cat wiki/logs/butler/queue.md
cat wiki/logs/butler/housekeeping_queue.md
2. ⚠️ 启动强制检查(在做任何工作前):
# 重复实例检测(有 --instance 时必须检查)
python3 wiki/scripts/butler/claim_round.py --check-only --instance <实例名>
若输出 DUPLICATE → 立即停止,勿启动
grep '"reflect-w5"' wiki/logs/butler/actions.jsonl | tail -1 ← 读 round 字段
cat wiki/logs/butler/round_counter.txt ← 当前 round
若 (当前 round - 上次 W5 round) > 50 → 立即执行 W5 反思,再进入工作循环
若未超 50 → 直接进入工作循环
3. 进入永续 loop(详见 W0 §六)
→ 领锁 → 选任务 → 注册页面 → 执行 → 评估 → 记账 → 释放锁 → 暂存 → 周期任务 → 立即下一轮
4. 每轮结束前输出一行摘要:
[R<轮次>][实例] <动作类型> | <页面名> | accept/fail | <一句描述>
# 步骤3a:领取轮次锁(每轮开始时必须调用)
ROUND=$(python3 wiki/scripts/butler/claim_round.py --instance <实例名>)
# 步骤3b:候选确定后注册目标页面
python3 wiki/scripts/butler/lock_manager.py set-page --round $ROUND --page <页面名>
# 步骤3c:写入前检测冲突
python3 wiki/scripts/butler/lock_manager.py check-page --page <页面名> --round $ROUND
# exit 1 = 冲突,跳过此页,换下一个候选
# 步骤3d:写入(add_page.py / edit_page.py)+ 记账
python3 wiki/scripts/butler/record_action.py \
--round $ROUND --action <类型> --page <页面名> --status accept \
--instance <实例名> --note "<描述>" --reflect "<观察>"
# 步骤3e:释放锁(每轮末尾必须调用,即使 fail/skip)
python3 wiki/scripts/butler/release_round.py $ROUND
周期任务(W5/publish)用 increment_round + --skip-lock-check:
ROUND=$(python3 wiki/scripts/butler/increment_round.py)
# ... 执行 W5 或 /wiki ...
python3 wiki/scripts/butler/record_action.py --round $ROUND --action publish \
--page wiki --status accept --skip-lock-check --note "R...→... × N页"
只有以下情况才停止循环(详见 W0 §六"暂停条件"):
每轮结束输出一行,格式(有实例名时带方括号标注):
[R10813][注疏者] enrich-biography | 韩信 | accept | 补全战役年表,散文2节
[R10814][列传家] create-page | 苏武 | accept | 从匈奴列传创建人物页
[R10815][索隐者] fix-links | 鸿门宴 | accept | 链接化曹无伤/项庄 2处
每 23 轮额外输出:
[R10823][刊行者] /wiki 发布 → commit abc1234 · R10801→10823 wiki更新 × 23页
/home/baojie/work/knowledge/shiji-kb
所有路径均相对于此目录。
| Skill | 触发方式 | 用途 |
|---|---|---|
/map PAGE [时代] | 页面 type=place 且 frontmatter 有 coords,需配谭图 | 自动裁切《中国历史地图集》;调用时必须加 --write(自动写 frontmatter + 记 revision),否则 Special:Recent 不可见 |
/quote PAGE | 需要补全 ## 史记引文 节 | 扫描实体标注文件,找实体级引用(非裸字符匹配),精确到年表行 |
/enrich PAGE [目标档] | 需要升级页面质量档位 | 诊断质量缺口(节/散文/引文/图),执行补充操作并验证 |
Butler 何时调用这些 Skill:
add-war-map:改为调用 map_page.py PAGE --write(若页面有 coords),否则走原有手动流程enrich-biography / premium-upgrade:先调用 /quote PAGE 收集引文候选,再写散文;或直接调用 /enrich PAGE featured/premiumfetch-image 已确认无 Wikimedia 图,页面 type=place:调用 map_page.py PAGE --write 作为替代配图方案