1.6 KiB
1.6 KiB
技能形态与自检清单(无业务)
开发前先选定形态,避免把「编排、存储、浏览器」混在一个脚本里难以测试。
类型 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时行为已文档化 - 不向仓库提交用户数据、密钥、大型二进制
- 错误信息包含「如何修复」(缺什么环境变量、缺哪个依赖)