Files
skill-template/docs/SKILL_TYPES.md

1.6 KiB
Raw Blame History

技能形态与自检清单(无业务)

开发前先选定形态,避免把「编排、存储、浏览器」混在一个脚本里难以测试。

类型 A无状态工具型

  • 特征:不持久化用户数据,或只读配置文件;输入输出主要在 stdin/stdout。
  • 数据目录:通常不需要 CLAW_DATA_ROOT 下的专属库;若需要缓存,仍建议放在契约目录下。
  • 自检:离线可跑;health 不访问网络也可成功。

类型 B本地持久化型

  • 特征:使用 SQLite、本地文件等保存用户数据。
  • 数据目录:必须使用 {CLAW_DATA_ROOT}/{CLAW_USER_ID}/{skill_slug}/
  • 自检:首次运行自动建库/建表;文档中说明库文件路径与备份方式。

类型 C编排型调用其它技能或外部 CLI

  • 特征:自身逻辑薄,主要 subprocess 或 HTTP 调用其它组件。
  • 依赖:在 SKILL.md 中明确写出先决条件(兄弟技能已安装、某 CLI 在 PATH 等)。
  • 自检health 可检查兄弟可执行文件是否存在;缺失时打印清晰错误。

类型 D混合型

  • 特征:既有本地存储,又调用外部能力。
  • 建议:拆模块(存储 / 编排 / 领域逻辑),入口脚本只做参数解析与调度。

发布前通用自检

  • SKILL.md 中触发条件与示例命令与实际入口一致
  • 未注入 CLAW_DATA_ROOT / CLAW_USER_ID 时行为已文档化
  • 不向仓库提交用户数据、密钥、大型二进制
  • 错误信息包含「如何修复」(缺什么环境变量、缺哪个依赖)