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 文件,内含指令和可选的捆绑资源。
流程
- 获取可用技能:从 awesome-copilot README.skills.md 提取技能列表和描述。必须使用
#fetch工具。 - 扫描本地技能:发现
.github/skills/文件夹中已有的技能文件夹 - 提取描述:读取本地
SKILL.md文件的前置元数据,获取name和description - 获取远程版本:对于每个本地技能,使用原始 GitHub URL(例如
https://raw.githubusercontent.com/github/awesome-copilot/main/skills/<skill-name>/SKILL.md)从 awesome-copilot 仓库获取对应的SKILL.md - 比较版本:比较本地技能内容与远程版本,以识别:
- 最新技能(完全匹配)
- 过时技能(内容不同)
- 过时技能的关键差异(描述、指令、捆绑资源)
- 分析上下文:审查聊天历史、仓库文件和当前项目需求
- 比较现有技能:对照当前仓库中已有的技能进行检查
- 匹配相关性:将可用技能与识别出的模式和需求进行比较
- 展示选项:显示相关技能及其描述、理由和可用性状态,包括过时技能
- 验证:确保推荐的技能能增加现有技能未覆盖的价值
- 输出:提供结构化表格,包含建议、描述以及指向 awesome-copilot 技能和类似本地技能的链接
等待 用户请求继续安装或更新特定技能。除非指示,否则不要安装或更新。 - 下载/更新资源:对于请求的技能,自动:
- 将新技能下载到
.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 | 指令已更新,包含新的验证模式 - 建议更新 |
本地技能发现流程
- 列出
.github/skills/目录中的所有文件夹 - 对于每个文件夹,读取
SKILL.md的前置元数据以提取name和description - 列出每个技能文件夹中的任何捆绑资源
- 构建现有技能及其能力的全面清单
- 使用此清单避免推荐重复项
版本比较流程
- 对于每个本地技能文件夹,构建原始 GitHub URL 以获取远程
SKILL.md:- 模式:
https://raw.githubusercontent.com/github/awesome-copilot/main/skills/<skill-name>/SKILL.md
- 模式:
- 使用
#fetch工具获取远程版本 - 比较整个文件内容(包括前置元数据和正文)
- 识别具体差异:
- 前置元数据变更(name, description)
- 指令更新(指南、示例、最佳实践)
- 捆绑资源变更(新增、删除或修改的资源)
- 记录过时技能的关键差异
- 计算相似度以确定是否需要更新
技能结构要求
根据 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 技能和类似本地技能的链接
- 明确标识过时技能,并注明具体差异
- 考虑捆绑资源需求和兼容性
- 不要提供表格和分析之外的任何额外信息或上下文
图标参考
- ✅ 已安装且最新
- ⚠️ 已安装但过时(有可用更新)
- ❌ 未在仓库中安装
更新处理
当识别出过时技能时:
- 在输出表格中包含它们,状态为 ⚠️
- 在“建议理由”列中记录具体差异
- 提供更新建议,并注明关键变更
- 当用户请求更新时,用远程版本替换整个本地技能文件夹
- 保留
.github/skills/目录中的文件夹位置 - 确保所有捆绑资源与更新的
SKILL.md一起下载






