원클릭으로
skill-creator
Skill 與 Agent 建立指導專家,協助開發者依據 GitHub Copilot 最佳實踐建立高品質的 custom agent 和 skill 定義檔案,包含 YAML frontmatter、MCP 整合與互動式工作流程設計。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Skill 與 Agent 建立指導專家,協助開發者依據 GitHub Copilot 最佳實踐建立高品質的 custom agent 和 skill 定義檔案,包含 YAML frontmatter、MCP 整合與互動式工作流程設計。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
API 開發流程引導技能,協助開發者選擇合適的開發流程(API First 或 Code First),並提供 OpenAPI 規格管理、程式碼產生等自動化支援。
Cucumber/Gherkin BDD 最佳實踐指導技能,提供 Gherkin 撰寫規範、情境設計原則、Discovery Workshop 引導與常見反模式識別,協助團隊撰寫高品質的行為驅動開發規格。
BDD 測試實作技能,協助開發者使用 Reqnroll 撰寫行為驅動開發測試,包含 Gherkin 語法、測試步驟實作與 Docker 測試環境設定。
EF Core 操作與最佳化技能,協助開發者正確使用 Entity Framework Core,包含 DbContextFactory 模式、查詢最佳化、Migration 管理與反向工程。
錯誤處理與 Result Pattern 技能,協助開發者實作統一的錯誤處理機制,包含 Result Pattern 應用、Failure 物件建立與分層錯誤處理策略。
Handler 業務邏輯層實作技能,協助開發者實作符合專案規範的 Handler,包含業務邏輯處理、流程協調、Result Pattern 錯誤處理與跨 Repository 操作。
| name | skill-creator |
| description | Skill 與 Agent 建立指導專家,協助開發者依據 GitHub Copilot 最佳實踐建立高品質的 custom agent 和 skill 定義檔案,包含 YAML frontmatter、MCP 整合與互動式工作流程設計。 |
Skill Creator 是專門協助建立 GitHub Copilot Custom Agent 與 Skill 的指導技能,提供結構化的建立流程、檔案風格範本、MCP 整合指導與互動式設計模式。
| 比較項目 | Custom Agent | Skill |
|---|---|---|
| 檔案位置 | .github/agents/ 或 .claude/agents/ | .github/skills/ |
| 檔案副檔名 | .agent.md 或 .md | skill.md |
| 啟用方式 | @agent-name | 通常由 agent 或 workspace 呼叫 |
| 主要用途 | 獨立的專業助理,具備特定領域知識 | 可重複使用的技能模組,供 agent 組合使用 |
| 工具配置 | 可在 YAML 中配置 MCP 工具 | 通常繼承環境的工具配置 |
| 複雜度 | 較高,需處理完整對話流程 | 較低,專注於特定技能 |
建立 Agent 的時機:
feature-development-agent、testing-strategy-agent建立 Skill 的時機:
handler、bdd-testing、api-development---
name: skill-or-agent-name # 必填:唯一識別名稱(小寫、連字號分隔)
description: 簡短描述此 skill/agent 的用途與核心能力 # 必填:一句話說明
tools: ["read", "edit", "bash"] # 可選:指定可用工具,省略則使用全部
target: vscode # 可選:指定環境(vscode 或 github-copilot)
model: claude-3.5-sonnet # 可選:指定 AI 模型(僅限 IDE 環境)
mcp-servers: # 可選:MCP Server 配置(組織/企業級 agent)
server-name:
type: local # local | http | sse
command: node
args: ["path/to/server.js"]
tools: ["*"] # "*" 或特定工具列表
env:
API_KEY: $SECRET_NAME
---
# Skill/Agent 名稱
## 描述
詳細說明此 skill/agent 的用途、目標與適用場景
## 職責
- 職責 1:具體說明
- 職責 2:具體說明
- 職責 3:具體說明
## 能力
### 1. 核心能力 A
具體描述與範例
### 2. 核心能力 B
具體描述與範例
## 使用方式
### 在 GitHub Copilot 中使用
具體的呼叫範例
### 直接呼叫(如果是 Agent)
@agent-name 任務描述
## 互動流程(可選)
使用 Mermaid 圖表或文字描述互動流程
## 核心模式/原則
關鍵的設計模式或必須遵循的原則
## 範本檔案(可選)
相關的程式碼範本或參考資料
## 注意事項
### 🔒 核心原則
不可妥協的關鍵原則
### 📋 最佳實踐
建議遵循的做法
### ✅ 成功指標
檢查清單形式的驗收標準
## 錯誤處理(可選)
常見錯誤與解決方案
## 相關 Skills(可選)
其他相關的 skills 連結
## 相關 Agents(可選)
會使用此 skill 的 agents
互動問題:
我將協助您建立新的 Skill/Agent,請回答以下問題:
1️⃣ 您想建立什麼?
A. Custom Agent(獨立的專業助理)
B. Skill(可重複使用的技能模組)
2️⃣ 主要用途是什麼?(一句話描述)
3️⃣ 核心職責有哪些?(列出 3-5 項)
4️⃣ 需要哪些工具支援?
A. 所有可用工具(預設)
B. 特定工具(read, edit, bash, search 等)
C. 需要 MCP Server 整合
5️⃣ 是否需要互動式決策流程?
A. 是,需要引導使用者做決策
B. 否,直接執行任務
必填欄位:
---
name: descriptive-name # 描述性名稱,使用 kebab-case
description: 簡潔的單行描述 # 說明核心用途與能力
---
工具配置範例:
# 範例 1:使用所有工具(預設行為)
---
name: full-stack-developer
description: 全端開發專家
# tools 省略 = 所有工具
---
# 範例 2:限制特定工具
---
name: test-specialist
description: 測試專家,只分析與撰寫測試程式碼
tools: ["read", "edit", "search"] # 不能執行 bash 命令
---
# 範例 3:包含 MCP 工具
---
name: api-developer
description: API 開發專家,整合 OpenAPI 工具
tools: ["read", "edit", "bash", "context7-http/query-docs"]
---
MCP Server 整合(組織級 Agent):
---
name: documentation-agent
description: 文件管理專家,整合 Context7 知識庫
tools: ["read", "edit", "context7-http/*"]
mcp-servers:
context7-http:
type: http
url: https://mcp.context7.com/mcp
headers: {}
tools: ["*"]
---
職責(Responsibilities):
範例:
## 職責
- 分析現有專案架構與程式碼結構
- 識別架構反模式與潛在問題
- 提供符合 Clean Architecture 的重構建議
- 產生架構改善計畫與實作步驟
- 驗證重構後的程式碼是否符合規範
能力(Capabilities):
範例:
## 能力
### 1. 架構分析
- 掃描專案資料夾結構
- 識別分層架構違規(Controller 直接呼叫 DbContext)
- 檢測循環相依問題
- 分析命名空間組織是否符合領域劃分
### 2. 重構建議
- 提供分層架構調整建議
- 推薦適當的設計模式(Repository, Result Pattern)
- 產生重構檢查清單與優先順序排序
何時需要互動式流程:
流程圖範例(使用 Mermaid):
## 互動流程
\`\`\`mermaid
graph TD
A[啟動 Skill] --> B{詢問開發流程}
B -->|API First| C[檢查 OpenAPI 規格]
B -->|Code First| D[直接實作程式碼]
C -->|已定義| E[產生 Server Controller]
C -->|需更新| F[協助更新規格]
F --> E
E --> G[提供實作範本]
D --> G
G --> H[詢問是否產生 Client SDK]
H -->|是| I[執行 codegen-api-client]
H -->|否| J[完成]
I --> J
\`\`\`
問答範例:
## 互動問答範例
### 問題 1:選擇開發流程
\`\`\`
請選擇 API 開發流程:
1️⃣ API First(推薦)
✅ 優點:文件與實作同步、前後端並行開發
⚠️ 需要:先設計 OpenAPI 規格
適用場景:
- 團隊協作、前後端分離專案
- 需要提供 Client SDK
2️⃣ Code First
✅ 優點:快速開發、直接實作
⚠️ 需要:手動維護 API 文件
適用場景:
- 快速原型開發
- 小型專案或單人開發
\`\`\`
### 問題 2:確認設計策略
\`\`\`
根據您的需求分析,建議使用:
📌 **需求導向 Repository 設計**
原因:
✓ 涉及 4 個資料表(Orders, OrderItems, Inventory, Payments)
✓ 需要交易一致性保證
✓ 包含複雜的多步驟業務流程
是否確認使用此策略?
[ ] 是,使用需求導向
[ ] 否,我想使用資料表導向
[ ] 需要更多說明
\`\`\`
核心原則格式:
## 核心原則
### 🔒 不可妥協的原則
1. **強制詢問**:不得擅自假設開發流程,必須明確詢問使用者
2. **Result Pattern 必用**:所有業務邏輯必須使用 Result<T, Failure>
3. **安全優先**:所有敏感操作需使用者確認
### 📋 最佳實踐
1. **職責分離**:Controller 不包含業務邏輯
2. **錯誤處理**:由 Middleware 統一記錄,Handler 不記錄
3. **命名一致性**:遵循專案命名規範(CreateXxxRequest, XxxResponse)
### ✅ 成功指標
- [ ] 所有互動問題都已回答
- [ ] 產生的程式碼通過編譯
- [ ] 符合專案架構規範
- [ ] 測試覆蓋率達標
範本檔案組織:
.github/skills/your-skill/
├── skill.md # 主要定義檔案
├── assets/ # 程式碼範本
│ ├── template-1.cs
│ ├── template-2.yml
│ └── workflow-diagram.mmd
└── references/ # 參考文件
├── best-practices.md
└── detailed-guide.md
範本引用範例:
## 範本檔案
### Controller 實作範本
完整範本請參考:`assets/controller-template.cs`
### OpenAPI 端點範本
YAML 規格範本:`assets/openapi-endpoint-template.yml`
## 參考文件
- [API 開發工作流程詳解](./references/api-development-workflow.md)
- [Result Pattern 完整指南](./references/result-pattern-guide.md)
mcp-servers:
local-analyzer:
type: local
command: node
args: ["./tools/code-analyzer/server.js"]
tools: ["analyze-architecture", "detect-anti-patterns"]
env:
LOG_LEVEL: info
mcp-servers:
context7-http:
type: http
url: https://mcp.context7.com/mcp
headers:
Authorization: Bearer ${CONTEXT7_API_KEY}
tools: ["query-docs", "resolve-library-id"]
mcp-servers:
streaming-analyzer:
type: sse
url: https://api.example.com/mcp/sse
tools: ["stream-analysis"]
在 tools 屬性中引用 MCP 工具:
---
name: documentation-expert
description: 文件專家,整合 Context7 知識庫查詢
tools:
- read
- edit
- context7-http/query-docs # MCP 工具格式:server-name/tool-name
- context7-http/resolve-library-id
---
# Documentation Expert
當您需要查詢最新的函式庫文件時,我會:
1. 使用 `context7-http/resolve-library-id` 找到正確的函式庫 ID
2. 使用 `context7-http/query-docs` 查詢相關文件
3. 整理並提供最佳實踐建議
Repository 層級(推薦):
.copilot/mcp-config.json # GitHub Copilot
.claude/mcp-config.json # Claude Desktop
組織層級 Agent(GitHub):
# 直接在 agent profile 中配置
---
name: org-level-agent
description: 組織級別的 agent
mcp-servers:
custom-mcp:
type: local
command: npx
args: ["-y", "@org/custom-mcp-server"]
tools: ["*"]
---
---
name: error-handling
description: Result Pattern 錯誤處理技能,協助開發者正確使用 Result<T, Failure> 模式處理業務邏輯錯誤。
tools: ["read", "edit"]
---
# Error Handling Skill
## 描述
Result Pattern 錯誤處理技能,專注於協助開發者在 Handler 和 Repository 層正確實作錯誤處理機制。
## 職責
- 指導正確使用 Result Pattern
- 協助建立 Failure 物件
- 避免拋出業務邏輯例外
- 確保原始例外被保存
## 能力
### 1. Result Pattern 實作
確保所有業務邏輯方法回傳 `Result<TSuccess, Failure>` 而非拋出例外。
正確範例:
\`\`\`csharp
public async Task<Result<Member, Failure>> CreateMemberAsync(
CreateMemberRequest request,
CancellationToken cancellationToken = default)
{
// 業務驗證
if (await _repository.EmailExistsAsync(request.Email, cancellationToken))
{
return Result.Failure<Member, Failure>(new Failure
{
Code = nameof(FailureCode.DuplicateEmail),
Message = "此 Email 已被註冊",
TraceId = _traceContext.TraceId
});
}
// ... 正常流程
}
\`\`\`
---
name: feature-development
description: 完整功能開發流程專家,串接多個 Skills 引導使用者完成從需求分析到測試驗證的完整開發週期。
tools: ["read", "edit", "bash", "search"]
---
# Feature Development Agent
## 描述
完整功能開發流程專家,我會協調多個專業 skills 引導您完成功能開發的每個階段。
## 工作流程
\`\`\`mermaid
graph TD
A[需求分析] --> B{API 開發流程選擇}
B -->|API First| C[OpenAPI 規格設計]
B -->|Code First| D[直接實作]
C --> E[產生 Controller 骨架]
D --> F[Repository 設計策略]
E --> F
F --> G[Handler 業務邏輯實作]
G --> H[Controller 實作]
H --> I[測試策略規劃]
\`\`\`
.copilot/mcp-config.json 配置server-name/tool-name 格式.github/skills/
├── skill-name/
│ ├── skill.md # 主要定義(必須)
│ ├── assets/ # 範本檔案(可選)
│ └── references/ # 參考文件(可選)
.github/agents/
├── agent-name.agent.md # 方式 1:單檔案
或
├── agent-name/
│ └── agent.md # 方式 2:資料夾組織
YAML Frontmatter:
name 使用 kebab-casedescription < 120 字元且清楚描述用途tools 列表正確(如有指定)Markdown 內容:
互動設計:
.github/skills/api-development/ - 複雜互動流程範例.github/skills/handler/ - 單一職責 Skill 範例.claude/agents-workflow-guide.md - Agent 工作流程設計