关于 suggest-awesome-github-copilot-skills
此技能分析仓库上下文,并与 GitHub 的 awesome-copilot 技能集合进行比较。它会列出相关候选项和已过时的本地技能供审阅,获得指示前不会安装或更新。
主要功能
- 01获取 awesome-copilot 技能列表
- 02盘点本地技能及资源
- 03比较本地技能与远程版本
- 04依据仓库上下文评估相关性
- 05展示建议及更新状态
适用场景
- 01发现仓库技能库的覆盖缺口
- 02识别已安装但过时的技能
- 03安装前审查候选技能
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ github/ awesome-copilot --skill suggest-awesome-github-copilot-skills安装后在 Claude Code 中输入/suggest-awesome-github-copilot-skills确认已加载。
详细介绍
推荐出色的 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.mdfront matter 以提取name和description - 列出每个技能文件夹内的所有捆绑资源
- 构建现有技能及其能力的完整清单
- 使用此清单避免建议重复项
版本对比流程
- 对于每个本地技能文件夹,构建用于获取远程
SKILL.md的原始 GitHub URL:- 模式:
https://raw.githubusercontent.com/github/awesome-copilot/main/skills/<skill-name>/SKILL.md
- 模式:
- 使用
#fetch工具获取远程版本 - 比较整个文件内容(包括 front matter 和正文)
- 识别具体差异:
- Front matter 变更(name、description)
- 说明更新(指南、示例、最佳实践)
- 捆绑资源变更(新增、删除或修改的资源)
- 记录已过时技能的关键差异
- 计算相似度以确定是否需要更新
技能结构要求
根据 Agent Skills 规范,每个技能都是一个文件夹,包含:
SKILL.md:主说明文件,包含 front matter(name、description)和详细说明- 可选的捆绑资源:脚本、模板、参考数据,以及从
SKILL.md引用的其他文件 - 文件夹命名:小写并使用连字符(例如
azure-deployment-preflight) - 名称匹配:
SKILL.mdfront matter 中的name字段必须与文件夹名称匹配
Front Matter 结构
awesome-copilot 中的技能在 SKILL.md 中使用此 front matter 格式:
---
name: 'skill-name'
description: 'Brief description of what this skill provides and when to use it'
---
要求
- 使用
fetch工具从 awesome-copilot 仓库技能文档获取内容 - 使用
githubRepo工具获取单个技能内容以供下载 - 扫描本地文件系统以查找
.github/skills/目录中的现有技能 - 从本地
SKILL.md文件读取 YAML front matter 以提取名称和描述 - 将本地技能与远程版本对比以检测已过时的技能
- 与此仓库中的现有技能对比以避免重复
- 关注当前技能库覆盖范围的缺口
- 验证建议的技能是否符合仓库的用途和技术栈
- 为每项建议提供清晰的理由
- 包含指向 awesome-copilot 技能和类似本地技能的链接
- 清楚标识已过时的技能,并注明具体差异
- 考虑捆绑资源要求和兼容性
- 除表格和分析外,不要提供任何额外信息或上下文
图标参考
- ✅ 已安装且为最新
- ⚠️ 已安装但已过时(有可用更新)
- ❌ 仓库中未安装
更新处理
当识别出过时的技能时:
- 将它们包含在输出表格中,状态标记为 ⚠️
- 在“建议理由”列中记录具体差异
- 提供更新建议,并注明关键变更
- 当用户请求更新时,用远程版本替换整个本地技能文件夹
- 保留
.github/skills/目录中的文件夹位置 - 确保所有捆绑资源随更新后的
SKILL.md一并下载
评论
支持 Markdown