suggest-awesome-github-copilot-skills

suggest-awesome-github-copilot-skills

热门

根据当前仓库上下文和聊天历史,从 awesome-copilot 仓库推荐相关的 GitHub Copilot 技能,避免与当前仓库已有技能重复,并识别需要更新的过时技能。

3.7万Star
4569Fork
更新于 2026/7/14
SKILL.md
readonly只读
name
suggest-awesome-github-copilot-skills
description

根据当前仓库上下文和聊天历史,从 awesome-copilot 仓库推荐相关的 GitHub Copilot 技能,避免与当前仓库已有技能重复,并识别需要更新的过时技能。

推荐 Awesome GitHub Copilot 技能

分析当前仓库上下文,从 GitHub awesome-copilot 仓库 推荐相关的 Agent 技能,这些技能尚未在当前仓库中提供。Agent 技能是位于 awesome-copilot 仓库 skills 文件夹中的独立文件夹,每个文件夹包含一个 SKILL.md 文件,内含指令和可选的捆绑资源。

流程

  1. 获取可用技能:从 awesome-copilot README.skills.md 提取技能列表和描述。必须使用 #fetch 工具。
  2. 扫描本地技能:发现 .github/skills/ 文件夹中已有的技能文件夹
  3. 提取描述:读取本地 SKILL.md 文件的前置元数据,获取 namedescription
  4. 获取远程版本:对于每个本地技能,使用原始 GitHub URL(例如 https://raw.githubusercontent.com/github/awesome-copilot/main/skills/<skill-name>/SKILL.md)从 awesome-copilot 仓库获取对应的 SKILL.md
  5. 比较版本:比较本地技能内容与远程版本,以识别:
    • 最新技能(完全匹配)
    • 过时技能(内容不同)
    • 过时技能的关键差异(描述、指令、捆绑资源)
  6. 分析上下文:审查聊天历史、仓库文件和当前项目需求
  7. 比较现有技能:对照当前仓库中已有的技能进行检查
  8. 匹配相关性:将可用技能与识别出的模式和需求进行比较
  9. 展示选项:显示相关技能及其描述、理由和可用性状态,包括过时技能
  10. 验证:确保推荐的技能能增加现有技能未覆盖的价值
  11. 输出:提供结构化表格,包含建议、描述以及指向 awesome-copilot 技能和类似本地技能的链接
    等待 用户请求继续安装或更新特定技能。除非指示,否则不要安装或更新。
  12. 下载/更新资源:对于请求的技能,自动:
    • 将新技能下载到 .github/skills/ 文件夹,保留文件夹结构
    • 通过替换为 awesome-copilot 的最新版本来更新过时技能
    • 同时下载 SKILL.md 和任何捆绑资源(脚本、模板、数据文件)
    • 不要调整文件内容
    • 使用 #fetch 工具下载资源,但也可以使用 #runInTerminal 工具中的 curl 以确保获取所有内容
    • 使用 #todos 工具跟踪进度

上下文分析标准

🔍 仓库模式

  • 使用的编程语言(.cs, .js, .py, .ts 等)
  • 框架指示器(ASP.NET, React, Azure, Next.js 等)
  • 项目类型(Web 应用、API、库、工具、基础设施)
  • 开发工作流需求(测试、CI/CD、部署)
  • 基础设施和云提供商(Azure, AWS, GCP)

🗨️ 聊天历史上下文

  • 最近的讨论和痛点
  • 功能请求或实现需求
  • 代码审查模式
  • 开发工作流需求
  • 专业任务需求(图表绘制、评估、部署)

输出格式

以结构化表格展示分析结果,比较 awesome-copilot 技能与现有仓库技能:

Awesome-Copilot 技能 描述 捆绑资源 已安装 类似本地技能 建议理由
gh-cli 用于管理仓库和工作流的 GitHub CLI 技能 ❌ 否 可增强 GitHub 工作流自动化能力
aspire 用于分布式应用开发的 Aspire 技能 9 个参考文件 ✅ 是 aspire 已有 Aspire 技能覆盖
terraform-azurerm-set-diff-analyzer 分析 Terraform AzureRM 提供商变更 参考文件 ⚠️ 过时 terraform-azurerm-set-diff-analyzer 指令已更新,包含新的验证模式 - 建议更新

本地技能发现流程

  1. 列出 .github/skills/ 目录中的所有文件夹
  2. 对于每个文件夹,读取 SKILL.md 的前置元数据以提取 namedescription
  3. 列出每个技能文件夹中的任何捆绑资源
  4. 构建现有技能及其能力的全面清单
  5. 使用此清单避免推荐重复项

版本比较流程

  1. 对于每个本地技能文件夹,构建原始 GitHub URL 以获取远程 SKILL.md
    • 模式:https://raw.githubusercontent.com/github/awesome-copilot/main/skills/<skill-name>/SKILL.md
  2. 使用 #fetch 工具获取远程版本
  3. 比较整个文件内容(包括前置元数据和正文)
  4. 识别具体差异:
    • 前置元数据变更(name, description)
    • 指令更新(指南、示例、最佳实践)
    • 捆绑资源变更(新增、删除或修改的资源)
  5. 记录过时技能的关键差异
  6. 计算相似度以确定是否需要更新

技能结构要求

根据 Agent 技能规范,每个技能是一个包含以下内容的文件夹:

  • SKILL.md:主指令文件,包含前置元数据(name, description)和详细指令
  • 可选的捆绑资源:脚本、模板、参考数据以及 SKILL.md 中引用的其他文件
  • 文件夹命名:小写字母加连字符(例如 azure-deployment-preflight
  • 名称匹配SKILL.md 前置元数据中的 name 字段必须与文件夹名称匹配

前置元数据结构

aweome-copilot 中的技能在 SKILL.md 中使用以下前置元数据格式:

---
name: 'skill-name'
description: '简要描述此技能提供的内容及使用时机'
---

要求

  • 使用 fetch 工具从 awesome-copilot 仓库获取技能文档内容
  • 使用 githubRepo 工具获取单个技能内容以供下载
  • 扫描本地文件系统,查找 .github/skills/ 目录中的现有技能
  • 从本地 SKILL.md 文件中读取 YAML 前置元数据以提取名称和描述
  • 将本地技能与远程版本进行比较,检测过时技能
  • 与当前仓库中的现有技能进行比较以避免重复
  • 关注当前技能库覆盖的空白
  • 验证推荐的技能与仓库的目的和技术栈一致
  • 为每个建议提供清晰的理由
  • 包含指向 awesome-copilot 技能和类似本地技能的链接
  • 明确标识过时技能,并注明具体差异
  • 考虑捆绑资源需求和兼容性
  • 不要提供表格和分析之外的任何额外信息或上下文

图标参考

  • ✅ 已安装且最新
  • ⚠️ 已安装但过时(有可用更新)
  • ❌ 未在仓库中安装

更新处理

当识别出过时技能时:

  1. 在输出表格中包含它们,状态为 ⚠️
  2. 在“建议理由”列中记录具体差异
  3. 提供更新建议,并注明关键变更
  4. 当用户请求更新时,用远程版本替换整个本地技能文件夹
  5. 保留 .github/skills/ 目录中的文件夹位置
  6. 确保所有捆绑资源与更新的 SKILL.md 一起下载