关于 suggest-awesome-github-copilot-instructions
此 Skill 会将仓库中的 Copilot 指令文件与 GitHub 的 awesome-copilot 集合比较,并建议补充或更新内容。它先列出建议供审核,获准后才安装或更新文件。
主要功能
- 01扫描本地 Copilot 指令文件
- 02获取并比较远程指令
- 03发现本地过期版本
- 04结合仓库上下文匹配建议
- 05更改前等待用户批准
适用场景
- 01查找项目技术栈缺少的指令
- 02检查本地指令是否有更新
- 03添加文件前审查指令覆盖情况
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ github/ awesome-copilot --skill suggest-awesome-github-copilot-instructions安装后在 Claude Code 中输入/suggest-awesome-github-copilot-instructions确认已加载。
详细介绍
推荐精彩的 GitHub Copilot 指令
分析当前仓库上下文,并从 GitHub awesome-copilot 仓库 中推荐此仓库中尚不可用的相关 copilot-instruction 文件。
流程
- 获取可用指令:从 awesome-copilot README.instructions.md 中提取指令列表和描述。必须使用
#fetch工具。 - 扫描本地指令:发现
.github/instructions/文件夹中现有的指令文件 - 提取描述:读取本地指令文件中的 front matter,以获取描述和
applyTo模式 - 获取远程版本:对于每个本地指令,使用原始 GitHub URL 从 awesome-copilot 仓库获取对应版本(例如
https://raw.githubusercontent.com/github/awesome-copilot/main/instructions/<filename>) - 比较版本:将本地指令内容与远程版本进行比较,以识别:
- 已是最新的指令(完全匹配)
- 已过时的指令(内容不同)
- 已过时指令中的关键差异(描述、applyTo 模式、内容)
- 分析上下文:查看聊天历史、仓库文件和当前项目需求
- 比较现有内容:与此仓库中已可用的指令进行核对
- 匹配相关性:将可用指令与已识别的模式和要求进行比较
- 展示选项:显示相关指令及其描述、理由和可用状态,包括已过时的指令
- 验证:确保推荐的指令会带来现有指令尚未覆盖的价值
- 输出:提供结构化表格,包含建议、描述以及指向 awesome-copilot 指令和类似本地指令的链接 等待用户请求以继续安装或更新特定指令。除非被指示这样做,否则不要安装或更新。
- 下载/更新资产:对于请求的指令,自动:
- 将新指令下载到
.github/instructions/文件夹 - 通过用 awesome-copilot 中的最新版本替换来更新已过时的指令
- 不要调整文件内容
- 使用
#fetch工具下载资产,但可以使用#runInTerminal工具通过curl确保检索到所有内容 - 使用
#todos工具跟踪进度
- 将新指令下载到
上下文分析标准
🔍 仓库模式:
- 使用的编程语言(.cs、.js、.py、.ts 等)
- 框架指示(ASP.NET、React、Azure、Next.js 等)
- 项目类型(Web 应用、API、库、工具)
- 开发工作流要求(测试、CI/CD、部署)
🗨️ 聊天历史上下文:
- 最近的讨论和痛点
- 特定技术问题
- 编码标准讨论
- 开发工作流要求
输出格式
以结构化表格展示分析结果,将 awesome-copilot 指令与现有仓库指令进行对比:
| Awesome-Copilot 指令 | 描述 | 是否已安装 | 相似的本地指令 | 建议理由 |
|---|---|---|---|---|
| blazor.instructions.md | Blazor 开发指南 | ✅ 是 | blazor.instructions.md | 已被现有的 Blazor 指令覆盖 |
| reactjs.instructions.md | ReactJS 开发标准 | ❌ 否 | 无 | 可通过成熟的模式增强 React 开发 |
| java.instructions.md | Java 开发最佳实践 | ⚠️ 已过时 | java.instructions.md | applyTo 模式不同:远程使用 '**/*.java',而本地使用 '*.java' - 建议更新 |
本地指令发现流程
- 列出
instructions/目录中所有*.instructions.md文件 - 对于每个发现的文件,读取 front matter 以提取
description和applyTo模式 - 构建现有指令及其适用文件模式的完整清单
- 使用此清单以避免建议重复项
版本比较流程
- 对于每个本地指令文件,构造原始 GitHub URL 以获取远程版本:
- 模式:
https://raw.githubusercontent.com/github/awesome-copilot/main/instructions/<filename>
- 模式:
- 使用
#fetch工具获取远程版本 - 比较整个文件内容(包括 front matter 和正文)
- 识别具体差异:
- Front matter 变更(description、applyTo 模式)
- 内容更新(指南、示例、最佳实践)
- 记录过时指令的关键差异
- 计算相似度以确定是否需要更新
文件结构要求
根据 GitHub 文档,copilot-instructions 文件应为:
- 仓库级指令:
.github/copilot-instructions.md(适用于整个仓库) - 路径特定指令:
.github/instructions/NAME.instructions.md(通过applyTofrontmatter 适用于特定文件模式) - 社区指令:
instructions/NAME.instructions.md(用于共享和分发)
Front Matter 结构
awesome-copilot 中的指令文件使用此 front matter 格式:
---
description: 'Brief description of what this instruction provides'
applyTo: '**/*.js,**/*.ts' # Optional: glob patterns for file matching
---
要求
- 使用
githubRepo工具从 awesome-copilot 仓库的 instructions 文件夹获取内容 - 扫描本地文件系统,查找
.github/instructions/目录中的现有指令 - 从本地指令文件读取 YAML front matter,以提取描述和
applyTo模式 - 将本地指令与远程版本比较,以检测过时指令
- 与此仓库中的现有指令比较,以避免重复
- 关注当前指令库覆盖范围的缺口
- 验证建议的指令是否与仓库的用途和标准一致
- 为每条建议提供清晰的理由
- 包含 awesome-copilot 指令和相似本地指令的链接
- 明确指出过时指令,并注明具体差异
- 考虑技术栈兼容性和项目特定需求
- 除表格和分析外,不要提供任何额外信息或上下文
图标参考
- ✅ 已安装且为最新
- ⚠️ 已安装但已过时(有可用更新)
- ❌ 仓库中未安装
更新处理
当识别出过时的指令时:
- 将其包含在输出表中,并标记为 ⚠️ 状态
- 在“建议理由”列中记录具体差异
- 提供更新建议,并注明关键变更
- 当用户请求更新时,用远程版本替换整个本地文件
- 保留文件在
.github/instructions/目录中的位置
评论
支持 Markdown