关于 schema-normalizer
schema-normalizer 用于规范化研究流程中的 JSONL 工件,减少字段漂移造成的脆弱关联和解析。它依据大纲补齐 ID 与标题,并统一引文键格式,同时生成规范化报告。
主要功能
- 01依据大纲补齐 ID 和标题
- 02统一原始 BibTeX 引文键格式
- 03原位规范化 JSONL 文件
- 04更改时创建备份
- 05生成通过或失败报告
适用场景
- 01写作前统一研究工件字段
- 02减少 JSONL 工件间的关联差异
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ willoscar/ research-units-pipeline-skills --skill schema-normalizer安装后在 Claude Code 中输入/schema-normalizer确认已加载。
附带文件scripts/run.py
详细介绍
模式规范化器(无说明文字)
触发条件与路由
- 触发条件:模式规范化、JSONL 合约、接口漂移、连接漂移、字段不一致、模式规范化。
- 适用场景:你已生成 C2-C4 JSONL 工件(大纲/简报/绑定/数据包/锚点),希望在自循环/写作之前获得确定且稳定的字段。
用途:解决以技能为先的流水线中一种常见故障模式:JSONL 工件之间的模式漂移。
字段不一致时(例如缺少 ID/标题、引用键格式混杂),下游技能会开始尽力连接数据,并进行脆弱的解析。 此技能会让接口明确且确定。
输入
outline/outline.yml(章节/小节 ID 和标题的事实来源)- 可选(用于检查引用键):
citations/ref.bib - 默认要规范化的 JSONL 工件(arxiv-survey(-latex) C4 桥接数据):
outline/subsection_briefs.jsonloutline/chapter_briefs.jsonloutline/evidence_bindings.jsonloutline/evidence_drafts.jsonloutline/anchor_sheet.jsonl
- 可选(生成写作数据包后运行):
outline/writer_context_packs.jsonl
输出
output/SCHEMA_NORMALIZATION_REPORT.md(始终会写入;包含 PASS/FAIL 和变更内容)- 处理过的 JSONL 文件会在原处规范化(应用更改时会创建
.bak.*文件)。
规范化内容
1) ID 和标题(连接键)
对于任何包含 sub_id: "<H2>.<H3>" 的记录:
- 确保存在
section_id(从点号前的前缀派生) - 确保存在
title、section_title(从outline/outline.yml填充)
对于任何包含 section_id: "<H2>" 的记录:
- 确保存在
section_title(从outline/outline.yml填充)
2) 引用键格式(减少解析漂移)
在这些 C2-C4 JSONL 工件中,将引用键规范化为原始 BibTeX 键(不带 @ 前缀):
"citations": ["smith2023", "jones2024"]
注意:
- 最终文本仍使用 Markdown 引用:
[@smith2023]。 - 此技能不会添加/删除引用;只会规范化格式。
运行时机
在 arxiv-survey(-latex) 中的推荐位置:
- 在
evidence-draft和anchor-sheet之后、writer-context-pack和evidence-selfloop之前运行。 - 这样可以确保在构建写作数据包之前,
outline/evidence_drafts.jsonl和outline/anchor_sheet.jsonl的模式稳定。
故障模式
- 如果缺少
outline/outline.yml或无法解析,该技能会失败。 - 如果任何目标 JSONL 文件包含无效 JSON 行,该技能会报告这些行并失败(不要继续处理已损坏的工件)。
脚本(可选)
快速开始
uv run python .codex/skills/schema-normalizer/scripts/run.py --help- 规范化 C4 桥接工件:
uv run python .codex/skills/schema-normalizer/scripts/run.py --workspace <workspace>
所有选项
--workspace <dir>--unit-id <U###>--inputs <semicolon-separated>--outputs <semicolon-separated>--checkpoint <C#>
示例
-
规范化默认的 C4 工件(ID/标题和引用格式):
uv run python .codex/skills/schema-normalizer/scripts/run.py --workspace <workspace> --inputs outline/outline.yml;citations/ref.bib;outline/subsection_briefs.jsonl;outline/chapter_briefs.jsonl;outline/evidence_bindings.jsonl;outline/evidence_drafts.jsonl;outline/anchor_sheet.jsonl --outputs output/SCHEMA_NORMALIZATION_REPORT.md
-
同时规范化写作数据包(若在运行
writer-context-pack后执行):uv run python .codex/skills/schema-normalizer/scripts/run.py --workspace <workspace> --inputs outline/outline.yml;citations/ref.bib;outline/writer_context_packs.jsonl --outputs output/SCHEMA_NORMALIZATION_REPORT.md
评论
支持 Markdown