ctx-日记标准化Skill ctx-journal-normalize

ctx-日记标准化技能是一款用于自动修复和重构AI对话日志Markdown格式的工具。它专门解决代码块嵌套、元数据表格渲染、列表损坏等格式问题,确保日志站点能正确显示代码高亮和结构化内容。适用于AI对话记录整理、技术文档格式化、日志系统维护等场景。关键词:Markdown标准化,代码块修复,AI日志格式化,元数据表格,文档自动化,ctx工具链。

DevOps 0 次安装 0 次浏览 更新于 2/27/2026

名称: ctx-journal-normalize 描述: “将日记源Markdown标准化以实现清晰渲染。在ctx journal site显示渲染问题后使用:代码块嵌套、元数据格式、列表损坏。”

从剥离的纯文本重建干净的Markdown日记条目。

标准化前准备

  1. 先导出:运行ctx recall export --all(或make journal) 以便有日记文件可进行标准化
  2. 检查是否需要:如果日记站点渲染清晰,则跳过此步骤

何时使用

  • ctx journal site显示渲染问题后
  • 当日记条目存在代码块嵌套问题(无代码高亮)
  • 当元数据块渲染为原始**键**: 值而非表格时
  • 在运行/ctx-journal-enrich之前(干净的Markdown可改进提取)

何时不使用

  • 对已标准化的条目(检查.state.json
  • 当站点渲染正确时(不要修复未损坏的内容)
  • 对非日记Markdown文件(此技能特定于日记)

使用示例

/ctx-journal-normalize
/ctx-journal-normalize twinkly-stirring-kettle
/ctx-journal-normalize --compact

架构

ctx journal site从站点副本中剥离所有代码块标记, 消除嵌套冲突。结果是可读的纯文本,并保留了结构标记。 此技能更进一步:它在源文件中重建适当的Markdown, 以便站点渲染时具有代码高亮和正确的格式。

输入格式

源日记条目具有以下结构标记:

  • 回合边界:### N. 角色 (HH:MM:SS)
  • 工具调用:工具名称: 参数(单独一行)
  • 工具输出:跟随工具输出回合标题的块
  • 章节分隔:---
  • 前置元数据:文件开头的---分隔符之间的YAML

输出规则

  1. 代码块:始终使用反引号块,而非波浪号。 最内层代码使用3个反引号。每个嵌套级别增加1个。 切勿嵌套相同数量的块。
  2. 元数据**键**: 值块变为折叠的<details> 包含<table>。摘要来自日期/持续时间/回合数/模型。
  3. 工具输出:当> 10行时,折叠为 <details><summary>N行</summary>
  4. 列表:每级缩进2个空格。续行与列表项缩进匹配。
  5. 不发明内容:输出中的每个词都必须追溯到输入。 仅更改结构。

模式

默认(无损):仅重新格式化。保留所有内容。

紧凑模式(当用户请求--compact或“compact”时): 可以总结> 50行的工具输出;保留前/后5行,并带有 ... (省略N行)。在继续之前向用户标记此操作。

处理流程

  1. 先备份cp -r .context/journal/ .context/journal.bak/
    • 在修改前始终备份;文件可能包含用户编辑
    • 告诉用户备份位置
  2. 识别要标准化的文件:
    • 如果用户指定文件/模式,则使用该文件
    • 否则,扫描.context/journal/*.md
    • 跳过已标准化的文件:通过检查状态文件:
      ctx journal mark --check <文件名> normalized
      
      或直接读取.context/journal/.state.json并跳过 设置了normalized日期的条目。
  3. 逐回合处理文件(不要一次性处理整个文件; 大文件会超出上下文):
    • 根据输出规则修复代码块嵌套、元数据、列表
  4. 写回修复后的文件
  5. 在状态文件中标记为已标准化
    ctx journal mark <文件名> normalized
    
    在验证代码块嵌套正确后,也标记代码块:
    ctx journal mark <文件名> fences_verified
    
  6. 重新生成站点:ctx journal site --build
  7. 报告更改内容并提醒用户备份位置

幂等性

处理状态在.context/journal/.state.json中跟踪(不在 行内HTML注释标记中)。两个阶段:

  • normalized:元数据表格完成。在重新运行时跳过元数据转换。
  • fences_verified:代码块重建完成。 ctx journal site中的stripFences仅跳过设置了此阶段的文件。

没有fences_verified的文件在站点副本中会剥离所有代码块 (可读但无代码高亮)。在验证代码块嵌套正确后标记此阶段。

范围

  • 操作源文件.context/journal/
  • 更改持久化;无需重复标准化
  • 保留所有实质性内容;仅修复格式