Add XCode skills for entity caching, ORM, and sharding ETL
|
# 技能体系设计
本文回ç”å½“å‰æŠ€èƒ½åº“å»ºè®¾ä¸çš„ 5 ä¸ªæ ¸å¿ƒé—®é¢˜ï¼Œå¹¶ç»™å‡ºå¯è½åœ°çš„建议。
## 1. 技能文件是å¦åº”该分目录,是å¦éœ€è¦å¤šçº§ç›®å½•?
结论:**应该分目录,但è¦åŒºåˆ†â€œè¿è¡Œæ€ç›®å½•â€å’Œâ€œçŸ¥è¯†æ€ç›®å½•â€ã€‚**
### 1.1 è¿è¡Œæ€ç›®å½•
å¦‚æžœç›®æ ‡æ˜¯è®© Copilot ç›´æŽ¥è¯†åˆ«å¹¶åŠ è½½æŠ€èƒ½ï¼Œå»ºè®®éµå¾ªå®˜æ–¹ç»“构:
```text
.github/skills/<skill-name>/SKILL.md
```
è¿™ä¸€å±‚å»ºè®®ä¿æŒ**æ‰å¹³åŒ–**,ä¸è¦åšå¤ªæ·±çš„å¤šçº§ç›®å½•ã€‚åŽŸå› æœ‰ä¸‰ï¼š
- 官方技能å‘现机制围绕 `skills/<name>/SKILL.md` 设计。
- æ‰å¹³ç›®å½•ä¾¿äºŽåŒæ¥åˆ°ç”¨æˆ·çº§æŠ€èƒ½ç›®å½•。
- 过深目录会让“技能åâ€å’Œâ€œåˆ†ç±»åâ€è€¦åˆï¼ŒåŽç»è¿ç§»å›°éš¾ã€‚
### 1.2 知识æ€ç›®å½•
çŸ¥è¯†æœ¬èº«æ˜¯åˆ†å±‚çš„ï¼Œæ‰€ä»¥å»ºè®®æŠŠæ›´ç»†çš„åˆ†ç±»æ”¾åœ¨æ–‡æ¡£å±‚ï¼Œè€Œä¸æ˜¯ç›´æŽ¥æ”¾åœ¨è¿è¡Œæ€æŠ€èƒ½æ ¹ç›®å½•层。
例如:
```text
docs/
taxonomy/
coding/
architecture/
documentation/
review/
delivery/
```
### 1.3 æŽ¨èæŠ˜ä¸æ–¹æ¡ˆ
- `.github/skills/`ï¼šåªæ”¾å¯æ‰§è¡Œçš„ã€å¯è¢« Copilot å‘现的技能包。
- `docs/`:放技能设计ã€åˆ†ç±»è¯´æ˜Žã€æ²‰æ·€æ–¹æ³•ã€æ ·ä¾‹ã€è§„范。
- `scripts/`ï¼šæ”¾åŒæ¥ã€æ‰«æã€åˆå¹¶ã€æ‰¹å¤„ç†è„šæœ¬ã€‚
一å¥è¯ï¼š**æŠ€èƒ½å…¥å£æ‰å¹³ï¼ŒæŠ€èƒ½çŸ¥è¯†åˆ†å±‚。**
## 2. æ€Žæ ·å…¼å®¹ Copilotï¼Œå¹¶æ”¯æŒæ¯å¤©è‡ªåŠ¨åŒæ¥ï¼Ÿ
建议采用“åŒå±‚æž¶æž„â€ï¼š
### 2.1 æºä»“库层
把 Git 仓库作为**唯一事实æº**(source of truth)。
优点:
- å¯ä»¥ç‰ˆæœ¬ç®¡ç†ã€‚
- å¯ä»¥ code review。
- å¯ä»¥å¤šäººå作。
- å¯ä»¥è·¨ç”µè„‘åŒæ¥ã€‚
### 2.2 Copilot è¿è¡Œå±‚
有两ç§ä½¿ç”¨æ–¹å¼ï¼š
#### æ–¹å¼ A:项目内直接使用
把技能放在当å‰é¡¹ç›®çš„ `.github/skills/` 下。打开该项目时,Copilot 就能直接å‘现这些技能。
适åˆï¼š
- 团队共享技能
- 与特定仓库强绑定的技能
#### æ–¹å¼ B:用户级全局使用
åŒæ¥åˆ°ç”¨æˆ·çº§æŠ€èƒ½ç›®å½•,例如:
- `~/.copilot/skills/`
- `~/.agents/skills/`
适åˆï¼š
- 个人通用技能
- 跨多个仓库共用的写作ã€ç¼–ç ã€åˆ†æžæŠ€èƒ½
### 2.3 最佳实践
推èä¿ç•™ä»“库ä¸çš„ `.github/skills/` 作为主å˜å‚¨ï¼Œå†ç”¨è„šæœ¬åŒæ¥åˆ°ç”¨æˆ·çº§ç›®å½•。
è¿™æ ·åšçš„好处是:
- 在仓库内打开时å¯ç›´æŽ¥ä½¿ç”¨ã€‚
- åŒæ—¶æ”¯æŒå…¨å±€å¤ç”¨ã€‚
- ä¸ä¼šæŠŠé•¿æœŸç»´æŠ¤å·¥ä½œç»‘æ»åœ¨æŸä¸ªç¼–辑器专用路径上。
## 3. 技能 md æ–‡æ¡£åº”è¯¥ç”¨ä»€ä¹ˆæ ¼å¼ï¼Ÿæ–‡ä»¶å目录å必须英文å—?
结论:**è¿è¡Œæ€è·¯å¾„å»ºè®®è‹±æ–‡ï¼Œæ£æ–‡å†…容å¯ä»¥ä¸æ–‡ã€‚**
### 3.1 è¿è¡Œæ€æŠ€èƒ½æ ¼å¼
`SKILL.md` 建议使用 YAML frontmatter:
```yaml
---
name: capture-conventions
description: 'Capture coding conventions, directory habits, naming patterns, and stable repository rules from codebases.'
---
```
ç„¶åŽæ£æ–‡ä½¿ç”¨ Markdown,建议包å«ï¼š
- 使用场景
- è¾“å…¥è¦æ±‚
- åˆ†æžæ¥éª¤
- è¾“å‡ºæ ¼å¼
- åˆå¹¶ç–ç•¥
- 注æ„事项
### 3.2 命å建议
#### 必须固定
- æŠ€èƒ½å…¥å£æ–‡ä»¶ï¼š`SKILL.md`
- 技能目录å:建议与 `name` 一致
#### 推è英文的部分
- 技能目录å:`capture-conventions`
- 脚本å:`sync-skills-to-user.ps1`
- èµ„æºæ–‡ä»¶å:`capture-checklist.md`
åŽŸå› ï¼š
- 兼容ä¸åŒç³»ç»Ÿä¸Žå·¥å…·é“¾
- 便于脚本处ç†
- 与官方约定一致
#### å¯ä»¥ä¸æ–‡çš„部分
- `SKILL.md` æ£æ–‡
- 设计文档
- 说明性文档
- 模æ¿ä¸çš„示例内容
### 3.3 一个很实用的原则
**è·¯å¾„è‹±æ–‡ï¼Œæ ‡é¢˜ä¸æ–‡ã€‚**
例如:
- 文件路径:`docs/skill-system-design.md`
- æ–‡æ¡£æ ‡é¢˜ï¼š`# 技能体系设计`
## 4. 除了专有技能与功能性技能,还应该有哪些维度?
建议至少分为 6 大维度:
### 4.1 æ•获型技能
ç”¨äºŽä»Žå·²æœ‰ææ–™ä¸æŠ½å–稳定规律:
- 代ç é£Žæ ¼æ•获
- 目录结构æ•获
- 命åä¹ æƒ¯æ•获
- API 设计å好æ•获
- æ–‡æ¡£è¯æ°”ä¸Žç»„ç»‡æ–¹å¼æ•获
### 4.2 èžåˆåž‹æŠ€èƒ½
用于把新知识并入旧知识:
- åˆå¹¶é‡å¤æ¡ç›®
- 解决冲çªè¡¨è¿°
- 区分“稳定规则â€å’Œâ€œå±€éƒ¨ä¾‹å¤–â€
- 输出新的统一版本
### 4.3 功能型技能
直接帮助完æˆä»»åŠ¡ï¼š
- 写文档
- 写代ç
- 写测试
- åšé‡æž„
- åšä»£ç 评审
- 生æˆå‘布说明
### 4.4 规范型技能
用于统一输出质é‡ï¼š
- ç¼–ç 规范
- 文档规范
- 注释规范
- æäº¤ä¿¡æ¯è§„范
- Issue / PR 模æ¿è§„范
### 4.5 æµç¨‹åž‹æŠ€èƒ½
用于跨æ¥éª¤å·¥ä½œæµï¼š
- 扫æä»“库 → æ•获规律 → åˆå¹¶çŸ¥è¯† → æäº¤å˜æ›´
- 分æžç¼ºé™· → å®šä½æ ¹å› → 写测试 → ä¿®å¤ â†’ 生æˆå¤ç›˜
- 阅读项目 → ç”Ÿæˆæ¨¡å—导图 → 输出上手文档
### 4.6 元技能(Meta Skills)
用于维护技能体系自身:
- æ€Žæ ·å†™ä¸€ä¸ªå¥½æŠ€èƒ½
- æ€Žæ ·æ‹†åˆ†æŠ€èƒ½
- æ€Žæ ·å‘½åæŠ€èƒ½
- æ€Žæ ·è¯„ä¼°æŠ€èƒ½æ˜¯å¦è¿‡å¤§
- æ€Žæ ·æ·˜æ±°é™ˆæ—§æŠ€èƒ½
这里é¢ï¼Œ**文档规范技能**当然值得å•独æˆç±»ï¼Œè€Œä¸”通常是高频高价值技能。
## 5. Copilot æ˜¯å¦æœ‰è®°å¿†ï¼Ÿèƒ½å¦ä¸ŽæŠ€èƒ½åº“åˆå¹¶ï¼Ÿ
结论:**有,但定ä½ä¸åŒï¼Œä¸èƒ½æŠŠ Copilot Memory 当æˆé•¿æœŸæŠ€èƒ½åº“。**
### 5.1 Copilot Memory 的特点
æ ¹æ® GitHub 官方文档:
- 它是**仓库级**è®°å¿†ï¼Œä¸æ˜¯ç”¨æˆ·çº§é•¿æœŸçŸ¥è¯†åº“。
- ç”± Copilot 在实际工作ä¸è‡ªåŠ¨å½’çº³äº§ç”Ÿã€‚
- 带引用ä½ç½®ï¼Œä¼šåœ¨ä½¿ç”¨å‰æ ¡éªŒä»£ç 是å¦ä»ç„¶æˆç«‹ã€‚
- 默认会自动过期,当å‰å…¬å¼€èµ„料显示约 **28 天**。
- ç›®å‰ä¸»è¦ç”¨äºŽ GitHub 网站上的 cloud agentã€code reviewã€CLI ç‰åœºæ™¯ã€‚
### 5.2 它适åˆåšä»€ä¹ˆ
适åˆåšï¼š
- 仓库近期约定的自动记忆
- 局部代ç ä¹ æƒ¯çš„çŸä¸æœŸä¿æŒ
- å‡å°‘é‡å¤æç¤º
ä¸é€‚åˆåšï¼š
- ä½ çš„é•¿æœŸä¸ªäººçŸ¥è¯†èµ„äº§åº“
- 跨仓库å¤ç”¨çš„æ–¹æ³•论ä¸å¿ƒ
- 需è¦ç²¾å¿ƒç¼–排和版本管ç†çš„规范体系
### 5.3 推è关系
建议把二者关系定义为:
- **技能库**:长期ã€äººå·¥å¯ç»´æŠ¤ã€å¯å®¡é˜…ã€å¯ç‰ˆæœ¬åŒ–的显å¼çŸ¥è¯†ã€‚
- **Copilot Memory**:çŸä¸æœŸã€ä»“库内ã€è‡ªåŠ¨ç”Ÿæˆçš„éšå¼å·¥ä½œè®°å¿†ã€‚
### 5.4 æœ€ä½³æ•´åˆæ–¹å¼
ä¸è¦ç›´æŽ¥â€œæŠŠ Memory 当技能库â€ï¼Œè€Œæ˜¯åšæˆè¿™æ ·çš„é—环:
1. 在日常 Copilot 使用ä¸ï¼Œè®© Memory 自动积累。
2. 定期把高价值记忆转æˆå€™é€‰çŸ¥è¯†ã€‚
3. 通过“èžåˆåž‹æŠ€èƒ½â€åˆå¹¶åˆ° Git 管ç†çš„æŠ€èƒ½åº“。
4. å†ç”±è„šæœ¬æŠŠæŠ€èƒ½åº“åŒæ¥å›ž Copilot å¯ç”¨ç›®å½•。
è¿™æ‰æ˜¯æ¯”较稳ã€ä¹Ÿæ›´é€‚åˆé•¿æœŸæ¼”进的方案。
## 推èçš„åˆå§‹æŠ€èƒ½æ¸…å•
如果现在就开始æï¼Œå»ºè®®ç¬¬ä¸€æ‰¹å…ˆåšè¿™ 12 个:
1. `capture-conventions`
2. `merge-skill-knowledge`
3. `write-tech-docs`
4. `capture-csharp-style`
5. `capture-directory-patterns`
6. `capture-module-usage`
7. `review-code-consistency`
8. `write-api-docs`
9. `write-release-notes`
10. `summarize-repository`
11. `generate-onboarding-guide`
12. `maintain-skill-library`
## ä½ çŽ°åœ¨æœ€å€¼å¾—é©¬ä¸Šåšçš„事
1. 确定技能目录主结构。
2. 先写 3 ä¸ªæ ¸å¿ƒæŠ€èƒ½æ ·æ¿ã€‚
3. 用 1~2 ä¸ªçœŸå®žä»“åº“åšæ•获实验。
4. 验è¯â€œæ•获 → èžåˆ → åŒæ¥â€é—环。
5. å†é€æ¥æ‰¹é‡æ‰©å±•。
|