suggest-awesome-github-copilot-instructions

suggest-awesome-github-copilot-instructions

熱門

根據當前儲存庫上下文和聊天記錄,從 awesome-copilot 儲存庫建議相關的 GitHub Copilot 指令檔案,避免與此儲存庫中已有的指令重複,並識別需要更新的過時指令。

3.7萬星標
4569分支
更新於 2026/7/14
SKILL.md
readonlyread-only
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 結構

awesome-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/ 目錄中的位置