mcpField
S
schema-normalizer

schema-normalizer

github.com/willoscar数据与数据库51740 次安装3 周前更新
代码仓库

关于 schema-normalizer

schema-normalizer 用于规范化研究流程中的 JSONL 工件,减少字段漂移造成的脆弱关联和解析。它依据大纲补齐 ID 与标题,并统一引文键格式,同时生成规范化报告。

主要功能

  1. 01依据大纲补齐 ID 和标题
  2. 02统一原始 BibTeX 引文键格式
  3. 03原位规范化 JSONL 文件
  4. 04更改时创建备份
  5. 05生成通过或失败报告

适用场景

  1. 01写作前统一研究工件字段
  2. 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.jsonl
    • outline/chapter_briefs.jsonl
    • outline/evidence_bindings.jsonl
    • outline/evidence_drafts.jsonl
    • outline/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