用途:标准化创建新的 Agent Skill,确保技能风格一致、易于发现并符合最佳实践。适用于三种情况:代理需要运行超出主提示长度的一系列脚本或命令;多个代理需要同一能力(如“Run UAT”);流程需严格遵循检查清单或脚本(如发布流程)。
硬性规则(必须):技能创建在 .github/skills/<skill-name>/ 下;名称用 kebab-case;技能名与父目录名完全一致;名称 1–64 字符,仅小写字母、数字、连字符;不以 - 开头或结尾,不含连续 --;包含具有有效 YAML frontmatter 的 SKILL.md;frontmatter 中的 description 最长 1024 字符;仅在需要时创建 scripts/ 和 templates/ 子目录;使用提供的 SKILL.md 模板;在 docs/agents.md 的“Available Skills”表中登记新技能。
禁止:在根 .github/ 目录创建技能;名称中使用空格或特殊字符;description 留空。
最佳实践:技能自包含,脚本与模板都放在自身文件夹内;渐进式披露,Copilot 仅在 description 匹配用户意图时加载技能正文,故描述要具体;验证时询问 Copilot“How do I ?”并确认其加载技能;尽量减少审批提示,偏好少量稳定的包装命令而非大量一次性命令,将相关操作批处理为单条命令,只读操作用编辑器工具而非 shell,复用仓库既有脚本(如 scripts/uat-*.sh),高风险流程(force-push、merge、删除分支)保持显式并加门控。
操作步骤:1) 收集信息——向用户询问技能名(简短、描述性、kebab-case,如 run-uat、deploy-docs)、描述(一句话说明作用及何时加载)、用途、审批计划(哪些命令、如何减少审批)。2) 创建目录结构,运行 mkdir -p .github/skills/<skill-name>,如需脚本或模板再加 mkdir -p .github/skills/<skill-name>/scripts 与 mkdir -p .github/skills/<skill-name>/templates。3) 创建 SKILL.md:从 .github/skills/create-agent-skill/templates/SKILL.md 复制到 .github/skills/<skill-name>/SKILL.md(cp .github/skills/create-agent-skill/templates/SKILL.md .github/skills/<skill-name>/SKILL.md),再替换占位符 {{skill-name}}、{{description}}、{{purpose}}。4) 更新文档:把新技能加入 docs/agents.md 的“Available Skills”表。5) 验证文件结构为 .github/skills/<skill-name>/ 下含 SKILL.md、scripts/、templates/。
参考资料:VS Code Agent Skills 官方文档(SKILL.md 格式、YAML frontmatter 字段、渐进式披露架构与示例);Agent Skills Standard 开放规范(正式 schema、与其他 AI 工具如 Claude、Cursor、OpenAI Codex 的互操作与集成指南);Agent Skills Specification(字段定义、校验规则与边界情况);示例仓库 anthropics/skills 与 github/awesome-copilot;实用指南“Teaching AI Your Repository Patterns”与 GitHub Changelog 公告。具体收费、价格与平台可用性暂未提供。