Install
openclaw skills install @cgartlab/cgartlab-person-profileUse when 老板要新增人物档案、维护人物档案、统一档案格式或补齐双向链。触发词:人物档案、建档、补链、统一格式。
openclaw skills install @cgartlab/cgartlab-person-profile一个独立的、通用的、可脱离特定知识库使用的人物档案 skill。
用于 AI agent 结构化地创建、维护、验证人物档案。核心承诺:每条事实可核验、每条判断可反驳、每份档案可自我证伪。
触发场景:
不用于:
quill)templates/person-archive.md(11 节完整模板,本 skill 内置)references/ 下有 8 份深度方法论(按需加载)scripts/ 下 5 份 Python 脚本(可直接运行)benchmarks/ 下 3 份高质量档案作为质量锚点模板与校验器的关系:
templates/person-archive.md是 11 节完整骨架,每节带 HTML 注释说明(落盘前删除);templates/person-archive-lite.md是 6 节精简子集,用于快速建档;templates/person-fragment.md提供补链 / 补章节的单节片段。三者都是起点模板,不要求自身通过validate_library.py全量校验(精简版缺章节属预期)。校验器以tests/fixtures/为 CI 基准(正例必须通过、反例必须被检出),不是以模板为基准。
知识库路径参数:--library-root 参数指定档案库根目录。默认当前工作目录。
本 skill 默认对接 cgartlab-obsidian 知识库,也可替换 frontmatter 规范用于其他环境。
| 项目 | 默认值 |
|---|---|
| 档案目录 | 03-资源/人物/ |
| 索引文件 | 03-资源/人物/人物-README.md |
| frontmatter type | reference |
| frontmatter tags | 资源/人物 |
| 必填字段 | title、type、description、tags、created、updated |
| 知识库校验 | node scripts/check-frontmatter.mjs(管 type / tags / 日期) |
| skill 校验 | python scripts/validate_archive.py(管 11 节 + 写作纪律) |
两套校验分工:
check-frontmatter.mjs 校验 type 是否在允许枚举、tags 前缀是否为 资源/、created/updated 是否为合法日期。它不检查章节结构。validate_archive.py 校验 11 节齐全、顺序、标题级别、禁词、破折号、author: ChatGPT 残留。它不重复校验 type/tags。读写方式:
obsidian read path="03-资源/人物/某人.md" 或直接读文件。03-资源/人物/,再跑两套校验。templates/person-fragment.md。若用于非 Obsidian 环境:把 frontmatter 的 type / tags 改为目标系统约定值,或直接删除;校验时用默认的 --profile generic(不强制 frontmatter 字段),其余 11 节结构与写作纪律不变。档案文件可放在任意普通文件夹,脚本从任何工作目录用绝对路径调用均可。
[1] 立项澄清 → 必答 3 问,不澄清不开工
[2] 前置研究 → 委派 3-5 路并行搜索
[3] 起草 → 严格按模板 11 节 + 写作纪律
[4] 补双向链 → 扫描全库,按类型追加条目
[5] 更新索引 → 目录 README 计数与分类更新
[6] 格式统一 → 全库校验,全通过才算完成
[7] 交付 → Conventional Commits + 验收清单
任何新增档案前,必须向老板澄清 3 个问题。不问就开工是违规。
| 问 | 目的 | 常见答案 |
|---|---|---|
| 1. 档案定位 | 主线是什么?(1 句话) | "自媒体创作" / "技术写作" / "产品方法论" |
| 2. 信息源范围 | 挖多深? | "全网" / "只用官方" / "含第三方批评" |
| 3. 交付形态 | 新建还是补现有? | "同规格新增" / "补入已有" |
为什么必问:阮一峰档案起草前,任务起点给的"2007 年创建博客 / 2014 年创刊周刊"全是错的(实际是 2003-12 和 2018-04-23)。不问定位就开工,起点错一步、下游全错。
委派 3-5 路并行研究子任务(用当前 harness 的 subagent / 委派工具):
| 子任务 | 目标 | 输出 |
|---|---|---|
| 生平与教育履历 | 出生、教育、职业转折、居住地 | 事实清单 + URL + 访问日期 |
| 商业化与争议 | 变现方式、立场演变、争议事件 | 争议时间线 + 各方立场 |
| 传播与内容策略 | 平台覆盖、粉丝规模、传播路径 | 硬数字 + 一手 URL |
| 时间线与主要作品 | 出版物、里程碑言论、代表作 | 按时间排序的作品清单 |
关键约束:
references/evidence-grading.md)11 节固定结构(顺序不可变):
章节标题必须 ## 级别,不能用 # 或 ###。
15 条硬规矩(写作时逐条对,详见 references/writing-style.md):
结构类:
标点与句式:
3. 禁破折号(——、—、–);年份区间用半角连字符
4. 提示性冒号只用于引出人物直接原话
5. 禁翻案腔「不是 A 而是 B」
6. 禁商业黑话(闭环 / 赋能 / 抓手 / 底层逻辑 / 复利 / 范式 等)
7. 禁模型路标词(值得注意的是 / 本质上 / 由此可见 / 总之)
8. 禁借喻清单(仓库 / 抽屉 / 温度 / 坍塌 / 浪潮 / 钥匙 / 底座)
证据纪律: 9. 每条事实可点开核验;抓不到写「未取得」,不构造 URL 10. 查不到的东西标「待核实」+ 同句写清原因 11. 证据身份 5 级分级写进可信度章节 12. 引号内一个字都不能动
判断纪律: 13. 核心价值观至少 1 条具体、可被反驳的判断 14. 判断写完做反例审查;反例只能取自档案已有材料 15. 关系可查 ≠ 影响双向;单向影响如实标注
长度参考:
benchmarks/dan-koe.md(278 行)、benchmarks/ruanyifeng.md(294 行)、benchmarks/esor-huang.md(289 行)新增档案 A 后,扫描全库找需要链到 A 的档案。
6 类关系(固定):
补链操作规范:
- **[[A]]|类型(说明)。** 一段说明文字判断补链规则:
人物-README.md)- [[人名]]|一句话主线)每次新增档案都要跑一次全库校验。使用内置脚本:
python scripts/validate_library.py <library-root>
校验项:
##author: ChatGPT 残留批量修改规则:
Conventional Commits:
docs(人物): 新增 XXX 档案 + 统一标题级别为 ## + 补关系网络双向链
- 新增:XXX.md(N 行 / M KB)
- 格式统一:X 份档案 Y 处标题从 # 改为 ##
- 补双向链:A / B / C / D 各补 [[XXX]] 条目
- 索引更新:人物-README.md 从 N 份更新为 N+1 份
所有档案现严格符合 11 节结构、无 AI 残留、无非模板章节。
分支命名:
feat/人物-XXXchore/unify-person-archiveschore/backfill-links-persondocs/人物-XXX-and-unify每次完工逐条对:
##author: ChatGPTtype: reference、tags: [资源/人物]、created、updated(知识库规范)check-frontmatter.mjs 与本 skill validate_archive.py 双校验通过历史原因,部分老档案可能没有「关系网络」章节。
处理:
##quill — 长段落论述字段写作obsidian-cli — 知识库读写(obsidian read/create/append)| 场景 | 打开文件 |
|---|---|
| 起草新档案 | templates/person-archive.md |
| 想理解 5 级证据分级 | references/evidence-grading.md |
| 想理解 11 节顺序为什么 | references/chapter-rationale.md |
| 想批量校验库 | scripts/validate_library.py |
| 想理解为什么禁破折号 | DESIGN.md |
| 想看质量锚点 | benchmarks/ |