SKILL.md
readonly只读
name
suggest-awesome-github-copilot-instructions
description
根据当前仓库上下文和聊天历史,从 awesome-copilot 仓库推荐相关的 GitHub Copilot 指令文件,避免与仓库中已有指令重复,并识别需要更新的过时指令。
推荐 Awesome GitHub Copilot 指令
分析当前仓库上下文,从 GitHub awesome-copilot 仓库 推荐本仓库尚未提供的相关 copilot-instruction 文件。
流程
- 获取可用指令:从 awesome-copilot README.instructions.md 提取指令列表和描述。必须使用
#fetch工具。 - 扫描本地指令:发现
.github/instructions/文件夹中已有的指令文件 - 提取描述:读取本地指令文件的 front matter,获取描述和
applyTo模式 - 获取远程版本:对于每个本地指令,使用原始 GitHub URL(例如
https://raw.githubusercontent.com/github/awesome-copilot/main/instructions/<filename>)从 awesome-copilot 仓库获取对应版本 - 比较版本:比较本地指令内容与远程版本,识别:
- 最新指令(完全匹配)
- 过时指令(内容不同)
- 过时指令的关键差异(描述、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 变更(描述、applyTo 模式)
- 内容更新(指南、示例、最佳实践)
- 记录过时指令的关键差异
- 计算相似度以确定是否需要更新
文件结构要求
根据 GitHub 文档,copilot-instructions 文件应为:
- 仓库级指令:
.github/copilot-instructions.md(适用于整个仓库) - 路径特定指令:
.github/instructions/NAME.instructions.md(通过applyTofrontmatter 适用于特定文件模式) - 社区指令:
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 指令和类似本地指令的链接
- 明确标识过时指令,并注明具体差异
- 考虑技术栈兼容性和项目特定需求
- 不要提供表格和分析之外的任何额外信息或上下文
图标参考
- ✅ 已安装且最新
- ⚠️ 已安装但过时(有可用更新)
- ❌ 仓库中未安装
更新处理
当识别出过时指令时:
- 在输出表格中以 ⚠️ 状态包含它们
- 在“建议理由”列中记录具体差异
- 提供更新建议,并注明关键变更
- 当用户请求更新时,用远程版本替换整个本地文件
- 保留文件在
.github/instructions/目录中的位置






