自訂代理程式¶
本頁說明儲存庫範圍內的自訂代理程式,位於 .github/agents/。每個代理程式都是一個 .agent.md 檔案,其中包含 YAML frontmatter 與指示,讓 Copilot 專門處理程式碼檢閱、安全性、無障礙功能或 PR 摘要。
.agent.md 格式¶
自訂代理程式使用頂端含有 frontmatter 的 Markdown 檔案:
---
name: dotnet-reviewer
description: Senior .NET code reviewer specializing in C# best practices, security, and performance
tools: ['agent', 'read', 'search']
model: claude-sonnet-4.6
---
此 name 是識別名稱, description 會告訴 Copilot 此代理程式適用的時機,
tools 宣告代理程式可使用的介面,而 model 若有指定,則會固定使用特定模型。Markdown 本文包含角色、檢閱檢查清單、輸出格式,以及任何交叉驗證指示。
dotnet-reviewer¶
- 路徑:
.github/agents/dotnet-reviewer.agent.md - Frontmatter 名稱:
dotnet-reviewer - Frontmatter 說明:
Senior .NET code reviewer specializing in C# best practices, security, and performance - 工具:
['agent', 'read', 'search'] - 固定模型:
claude-sonnet-4.6 - 觸發時機:當變更需要 .NET 專用檢閱時使用,尤其適合檢查安全性、效能、可為 null 的參考型別、非同步用法、資源釋放或 EF Core 模式。
- 呼叫範例:
此代理程式也會指示自己在完成檢閱後執行 security-scanner 子代理程式,然後直接回報兩組發現。
security-scanner¶
- 路徑:
.github/agents/security-scanner.agent.md - Frontmatter 名稱:
security-scanner - Frontmatter 說明:
Security-focused code reviewer that identifies vulnerabilities and compliance issues - 工具:
['agent', 'read', 'search'] - 固定模型:
gpt-5.3-codex - 觸發時機:當需要檢閱 OWASP Top 10 問題、輸入驗證、驗證與授權、敏感資料暴露、不安全的剖析方式或記錄不足等問題時使用。
- 呼叫範例:
此代理程式要求每項發現都包含嚴重性、適用時的 CWE、位置、攻擊情境、修正方式與參考資料。若存在使用者介面程式碼,則會指示自己執行 accessibility-auditor 子代理程式。
pr-summary¶
- 路徑:
.github/agents/pr-summary.agent.md - Frontmatter 名稱:
pr-summary - Frontmatter 說明:
Generates concise, informative PR summaries from code changes - 工具:
['agent', 'read', 'search'] - 固定模型:未宣告。
- 觸發時機:當準備提取要求說明、摘要差異,或依功能、修正、測試、文件與設定將變更分組時使用。
- 呼叫範例:
預期輸出包含單行摘要、分組的變更概觀、重要變更檔案、影響評估與測試備註。它也會要求
dotnet-reviewer 進行交叉驗證,並在最後的程式碼品質區段中僅列出「重大」與「高」等級的發現。
accessibility-auditor¶
- 路徑:
.github/agents/accessibility-auditor.agent.md - Frontmatter 名稱:
accessibility-auditor - Frontmatter 說明:「當使用者要求檢閱程式碼的無障礙問題或合規性時,請使用此代理程式。
觸發詞包括:-「檢查這段程式碼是否有無障礙問題」-「檢閱 WCAG 合規性」-「稽核無障礙問題」-「找出無障礙違規」-「這符合無障礙需求嗎?」
範例:- 使用者說「可以檢閱這個元件的無障礙功能嗎?」→ 呼叫此代理程式稽核程式碼 - 使用者詢問「這個表單符合 WCAG 標準嗎?」→ 呼叫此代理程式檢查合規性 - 使用者說「這裡可能有哪些無障礙問題?」→ 呼叫此代理程式找出問題 - 撰寫使用者介面程式碼後,若可能有無障礙疑慮,請主動呼叫此代理程式」- 工具:['read', 'search']
- 固定模型:未宣告。
- 觸發時機:說明中明確列出「檢查這段程式碼是否有無障礙問題」、「檢閱 WCAG 合規性」、「稽核無障礙問題」、「找出無障礙違規」及「這符合無障礙需求嗎?」等詞句 - 呼叫範例:
此代理程式會檢查語意化 HTML、ARIA、鍵盤導覽、色彩對比、焦點狀態、表單標籤、動態效果、媒體替代內容及回應式行為。
共用與檢閱專用指示¶
.github/copilot-instructions.md 是此儲存庫中所有助理共用的標準。內容說明 .NET 10 零售分析應用程式、程式撰寫慣例、Copilot SDK 模式、測試要求與安全性規則。
.github/copilot-review-instructions.md 適用範圍較窄,提供檢閱時所需的情境,包括 GitHub Copilot SDK v1.0.9 命名空間
GitHub.Copilot、明確的 session.On<T>(...) 用法、SSE 串流規則、模型探索預期,以及除非明確要求,檢閱者不應標記的示範用刻意程式碼異味。
固定模型的經驗¶
security-scanner.agent.md 目前固定使用 model: gpt-5.3-codex。原始值使用了錯誤的大小寫,且尾端含有空格;即時模型清單中只有 gpt-5.3-codex。無效的固定模型設定可能使代理程式無法啟動,因此 frontmatter 中的模型 ID 必須完全正確。