快速入门:为GitHub Copilot现代化创建和应用自己的技能

本快速入门介绍如何在使用GitHub Copilot现代化时创建和应用自己的自定义技能。

GitHub Copilot现代化支持自定义技能,以便将组织知识编码为自定义库升级、配置更新、强制实施编码标准等。 还可以将现成Microsoft任务复制到自定义技能中,以根据需要进行调整。 可以重复使用、共享和改进自定义技能,以提高团队的效率。

注释

如果以前使用过自定义任务(存储在项目或Visual Studio Code用户数据的 .github/appmod/custom-tasks/ 中)则扩展会在首次加载时自动将它们迁移到项目的新 .github/skills/ 位置。

Prerequisites

注释

Azure帐户仅用于将资源部署到Azure,在使用GitHub Copilot现代化进行代码更改时不需要。

如果使用 Gradle,则仅支持 Gradle 包装器版本 5 或更高版本。

不支持 Kotlin 域特定语言(DSL)。

IntelliJ IDEA 尚不支持该函数 My Skills 。

创建自己的技能

使用以下步骤创建自定义技能。

定义技能信息

  1. 在 Activity 边栏中, 打开 GitHub Copilot 现代化扩展窗格,将鼠标悬停在 TASKS 节上,然后选择 创建自定义技能。

    Visual Studio Code 的屏幕截图,其中显示了 GitHub Copilot 的现代化,并突出显示了“创建自定义技能”按钮。

  2. 此时会打开一个 SKILL.md 文件。 填写以下字段。 有关完整的技能格式规范,请参阅 代理技能规范。

    • 技能名称:技能的描述性连字符标识符。 例如,“Custom-skill-migrate-rabbitmq”。
    • 技能说明:技能用途的简明摘要。 例如,“将 RabbitMQ 消息传送迁移到 Spring Boot 应用程序的Azure 服务总线”。
    • Skill Content:指导代码迁移期间Copilot的详细说明。 可以在此字段中按名称引用 “资源 ”部分中的文件。 例如,“你是 Spring Boot 开发人员助理,请按照 guide.md 从 RabbitMQ 迁移到 Azure 服务总线。

添加资源

资源提供Copilot应用技能时使用的参考知识。 选择 “添加资源 ”并选择资源类型:

  • 文件:选择包含迁移说明、配置示例或其他参考资料的各个文件。 要将 Git 提交的差异文件作为资源包含,请选择相应的差异文件。

  • 文件夹:选择一个文件夹以包含其中的所有文件作为资源。 当参考知识跨越多个相关文件时,此选项非常有用。

    Visual Studio Code的截图,显示了GitHub Copilot的现代化自定义技能,并高亮显示了“添加资源”按钮。

所选文件将被复制到项目中的 .github/skills/<skill-name>/。 资源文件和文件夹存储在技能文件夹中的 SKILL.md 一起。 总资源大小有限。 请务必在 Skill Content 字段中按名称引用这些文件或文件夹,以便Copilot知道何时使用这些文件。

保存技能

完成所有字段并添加资源后,选择“ 保存”。 自定义技能显示在 “我的技能 ”部分中。

共享自己的技能

通过从项目复制其文件夹来与他人共享技能:

  1. 复制位于下面的 .github/skills/ 技能文件夹,并将其与预期收件人共享。

    Visual Studio Code的截屏,显示复制一个技能文件夹。

  2. 在收件人的一侧,将文件夹放在项目根目录中 .github/skills/ 。 创建目录(如果不存在)。

  3. 在扩展窗格中选择“ 刷新 ”。 技能显示在 “我的技能 ”部分中,可供使用。

应用自己的技能

使用以下步骤应用自己的技能:

  1. 选择文件底部的SKILL.md,或在“我的技能”部分找到技能,然后选择“运行技能”。

  2. Copilot聊天窗口在代理模式下打开,并自动执行以下步骤:

    1. 创建 plan.md 和 progress.md。
    2. 检查版本控制状态并签出新的迁移分支。
    3. 执行代码迁移。
    4. 针对构建、单元测试、CVE、一致性检查和完整性检查运行验证和修复。
    5. 生成 summary.md 文件。
  3. 如果代理暂停进行确认或被中断,请输入继续以继续。

  4. 完成所有步骤后,查看代码更改,然后选择“ 在 聊天窗口中保留”进行确认。

复制到“我的技能”

如果要自定义Microsoft任务,可以将它导出到 My Skills 作为起点,然后对其进行修改以满足你的需求:

  1. 在 TASKS 部分中,找到要自定义的Microsoft任务。

  2. 右键单击该项,然后选择“ 复制到我的技能”。

    Visual Studio Code的屏幕截图,显示将Microsoft任务复制到My Skills。

  3. 此时会打开一个新 SKILL.md 文件,预填充所选项中的内容。 根据需要编辑技能名称、说明、内容和资源字段。

  4. 选择“保存”。 技能显示在 “我的技能 ”部分中。

更新或删除自己的技能

在“ 我的技能 ”部分中,右键单击要修改的技能,然后选择以下选项之一:

  • 编辑 以更新技能。
  • 删除 以删除技能。

常见问题解答

如果我手动将技能文件夹 .github/skills/放入其中,扩展是否可识别它?

是的。 如果您在项目根目录中放置一个包含SKILL.md文件的有效文件夹,当您在扩展程序窗格中选择“.github/skills/”后,该扩展程序会识别它。 技能显示在“任务”面板的“我的技能”部分中,你可以像任何其他自定义技能一样运行、编辑或删除技能。

但是,只有在 SKILL.md 中被显式引用的资源文件才会显示在扩展 UI 中。 使用“添加资源”按钮时,扩展会将所选文件复制到技能文件夹中,并在SKILL.md”部分下添加链接条目,例如:

**Resources:**
- file:///references.txt

如果在技能文件夹中手动放置额外文件而不添加这些链接条目,则扩展不会显示它们。 若要确保资源文件显示在 UI 中并可用于Copilot,请始终通过 Add Resources 按钮添加它们,或在 SKILL.md 中手动添加相应的链接项。

后续步骤

为GitHub Copilot 现代化预定义的任务