2.4 KiB
2.4 KiB
skill-template 工具
推荐:脚手架创建新技能
不要用资源管理器整文件夹复制 skill-template(会带走隐藏 .git,导致 push 串库)。
Windows 首选:
cd D:\OpenClaw\client-commons\skill-template
.\tools\scaffold_skill.ps1 -Slug my-new-skill -Destination D:\OpenClaw\client-gdcm\my-new-skill
跨平台(Python 3.10+):
python tools/scaffold_skill.py --slug my-new-skill --destination /path/to/my-new-skill
脚本行为:
- 复制模板到
-Destination(目录末段须与-Slug一致) - 排除:
.git、.pytest_cache、__pycache__、.env、.env.local、*.pyc - 删除目标中的
.openclaw-skill-template标记 - 将文本文件中的
your-skill-slug替换为新 slug(含assets/actions.json、SKILL.md、constants.py等) - 不自动修改
actions.json中的 CLI 业务命令;技能作者自行增删 action - 不自动
git init;打印后续 Git 与测试命令
目标目录若已存在且非空,需加 -Force / --force(且目标不得含 .git)。
脚手架复制后必须保留 / 修改 / 可删除的文件
| 文件 | 说明 |
|---|---|
assets/actions.json |
默认复制;不需要宿主 Action 入口时可删除 |
references/ACTIONS.md |
契约文档;无 actions.json 时可保留作参考或按需精简 |
assets/schemas/skill-actions.schema.json |
manifest 规范;无 action 时可保留 |
tests/test_actions_manifest.py |
若删除 actions.json,应同步删除或改写此测试 |
tests/test_data_management_contract.py |
通用契约测试;建议保留,按需扩展本技能表结构测试 |
demo_items 等示例表仅存在于模板测试中,不会作为 scaffold 后的默认业务表复制进新技能。
手工复制后的补救
若已整目录复制,必须先清理再初始化:
cd <新技能目录>
Remove-Item -Recurse -Force .git
Remove-Item -Recurse -Force .pytest_cache -ErrorAction SilentlyContinue
Remove-Item -Force .openclaw-skill-template -ErrorAction SilentlyContinue
git init
git remote add origin <新技能仓库 URL>
git remote -v
确认 origin 不是 skill-template 的远端 URL。
模板标记
源仓库根目录有 .openclaw-skill-template(仅 template 保留)。业务技能不得保留该文件;tests/test_scaffold_guard.py 会守护。