mcpField
S
suggest-awesome-github-copilot-instructions

suggest-awesome-github-copilot-instructions

github.com/githubAgent 工作流40.5k8.8k 次安装1 天前更新
代码仓库

关于 suggest-awesome-github-copilot-instructions

此 Skill 会将仓库中的 Copilot 指令文件与 GitHub 的 awesome-copilot 集合比较,并建议补充或更新内容。它先列出建议供审核,获准后才安装或更新文件。

主要功能

  1. 01扫描本地 Copilot 指令文件
  2. 02获取并比较远程指令
  3. 03发现本地过期版本
  4. 04结合仓库上下文匹配建议
  5. 05更改前等待用户批准

适用场景

  1. 01查找项目技术栈缺少的指令
  2. 02检查本地指令是否有更新
  3. 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 文件。

流程

  1. 获取可用指令:从 awesome-copilot README.instructions.md 中提取指令列表和描述。必须使用 #fetch 工具。
  2. 扫描本地指令:发现 .github/instructions/ 文件夹中现有的指令文件
  3. 提取描述:读取本地指令文件中的 front matter,以获取描述和 applyTo 模式
  4. 获取远程版本:对于每个本地指令,使用原始 GitHub URL 从 awesome-copilot 仓库获取对应版本(例如 https://raw.githubusercontent.com/github/awesome-copilot/main/instructions/<filename>)
  5. 比较版本:将本地指令内容与远程版本进行比较,以识别:
    • 已是最新的指令(完全匹配)
    • 已过时的指令(内容不同)
    • 已过时指令中的关键差异(描述、applyTo 模式、内容)
  6. 分析上下文:查看聊天历史、仓库文件和当前项目需求
  7. 比较现有内容:与此仓库中已可用的指令进行核对
  8. 匹配相关性:将可用指令与已识别的模式和要求进行比较
  9. 展示选项:显示相关指令及其描述、理由和可用状态,包括已过时的指令
  10. 验证:确保推荐的指令会带来现有指令尚未覆盖的价值
  11. 输出:提供结构化表格,包含建议、描述以及指向 awesome-copilot 指令和类似本地指令的链接 等待用户请求以继续安装或更新特定指令。除非被指示这样做,否则不要安装或更新。
  12. 下载/更新资产:对于请求的指令,自动:
    • 将新指令下载到 .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.mdBlazor 开发指南✅ 是blazor.instructions.md已被现有的 Blazor 指令覆盖
reactjs.instructions.mdReactJS 开发标准❌ 否无可通过成熟的模式增强 React 开发
java.instructions.mdJava 开发最佳实践⚠️ 已过时java.instructions.mdapplyTo 模式不同:远程使用 '**/*.java',而本地使用 '*.java' - 建议更新

本地指令发现流程

  1. 列出 instructions/ 目录中所有 *.instructions.md 文件
  2. 对于每个发现的文件,读取 front matter 以提取 description 和 applyTo 模式
  3. 构建现有指令及其适用文件模式的完整清单
  4. 使用此清单以避免建议重复项

版本比较流程

  1. 对于每个本地指令文件,构造原始 GitHub URL 以获取远程版本:
    • 模式:https://raw.githubusercontent.com/github/awesome-copilot/main/instructions/<filename>
  2. 使用 #fetch 工具获取远程版本
  3. 比较整个文件内容(包括 front matter 和正文)
  4. 识别具体差异:
    • Front matter 变更(description、applyTo 模式)
    • 内容更新(指南、示例、最佳实践)
  5. 记录过时指令的关键差异
  6. 计算相似度以确定是否需要更新

文件结构要求

根据 GitHub 文档,copilot-instructions 文件应为:

  • 仓库级指令:.github/copilot-instructions.md(适用于整个仓库)
  • 路径特定指令:.github/instructions/NAME.instructions.md(通过 applyTo frontmatter 适用于特定文件模式)
  • 社区指令: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 指令和相似本地指令的链接
  • 明确指出过时指令,并注明具体差异
  • 考虑技术栈兼容性和项目特定需求
  • 除表格和分析外,不要提供任何额外信息或上下文

图标参考

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

更新处理

当识别出过时的指令时:

  1. 将其包含在输出表中,并标记为 ⚠️ 状态
  2. 在“建议理由”列中记录具体差异
  3. 提供更新建议,并注明关键变更
  4. 当用户请求更新时,用远程版本替换整个本地文件
  5. 保留文件在 .github/instructions/ 目录中的位置

评论

支持 Markdown