suggest-awesome-github-copilot-instructions

suggest-awesome-github-copilot-instructions

热门

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

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

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

推荐 Awesome GitHub Copilot 指令

分析当前仓库上下文,从 GitHub awesome-copilot 仓库 推荐本仓库尚未提供的相关 copilot-instruction 文件。

流程

  1. 获取可用指令:从 awesome-copilot README.instructions.md 提取指令列表和描述。必须使用 #fetch 工具。
  2. 扫描本地指令:发现 .github/instructions/ 文件夹中已有的指令文件
  3. 提取描述:读取本地指令文件的 front matter,获取描述和 applyTo 模式
  4. 获取远程版本:对于每个本地指令,使用原始 GitHub URL(例如 https://raw.githubusercontent.com/github/awesome-copilot/main/instructions/<filename>)从 awesome-copilot 仓库获取对应版本
  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.md Blazor 开发指南 ✅ 是 blazor.instructions.md 已有 Blazor 指令覆盖
reactjs.instructions.md ReactJS 开发标准 ❌ 否 将使用成熟模式增强 React 开发
java.instructions.md Java 开发最佳实践 ⚠️ 过时 java.instructions.md applyTo 模式不同:远程使用 '**/*.java' 而本地使用 '*.java' - 建议更新

本地指令发现流程

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

版本比较流程

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

文件结构要求

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

  • 仓库级指令.github/copilot-instructions.md(适用于整个仓库)
  • 路径特定指令.github/instructions/NAME.instructions.md(通过 applyTo frontmatter 适用于特定文件模式)
  • 社区指令instructions/NAME.instructions.md(用于共享和分发)

Front Matter 结构

aawesome-copilot 中的指令文件使用以下 front matter 格式:

---
description: '此指令提供的简要描述'
applyTo: '**/*.js,**/*.ts' # 可选:文件匹配的 glob 模式
---

要求

  • 使用 githubRepo 工具从 awesome-copilot 仓库的 instructions 文件夹获取内容
  • 扫描本地文件系统,查找 .github/instructions/ 目录中的现有指令
  • 从本地指令文件读取 YAML front matter,提取描述和 applyTo 模式
  • 将本地指令与远程版本比较,检测过时指令
  • 与本仓库中已有指令对比,避免重复
  • 关注当前指令库覆盖的空白
  • 验证建议的指令与仓库的目的和标准一致
  • 为每个建议提供清晰的理由
  • 包含指向 awesome-copilot 指令和类似本地指令的链接
  • 明确标识过时指令,并注明具体差异
  • 考虑技术栈兼容性和项目特定需求
  • 不要提供表格和分析之外的任何额外信息或上下文

图标参考

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

更新处理

当识别出过时指令时:

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