技能(又稱 Skill)是 Qoder CN CLI 中將專業知識打包成可複用功能的機制。每個 Skill 包含一個 SKILL.md 檔案,定義技能的描述、指令和可選的輔助檔案(代碼、指令碼、模板等)。
核心特點:
智能調用:模型根據使用者請求和 Skill 描述自主決定何時使用(也支援命令載入)
模組化設計:每個 Skill 專註解決特定類型的任務
靈活擴充:支援使用者級和專案級的自訂 Skill
快速開始
以下樣本建立一個用於產生 API 文檔的 Skill:
1. 建立 Skill 目錄
在使用者級 Skills 檔案夾中建立目錄。使用者級 Skills 適用於所有專案,也可在 .qodercn/skills/ 中建立專案級 Skills 與團隊共用。
# 建立使用者級 Skills 目錄
mkdir -p ~/.qoder-cn/skills/api-doc-generator2. 編寫 SKILL.md
每個 Skill 需要一個 SKILL.md 檔案,以 --- 標記之間的 YAML 中繼資料開頭,必須包含 name 和 description,後跟 Markdown 指令。建立 ~/.qoder-cn/skills/api-doc-generator/SKILL.md:
---
name: api-doc-generator
description: Generate comprehensive API documentation from code. Use when creating API docs, documenting endpoints, or generating OpenAPI specs.
---
# API Documentation Generator
When generating API documentation:
1. Identify all API endpoints and routes
2. Document request/response formats
3. Include authentication requirements
4. Add example requests and responses
5. Generate OpenAPI/Swagger specification if needed3. 驗證 Skill 載入
Skill 建立或修改後在新會話中會自動載入。輸入如下內容,驗證是否載入成功:
What Skills are available?或者輸入命令驗證:
/skills對話中應顯示 api-doc-generator 及其描述。
4. 測試 Skill
開啟專案中的 API 路由檔案,輸入與 Skill 描述匹配的問題:
為這個 API 產生文檔Qoder CN CLI 應用 api-doc-generator Skill 並產生相關 API 文檔。若未觸發,嘗試使用 description 中的關鍵詞重新描述需求。
工作原理
Skill 可以由命令載入,也可以由模型自動調用。模型根據請求內容決定使用哪個 Skill,無需顯式指定。
啟動時,Qoder CN CLI 載入每個 Skill 的名稱和描述,保持快速啟動的同時讓模型瞭解各 Skill 的適用情境。
請求與 Skill 描述匹配時,模型請求使用該 Skill,顯示確認提示後載入完整
SKILL.md。編寫描述時應包含使用者常用的關鍵詞。模型按 Skill 指令執行,按需載入引用檔案或運行指令碼。
儲存位置
儲存位置決定 Skill 的可用範圍:
位置 | 路徑 | 範圍 | 適用情境 |
使用者級 |
| 目前使用者的所有專案 | 個人工作流程、實驗性 Skill、個人工具 |
專案級 |
| 僅當前專案 | 團隊工作流程、專案特定知識、共用指令碼 |
同名時,專案級 Skill 覆蓋使用者級 Skill。
Skill 與 Command 的區別
核心區別:Skill 支援命令載入和自動觸發,Command 需顯式輸入 /command-name。
特性 | Skill | Command |
觸發方式 | 模型自動判斷或輸入 | 輸入 |
主要用途 | 專業領域知識、複雜工作流程 | 快速執行預設任務 |
儲存位置 |
|
|
許可權確認 | 需要確認 | 不需要 |
Skill 內部轉換為特殊類型的 Command,兩者共用執行機制。
使用情境
適合使用 Skill 的情境:
複雜專業任務:需要領域知識的工作流程(代碼審查、PDF 處理、API 設計)
標準化流程:按固定步驟執行的任務(提交規範、部署流程)
團隊知識共用:打包最佳實務供團隊使用
重複性工作:頻繁執行且需要專業指導的任務
適合使用 Command 的情境:
簡單快捷操作
需要明確觸發的任務
無需複雜提示詞指導的任務
建立 Skill
選擇儲存位置
類型 | 路徑 | 範圍 |
使用者級 |
| 目前使用者的所有專案 |
專案級 |
| 僅當前專案 |
專案級 Skill 覆蓋同名的使用者級 Skill。
建立目錄:
# 使用者級
mkdir -p ~/.qoder-cn/skills/{skill-name}
# 專案級
mkdir -p .qoder/skills/{skill-name}組織目錄結構
目錄結構樣本:
{skill-name}/
├── SKILL.md # 必需:主檔案
├── REFERENCE.md # 可選:詳細參考文檔
├── EXAMPLES.md # 可選:文檔樣本
├── scripts/ # 可選:輔助指令碼
│ └── helper.py
└── templates/ # 可選:模板檔案
└── template.txt在 SKILL.md 中引用輔助檔案實現漸進式披露:
For better usage,see [REFERENCE.md].
For examples, see [EXAMPLES.md].
Run the helper script: python scripts/helper.py input.txt編寫 SKILL.md
SKILL.md 是 Skill 中唯一必需的檔案,包含 YAML 中繼資料和 Markdown 指令:
---
name: skill-name
description: Skill 功能簡述,說明何時使用
---
# Skill Name
## Instructions
提供清晰的分步指導。
## Examples
展示具體用法。Frontmatter 欄位:
欄位 | 必需 | 說明 | 限制 |
| 是 | Skill 唯一識別碼 | 僅小寫字母、數字、連字號,最多 64 字元 |
| 是 | 功能描述,模型據此判斷何時使用 | 最多 1024 字元 |
重要:description 決定模型何時使用 Skill,應包含功能說明和使用時機。詳見"最佳實務"部分。
使用 Skill
自動觸發
直接描述需求,模型自動判斷是否使用 Skill:
分析這個記錄檔中的錯誤模型識別並調用 log-analyzer Skill。
手動觸發
輸入 /skill-name 手動觸發:
/log-analyzer查看可用 Skill
CLI 中查看:
What Skills are available?檔案系統查看:
# 列出使用者級 Skill
ls ~/.qoder-cn/skills/
# 列出專案級 Skill
ls .qoder/skills/
# 查看 SKILL.md 檔案
ls ~/.qodercn/skills/*/SKILL.md
ls .qodercn/skills/*/SKILL.md更新與刪除
更新 Skill
直接編輯 SKILL.md,下次啟動 Qoder CN CLI 時生效。CLI 運行中需重啟以載入更新。
刪除 Skill
刪除 Skill 目錄:
# 使用者級
rm -rf ~/.qoder-cn/skills/{skill-name}
# 專案級
rm -rf .qoder/skills/{skill-name}警告:刪除操作永久移除所有檔案,無法恢複。
最佳實務
保持專註
每個 Skill 專註於一個領域或任務類型。
推薦:
log-analyzer- 日誌分析security-auditor- 安全審計database-migrator- 資料庫遷移
不推薦:
coding-helper- 功能過於寬泛
編寫清晰的 description
description 應包含:Skill 功能、使用時機和觸發關鍵詞。
對比:
# 不推薦:模糊
description: Helps with logs
# 推薦:具體
description: Analyze log files to identify errors, patterns, and performance issues. Use when debugging logs, investigating errors, or monitoring application behavior.共用前測試
共用 Skill 前確保:
預期情境下能觸發
指令清晰
覆蓋常見邊界情況
記錄版本變更
在 SKILL.md 中添加版本歷史:
## 版本歷史
- v2.0.0 (2026-10-01): API 重大變更
- v1.1.0 (2026-09-15): 新增功能
- v1.0.0 (2026-09-01): 首次發布故障排查
Skill 未觸發
檢查檔案位置:
ls ~/.qoder-cn/skills/*/SKILL.md
ls .qoder/skills/*/SKILL.md確認 SKILL.md 存在且路徑正確。
檢查 YAML 格式:查看 SKILL.md,驗證 frontmatter 無語法錯誤(縮排、引號匹配)。
檢查 description 具體性:使用清晰具體的描述:
# 推薦:明確用途和觸發條件
description: Analyze log files to identify errors, patterns, and performance issues. Use when debugging logs, investigating errors, or monitoring application behavior.
# 不推薦:模糊
description: For logsSkill 執行出錯
檢查依賴:CLI 在需要時自動安裝依賴(或請求許可權)。
檢查指令碼許可權:
chmod +x .qoder/skills/my-skill/scripts/*.py多個 Skill 衝突
Skill 相似導致混淆時,在 description 中使用不同觸發詞區分。
Skill 樣本
樣本 1:簡單 Skill
分析記錄檔並診斷問題。
目錄結構:
log-analyzer/
└── SKILL.mdSKILL.md:
---
name: log-analyzer
description: Analyze log files to identify errors, patterns, and performance issues. Use when debugging logs, investigating errors, or monitoring application behavior.
---
# Log Analyzer
## Instructions
1. Read the log file to understand its format
2. Identify and categorize issues:
- Error patterns and stack traces
- Warning messages
- Performance bottlenecks
- Unusual patterns or anomalies
3. Provide summary with:
- Issue severity and frequency
- Root cause analysis
- Recommended solutions
## Analysis tips
- Focus on recent critical errors first
- Look for recurring patterns
- Check timestamp correlations across entries樣本 2:多檔案 Skill
資料庫遷移與版本管理工具。
目錄結構:
database-migrator/
├── SKILL.md
├── MIGRATION_GUIDE.md
├── ROLLBACK.md
└── scripts/
├── generate_migration.py
├── validate_schema.py
└── backup_db.shSKILL.md:
---
name: database-migrator
description: Generate and manage database migrations, schema changes, and data transformations. Use when creating migrations, modifying database schema, or managing database versions. Requires sqlalchemy and alembic packages.
---
# Database Migrator
## Quick start
Generate a new migration:
```bash
python scripts/generate_migration.py --name add_user_table
```
For detailed migration patterns, see [MIGRATION_GUIDE.md](MIGRATION_GUIDE.md).
For rollback strategies, see [ROLLBACK.md](ROLLBACK.md).
## Workflow
1. **Analyze changes**: Compare current schema with desired state
2. **Generate migration**: Create migration file with up/down operations
3. **Validate**: Run `python scripts/validate_schema.py` to check syntax
4. **Backup**: Execute `scripts/backup_db.sh` before applying
5. **Apply**: Run migration in staging environment first
6. **Verify**: Check data integrity after migration
## Requirements
Install required packages:
```bash
pip install sqlalchemy alembic psycopg2-binary
```
## Safety checks
- Always backup before migrations
- Test rollback procedures
- Validate data integrity after changes
- Use transactions for atomic operations