用途
Skill Creator 是 /Users/dobby/GitHub/agents 仓库中用于管理智能体技能生命周期的规范技能。它吸收了旧的 skill-router 角色,将技能放置决策、注册表归属、创建、推广、刷新、同步与验证整合到同一个工作流中。适用于需要创建、更新、路由、采用、推广、导入、验证、注册与分发智能体技能的开发场景。
主要能力
- 放置决策:为技能选择外部(external)、自有(owned)、仓库本地(repo-local)或休眠(dormant)范围。
- 创建与编辑:搭建新技能目录,编写 SKILL.md,管理脚本、参考文档与资源文件。
- 注册与分发:维护 skills/registry.json 作为唯一映射清单,更新注册表与分发配置。
- 验证与检查:验证技能文件夹,运行引导与检查命令。
- 导入外部技能:通过 bootstrap 辅助脚本从 skills.sh URL 或上游引用导入技能。
- 推广本地技能:将仓库本地技能推广为受管理的自有技能。
- 生成 OpenAI UI 元数据:生成或更新 agents/openai.yaml。
使用方式
首先在工作于该仓库时优先应用 /Users/dobby/GitHub/agents/AGENTS.md。若当前仓库不是 /Users/dobby/GitHub/agents,需决定放置位置并列出确切的控制平面更改,除非用户明确要求编辑 agents 仓库。
编辑规范源文件,而非 .agents/skills、.claude/skills 或 ~/.agents/skills 下生成的运行时符号链接。保持 skills/registry.json 作为唯一映射清单。
在编写大量新的 SKILL.md、选择捆绑资源、拆分参考文档或评审技能质量前,阅读 references/skill_design.md。更新 skills/registry.json、导入外部技能、推广仓库本地技能或选择确切的引导/检查命令时,阅读 references/control_plane_lifecycle.md。创建或更新 agents/openai.yaml 前,阅读 references/openai_yaml.md。
放置决策规则:源来自上游且应保持可刷新时使用 external;技能本地创作且应跨一个或多个仓库复用时使用 owned;技能特定于一个仓库且应留在该仓库时使用 repo-local。使用 managed scope: dormant 时,源应保持被跟踪但不链接到任何运行时。默认使用最窄的有用范围,优先选择 scope: repo 或 dormant 而非 global。
标准工作流:理解预期用途并使用具体示例;使用上述决策规则路由放置位置;对于大量或脆弱的技能,在编写大量说明前定义 2-3 个真实评估提示;规划可复用资源(脚本用于确定性/重复操作,参考文档用于按需加载的上下文,资源文件用于输出文件/模板);创建或编辑规范技能源;生成或更新 agents/openai.yaml;验证技能文件夹;当技能由此仓库管理时更新注册表/分发;运行必需的引导/检查命令;根据真实使用迭代并更新持久说明。
创建受管理的自有技能时,在 /Users/dobby/GitHub/agents/skills-source/owned 下搭建脚手架:
python3 /Users/dobby/GitHub/agents/skills-source/owned/skill-creator/scripts/init_skill.py <skill-name> --path /Users/dobby/GitHub/agents/skills-source/owned
仅对技能实际需要的资源目录使用 --resources scripts,references,assets。仅当占位示例有帮助时使用 --examples,并在完成前删除所有占位符。搭建后:替换 SKILL.md 中的 TODO;仅添加有用的脚本、参考文档或资源;通过运行测试添加的脚本;使用显式接口值生成 agents/openai.yaml;使用 scripts/quick_validate.py 验证;添加具有最窄有用范围的受管理自有注册表条目;运行引导/检查。
更新现有技能时:除非用户要求重命名,保留技能名称;frontmatter 严格保持 name 和 description;将所有触发/使用信息放入 frontmatter description,正文仅在技能触发后加载;保持 SKILL.md 精简,将详细变体、模式、示例和长策略移至 references/ 下直接链接的文件;信息保持在一处,不要在 SKILL.md 和 references 之间重复详细指导;当技能范围或用户可见行为变化时重新生成 agents/openai.yaml;编辑后运行验证。
导入外部技能时,当用户提供 skills.sh URL 或上游引用且无需特殊处理时,优先使用规范引导辅助脚本:
cd /Users/dobby/GitHub/agents ./scripts/bootstrap-skill.sh <skills.sh-url-or-upstream-ref> --repo <repo> --apply
仅对应从上游保持可刷新的技能使用受管理外部条目。若导入的技能成为本地基础设施或有意偏移,将其采用到 skills-source/owned/<skill> 并将 upstream_ref 改为 "-"。
仓库本地与推广:当技能特定于一个仓库时,保持在 <repo>/.agents/skills/<skill>;在 unmanaged_repo_local_skills 中记录仓库本地技能以供可见性;当仓库本地技能变得可复用或需要集中分发时,推广为受管理自有技能;对于仓库范围的受管理技能,优先使用 scope: repo,仅当属于小型默认套件时使用 global。
注册表与分发:当 skills/registry.json 更改时,在同一更改中运行同步/检查:
cd /Users/dobby/GitHub/agents ./scripts/bootstrap-machine-agent-control-planes.sh --apply ./scripts/check-fast.sh
仅在有意限制仓库范围运行时使用范围化引导/检查:
cd /Users/dobby/GitHub/agents ./scripts/bootstrap-machine-agent-control-planes.sh --apply --repo <repo-root> ./scripts/check-agent-control-planes.sh --repo <repo-root>
如果引导创建了受跟踪的仓库本地链接,将这些生成的链接与规范技能源和注册表更改一起暂存。不要仅因生命周期钩子触及它们而暂存无关的会话内存或进行中的工作文件。
验证命令:验证单个技能:
python3 /Users/dobby/GitHub/agents/skills-source/owned/skill-creator/scripts/quick_validate.py /path/to/skill-folder
捆绑的 Python 脚本需要 PyYAML 进行 YAML 解析。如果 import yaml 失败,在更改脚本行为前安装或修复本地 Python 依赖。
重新生成 OpenAI UI 元数据:
python3 /Users/dobby/GitHub/agents/skills-source/owned/skill-creator/scripts/generate_openai_yaml.py /path/to/skill-folder --interface display_name="..." --interface short_description="..." --interface default_prompt="Use $skill-name to ..."
安全规则
不要手动编辑渲染的运行时链接或生成的仓库本地控制平面表面。除非用户明确要求,不要向技能添加 README、变更日志、安装指南或其他辅助文档;技能应仅包含智能体完成工作所需的内容。除非明确要求,不要添加兼容性垫片或旧版回退。将临时产物保留在所属仓库的 tmp/ 目录下,并在完成前删除一次性草稿文件。
适用场景与限制
适用于需要集中管理多个仓库技能资产、维护注册表映射及分发机制的开发场景。需要 PyYAML 依赖。具体支持的操作系统平台暂未提供。