com um clique
quote
// 为 shiji-kb wiki 页面补全「史记引文」节。搜索实体标注文件中对该页面实体的真实引用(而非裸字符匹配),展开已知 PN 的完整段落,过滤已引,输出新增候选。当用户说 /quote PAGE 时触发。
// 为 shiji-kb wiki 页面补全「史记引文」节。搜索实体标注文件中对该页面实体的真实引用(而非裸字符匹配),展开已知 PN 的完整段落,过滤已引,输出新增候选。当用户说 /quote PAGE 时触发。
启动 shiji-kb 史记 Wiki 管家的永续 loop。每轮执行一个原子动作(W1选任务→W2执行→W3/W4评估→记账),完成后立即进入下一轮,无需用户逐轮确认。支持多实例并行(--instance/--focus)。
根据 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 页面从谭其骧《中国历史地图集》自动裁切历史地图截图,并生成 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 | quote |
| description | 为 shiji-kb wiki 页面补全「史记引文」节。搜索实体标注文件中对该页面实体的真实引用(而非裸字符匹配),展开已知 PN 的完整段落,过滤已引,输出新增候选。当用户说 /quote PAGE 时触发。 |
/quote PAGE → 查找并补全该页面的史记引文
第一步:运行脚本(获取候选引文)
从仓库根运行:
python3 .claude/skills/quote/scripts/quote_page.py PAGE
# 限制输出条数(高频词地名可能有上百条)
python3 .claude/skills/quote/scripts/quote_page.py PAGE --max 30
脚本逻辑:
type、label、pn、aliasestype 生成实体搜索正则(地名用 〖=NAME〗,人名用 〖@NAME〗 或 〖@DISPLAY|NAME〗,国名用 〖◆NAME〗)chapter_md/*.tagged.md,找实体标注出现的段落号pn: 字段中的 PN 也一并展开(即使尚无对应引文)第二步:评估候选、取舍
候选列表可能很长(高频地名有几十条),需要按以下标准取舍:
| 保留 | 跳过 |
|---|---|
| 该实体是段落叙述的主角/核心 | 仅路过性提及("经过X"、"至X而还") |
| 有具体历史事件 | 年表流水账(仅时间+事件列举,无叙述) |
| 与页面主题直接相关 | 同名异地/同名异人(注意辨别) |
| 引文简短、完整(<150字为佳) | 超长段落(>300字)且核心内容少 |
第三步:读取页面,更新史记引文节
读页面现有 ## 史记引文 节,append-only:
> 出自 开头),只在最后追加新条目> 出自 [[NNN_章节名|章节名]] (NNN-N):原文……(150字以内,超长可截断加"……")
第四步(可选):更新 pn 字段
如果脚本发现的重要 PN 不在 frontmatter pn: 里,可追加到 pn: 字段。
第五步:记录修订(必须)
python3 wiki/scripts/butler/record_revision.py PAGE \
--summary "quote: 补引文N条(章节名/章节名...)" \
--author quote
只要实际向页面写入了新引文,此步骤不得省略。
| page type | 搜索正则 | 示例 |
|---|---|---|
| place | 〖=NAME〗 | 〖=邯郸〗 |
| person | 〖@NAME〗 或 〖@.*|NAME〗 | 〖@蔺相如〗 〖@相如|蔺相如〗 |
| state | 〖◆NAME〗 | 〖◆赵〗 |
| role/title | 〖;NAME〗 | 〖;丞相〗 |
| story/event | 不做实体扫描,仅展开已知 pn | — |
r 型 PN(如 019-r85)是表格行,不在句子索引,脚本跳过,无需手动追加### 章节 (chap-N) [PN:[N]] 格式(kg/events 导入风格)或 > 出自 风格,两种都算"已引",不重复添加