SuperAPI AI 工具集

claat-creator

写作与研究

查看项目

更新于 10-15 16:15

技能介绍

用途

claat-creator 用于把项目素材转换成 Google Codelabs 格式的操作手册(manual.md),并进一步生成 HTML。素材包括项目源代码、README、配置文件、既有文档、步骤备忘、日志、URL 等。整个流程从素材读取开始,经写作、日语检查、lint,到 HTML 生成与报告结束。

核心目标是让读者「中途不停手地走到最后」。读者被设定为「对该领域完全不了解的中学生」,因此写作以可复现、可核对为优先。

主要能力

素材驱动的写作

只写入可从素材确认的命令、路径、版本、输出。无法确认的内容不写;需要写入时先询问用户,或标记为「(未确认)」保留在草稿中。

读者与到达点定义

动笔前先明确三件事:读者是谁(已知什么、不知什么)、到达点(读完能做什么)、前提(需要提前准备的东西)。前提与步骤分开,不混为一谈。

步骤拆分

以「一个步骤 = 一个可确认的状态变化」为唯一标准。第一步骤固定为「目标与前提确认」,最后一步为「成果确认与联系方式」。Duration 用于检查拆分是否合理,超过 15 分钟的步骤通常包含了两个以上的状态变化。

写作规范

  • 一句一个动作
  • 先写「在哪里」
  • 专业术语首次出现时就地解释
  • 每个操作后写「成功时的状态」
  • 不用「这个」「这里」,直接写名称
  • 全程使用敬体(です・ます)

代码与图片的取舍

  • 需要复现的内容放进代码块,说明写在正文
  • 执行命令用 ```console,一行一条,不加 $ 或 > 提示符
  • 输出示例用 ```text
  • 不贴长文件全文,只展示要修改的行及其前后 2〜3 行
  • 图片只用于「指出点哪个」和「核对是否正确」,保存于 manual.md 同级 images/,用相对路径引用
  • 命令、路径、设置值、错误信息不插图

claat 特殊语法

  • 注意框:> aside positive / > aside negative,或直接写 <aside class="negative">
  • 下载按钮:<button>[Download SDK](https://example.com)</button>
  • 清单标题:### What you'll learn、### What we've covered、### Frequently asked questions 下的列表会渲染为清单(仅限英文字符串)
  • 表格、链接、列表按普通 Markdown 处理

日语检查

先做日语检查,再做 lint。做法:把 Duration: 行替换为空行生成副本,调用 natural-japanese skill 的 quick 模式,文档类型指定「社内指南・手册」、类型指定 tech。Windows 下如出现乱码,加 PYTHONIOENCODING=utf-8。检查结果作为「疑点提示」,逐条判断是修改还是保留并记录理由。

lint 校验

lint 本体包含在技能内(cmd/claat-tools/main.go),只用标准库,无需 go.mod,工作目录不限。命令:

go run <skill>/cmd/claat-tools/main.go lint path/to/manual.md

退出码含义:0 成功;1 输入 lint 错误;2 运行环境问题;其它为 claat 自身失败。需注意经 go run 时 shell 收到的 $? 失败时恒为 1,应读标准错误末行判断。诊断格式为 path:line:column: error CODE message。

HTML 生成

HTML 化委派给 PATH 上的 claat。如未安装,使用已验证版本:

go install github.com/googlecodelabs/tools/claat@v0.0.0-20240220115335-873fe39d02dc

生成命令:

go run <skill>/cmd/claat-tools/main.go build -output output path/to/manual.md

输出结构为 output/<id>/index.html 和 codelab.json。可用 -output / -o 更改输出目录。

报告

完成需满足三点:lint 退出码为 0;output/<id>/index.html 实际存在(如被要求生成 HTML);剩余待办已列表告知用户。需告知的内容包括:生成文件路径、lint 修改处及原因、未拍摄图片(哪个画面、放到哪个路径)、素材中无法确认而标注为未确认的记述、只能由用户决定的元数据(summary 文案、feedback link、analytics account)。

使用方式

入口选择

  • 只有素材(源码、README、备忘、URL):从 §1 开始
  • 手头有 .md(含未完成):先用 §6 的 lint 把握现状,再决定修补还是重写
  • .md 存在且 lint 通过:进入 §7 生成 HTML
  • 已有 HTML 但想改内容:改 .md,不动生成物

整体流程

素材 → 写作(§1-4)→ 日语检查(§5)→ lint(§6)→ HTML 生成(§7)→ 报告(§8)。如正文需大量补写,则回到 §4,再经 §5 后返回 §6。

顺序理由

  • 日语检查先于 lint:改日语会移动行号,可能破坏图片相对路径与 Duration 位置
  • lint 先于 build:build 在 lint 失败时即停止,先看全部诊断再统一修改可减少往返

适用场景

  • 从项目仓库素材生成教学式操作手册
  • 需要面向零基础读者的步骤文档
  • 需要产出 Google Codelabs 格式 HTML 的场合
  • 需要 lint 校验格式合规性的文档工程

限制

  • 不编造未验证的命令与步骤;无法确认的内容标为「未确认」或向用户询问
  • 元数据仅支持 7 个键:summary、id、categories、environments、status、feedback link、analytics account;tags、authors 等会触发 META002
  • id 仅允许 [A-Za-z0-9][A-Za-z0-9_-]*
  • environments 仅 Web / Kiosk,status 仅 Draft / Published / Deprecated / Hidden
  • 不编辑生成物(output/<id>/index.html),修改对象始终是 .md
  • 图片未齐时不停工,先完成不需要图片的部分,并附拍摄请求清单
  • 同一文档的返工以 2 个来回为上限,第 3 次通常说明问题在素材、环境或步骤本身
  • 未被要求时不提交或公开生成物
  • 技能信息中暂未提供具体的收费、价格、平台支持范围等细节