skillsmith 是做什么的?
根据一句话创意搭建符合规范的 Agent 技能,并对 SKILL.md 文件进行静态检查(涵盖命名规则、描述长度及“使用时机”、兼容性限制、元数据映射、正文长度及敏感信息泄漏)。
本技能的实际功能由 SkillSmith 仓库根目录下的零依赖 CLI 工具 cli.js 提供。
使用时机
- 用户希望为某个任务创建新技能(“做一个能……的技能”)。
- 用户想知道某个技能文件夹或 SKILL.md 是否符合标准,或者希望修复它。
步骤
- 要验证技能,运行
node <path-to-skillsmith>/cli.js validate <skill-dir>(支持同时传入多个文件夹)。返回码为 0 表示验证通过。 - 报告每条
error,并在用户的 SKILL.md 中修复它们:重命名为小写字母+连字符格式,确保文件夹名称与name一致,将description控制在 1024 字符以内并包含“Use when …”。然后重新执行步骤 1。 - 要创建技能,请确保已设置
GEMINI_API_KEY环境变量(切勿打印该密钥),然后运行:
node <path-to-skillsmith>/cli.js new "<功能描述及使用时机>" --out <skills-dir> --author "<作者名>"。 - 向用户展示生成的
SKILL.md,然后对新的文件夹执行步骤 1。根据需要编辑内容;CLI 不会覆盖已有的 SKILL.md。
示例
node cli.js validate skills/commitcraft skills/skillsmithnode cli.js new "总结一个 CSV 文件并建议图表。当用户分享一个 .csv 时使用" --out ./skills
注意事项
- 未知的顶层字段会触发警告;自定义数据应放在
metadata下。 - 规范建议正文不超过 500 行;较长的文档应移至
references/目录。