claude-code/claude-zh/commands/skill-create.md

175 lines
4.5 KiB
Markdown
Raw Normal View History

2026-02-27 13:45:37 +00:00
---
name: skill-create
description: 分析本地 Git 歷史紀錄以擷取開發模式,並生成 SKILL.md 檔案。此為 Skill Creator GitHub App 的本地版本。
allowed_tools: ["Bash", "Read", "Write", "Grep", "Glob"]
---
# /skill-create - 本地技能生成
分析儲存庫的 Git 歷史紀錄,以擷取程式碼開發模式並生成 SKILL.md 檔案,用來教導 Claude 熟悉您團隊的開發實踐。
## 使用方式
```bash
/skill-create # 分析目前的儲存庫
/skill-create --commits 100 # 分析最近 100 次提交 (Commits)
/skill-create --output ./skills # 指定輸出目錄
/skill-create --instincts # 同時為 continuous-learning-v2 生成直覺 (Instincts)
```
## 功能說明
1. **解析 Git 歷史** - 分析提交、檔案變動與模式。
2. **偵測開發模式** - 識別重複出現的工作流與慣例。
3. **生成 SKILL.md** - 建立有效的 Claude Code 技能檔案。
4. **選擇性建立直覺** - 用於 continuous-learning-v2 系統。
## 分析步驟
### 步驟 1獲取 Git 數據
```bash
# 獲取最近的提交及其檔案變動
git log --oneline -n ${COMMITS:-200} --name-only --pretty=format:"%H|%s|%ad" --date=short
# 按檔案統計提交頻率
git log --oneline -n 200 --name-only | grep -v "^$" | grep -v "^[a-f0-9]" | sort | uniq -c | sort -rn | head -20
# 獲取提交訊息模式
git log --oneline -n 200 | cut -d' ' -f2- | head -50
```
### 步驟 2偵測模式
尋找以下類型的模式:
| 模式 | 偵測方法 |
|---------|-----------------|
| **提交慣例** | 對提交訊息進行 Regex 匹配 (feat:, fix:, chore:) |
| **檔案關聯變動** | 總是同時被修改的檔案群組 |
| **工作流序列** | 重複出現的檔案修改模式 |
| **架構慣例** | 資料夾結構與命名規範 |
| **測試模式** | 測試檔案位置、命名、覆蓋率 |
### 步驟 3生成 SKILL.md
輸出格式範例:
```markdown
---
name: {repo-name}-patterns
description: 從 {repo-name} 擷取的開發模式
version: 1.0.0
source: local-git-analysis
analyzed_commits: {count}
---
# {Repo Name} 開發模式
## 提交慣例
{偵測到的提交訊息模式}
## 程式架構
{偵測到的資料夾結構與組織方式}
## 工作流
{偵測到的重複性檔案變動模式}
## 測試模式
{偵測到的測試慣例}
```
### 步驟 4生成直覺 (若包含 --instincts)
用於 continuous-learning-v2 整合:
```yaml
---
id: {repo}-commit-convention
trigger: "當撰寫提交訊息時"
confidence: 0.8
domain: git
source: local-repo-analysis
---
# 使用約定式提交 (Conventional Commits)
## 行動
在提交訊息前加上feat:, fix:, chore:, docs:, test:, refactor:
## 證據
- 分析了 {n} 次提交
- {percentage}% 遵循約定式提交格式
```
## 輸出範例
在 TypeScript 專案中執行 `/skill-create` 可能會產出:
```markdown
---
name: my-app-patterns
description: 來自 my-app 儲存庫的開發模式
version: 1.0.0
source: local-git-analysis
analyzed_commits: 150
---
# My App 開發模式
## 提交慣例
此專案使用 **約定式提交 (Conventional Commits)**
- `feat:` - 新功能
- `fix:` - 錯誤修復
- `chore:` - 維護任務
- `docs:` - 文件更新
## 程式架構
```
src/
├── components/ # React 元件 (PascalCase.tsx)
├── hooks/ # 自定義 Hooks (use*.ts)
├── utils/ # 工具函式
├── types/ # TypeScript 型別定義
└── services/ # API 與外部服務
```
## 工作流
### 新增元件
1. 建立 `src/components/ComponentName.tsx`
2.`src/components/__tests__/ComponentName.test.tsx` 加入測試
3.`src/components/index.ts` 匯出
### 資料庫遷移
1. 修改 `src/db/schema.ts`
2. 執行 `pnpm db:generate`
3. 執行 `pnpm db:migrate`
## 測試模式
- 測試檔案:`__tests__/` 目錄或 `.test.ts` 字尾
- 覆蓋率目標80% 以上
- 框架Vitest
```
## GitHub App 整合
針對進階需求 (1 萬次以上提交、團隊共享、自動 PR),請使用 [Skill Creator GitHub App](https://github.com/apps/skill-creator)
- 安裝連結:[github.com/apps/skill-creator](https://github.com/apps/skill-creator)
- 在任何 Issue 中留言 `/skill-creator analyze`
- 即可收到包含生成技能的 PR
## 相關指令
- `/instinct-import` - 匯入生成的直覺
- `/instinct-status` - 查看學到的直覺
- `/evolve` - 將直覺聚類為技能/Agent
---
*屬於 [Everything Claude Code](https://github.com/affaan-m/everything-claude-code) 專案的一部分*