openspec-onboard
npx skills add https://github.com/studyzy/imewlconverter --skill openspec-onboard
Agent 安装分布
Skill 文档
å¼å¯¼ç¨æ·å®æä»ä»¬ç第ä¸ä¸ªå®æ´OpenSpec工使µå¨æãè¿æ¯ä¸ä¸ªæå¦ä½éªââä½ å°å¨ä»ä»¬ç代ç åºä¸å®æå®é å·¥ä½ï¼åæ¶è§£éæ¯ä¸ªæ¥éª¤ã
åå¤é¶æ®µ
å¼å§åï¼æ£æ¥OpenSpecæ¯å¦å·²åå§åï¼
openspec-cn status --json 2>&1 || echo "NOT_INITIALIZED"
妿æªåå§åï¼
OpenSpecå°æªå¨æ¤é¡¹ç®ä¸è®¾ç½®ã请å è¿è¡
openspec-cn initï¼ç¶åè¿å/opsx:onboardã
妿æªåå§åï¼è¯·å¨æ¤åæ¢ã
é¶æ®µ1ï¼æ¬¢è¿
æ¾ç¤ºï¼
## 欢è¿ä½¿ç¨OpenSpecï¼
æå°å¼å¯¼æ¨å®æä¸ä¸ªå®æ´ç忴卿ââ仿³æ³å°å®ç°ââä½¿ç¨æ¨ä»£ç åºä¸ççå®ä»»å¡ã卿¤è¿ç¨ä¸ï¼æ¨å°éè¿å®è·µå¦ä¹ 工使µç¨ã
**æä»¬å°è¦åçäºæ
ï¼**
1. 卿¨ç代ç åºä¸éæ©ä¸ä¸ªå°ççå®ä»»å¡
2. ç®è¦æ¢ç´¢é®é¢
3. å建ä¸ä¸ªåæ´ï¼æä»¬å·¥ä½ç容å¨ï¼
4. æå»ºäº§åºç©ï¼ææ¡ â è§æ ¼è¯´æ â 设计 â ä»»å¡
5. å®ç°ä»»å¡
6. 彿¡£å®æçåæ´
**æ¶é´ï¼** ~15-20åé
让æä»¬å¼å§å¯»æ¾è¦å¤ççå
容ã
é¶æ®µ2ï¼ä»»å¡éæ©
代ç åºåæ
æ«æä»£ç åºå¯»æ¾å°çæ¹è¿æºä¼ã寻æ¾ï¼
- TODO/FIXMEæ³¨é – å¨ä»£ç æä»¶ä¸æç´¢
TODOãFIXMEãHACKãXXX - 缺å°é误å¤ç – åæ²¡é误ç
catchåï¼æ²¡ætry-catchçé£é©æä½ - æ²¡ææµè¯ç彿° – 交åå¼ç¨
src/åæµè¯ç®å½ - ç±»åé®é¢ – TypeScriptæä»¶ä¸ç
anyç±»åï¼: anyãas anyï¼ - è°è¯å·¥ä»¶ – éè°è¯ä»£ç ä¸ç
console.logãconsole.debugãdebuggerè¯å¥ - 缺å°éªè¯ – 没æéªè¯çç¨æ·è¾å ¥å¤çç¨åº
åæ¶æ£æ¥æè¿çgitæ´»å¨ï¼
git log --oneline -10 2>/dev/null || echo "No git history"
æåºå»ºè®®
æ ¹æ®æ¨çåæï¼æåº3-4ä¸ªå ·ä½å»ºè®®ï¼
## ä»»å¡å»ºè®®
åºäºæ«ææ¨ç代ç åºï¼ä»¥ä¸æ¯ä¸äºå¥½çå
¥é¨ä»»å¡ï¼
**1. [ææå¸æçä»»å¡]**
ä½ç½®ï¼`src/path/to/file.ts:42`
èå´ï¼~1-2个æä»¶ï¼~20-30è¡
为ä»ä¹å¥½ï¼[ç®è¦åå ]
**2. [第äºä¸ªä»»å¡]**
ä½ç½®ï¼`src/another/file.ts`
èå´ï¼~1个æä»¶ï¼~15è¡
为ä»ä¹å¥½ï¼[ç®è¦åå ]
**3. [第ä¸ä¸ªä»»å¡]**
ä½ç½®ï¼[ä½ç½®]
èå´ï¼[估计]
为ä»ä¹å¥½ï¼[ç®è¦åå ]
**4. å
¶ä»å
容ï¼**
åè¯ææ¨æ³è¦å¤çä»ä¹ã
åªä¸ªä»»å¡è®©æ¨æå
´è¶£ï¼ï¼éæ©ä¸ä¸ªæ°åææè¿°æ¨èªå·±çï¼
å¦ææªæ¾å°ä»»ä½å å®¹ï¼ åéå°è¯¢é®ç¨æ·æ³è¦æå»ºä»ä¹ï¼
æå¨æ¨ç代ç åºä¸æ²¡ææ¾å°ææ¾çå¿«éæ¹è¿æºä¼ãæ¨ä¸ç´æ³è¦æ·»å æä¿®å¤ä»ä¹å°ä¸è¥¿ï¼
èå´æ¤æ
å¦æç¨æ·éæ©ææè¿°çå 容太大ï¼ä¸»è¦åè½ï¼å¤å¤©å·¥ä½ï¼ï¼
è¿æ¯ä¸ä¸ªæä»·å¼çä»»å¡ï¼ä½å¯¹äºæ¨çç¬¬ä¸æ¬¡OpenSpecä½éªæ¥è¯´å¯è½å¤ªå¤§äºã
对äºå¦ä¹ 工使µç¨ï¼è¶å°è¶å¥½ââå®è®©æ¨è½å¤çå°å®æ´å¨æèä¸ä¼é·å
¥å®ç°ç»èã
**é项ï¼**
1. **ååææ´å°çé¨å** - [ä»ä»¬çä»»å¡]䏿å°çæç¨é¨åæ¯ä»ä¹ï¼ä¹è®¸åªæ¯[å
·ä½åç]ï¼
2. **éæ©å
¶ä»å
容** - å
¶ä»å»ºè®®ä¹ä¸ï¼æä¸åçä»»å¡ï¼
3. **æ 论å¦ä½é½å** - 妿æ¨ççæ³å¤çè¿ä¸ªï¼æä»¬å¯ä»¥åãåªæ¯è¦ç¥ééè¦æ´é¿æ¶é´ã
æ¨æ´å欢åªç§ï¼
å¦æç¨æ·åæï¼è®©ä»ä»¬è¦çââè¿æ¯ä¸ä¸ªè½¯æ¤æ ã
é¶æ®µ3ï¼æ¢ç´¢æ¼ç¤º
䏿¦éæ©äºä»»å¡ï¼ç®è¦æ¼ç¤ºæ¢ç´¢æ¨¡å¼ï¼
卿们åå»ºåæ´ä¹åï¼è®©æå¿«é忍å±ç¤º**æ¢ç´¢æ¨¡å¼**ââè¿æ¯å¨æ¿è¯ºæ¹åä¹åæèé®é¢çæ¹å¼ã
è±1-2åéè°æ¥ç¸å ³ä»£ç ï¼
- é 读æ¶åçæä»¶
- 妿éè¦ï¼ç»å¶å¿«éASCIIå¾è¡¨
- 注æä»»ä½èèäºé¡¹
## å¿«éæ¢ç´¢
[æ¨çç®è¦åæââæ¨åç°äºä»ä¹ï¼ä»»ä½èèäºé¡¹]
âââââââââââââââââââââââââââââââââââââââââââ
â [å¯éï¼å¦ææå¸®å©çASCIIå¾è¡¨] â
âââââââââââââââââââââââââââââââââââââââââââ
æ¢ç´¢æ¨¡å¼ï¼`/opsx:explore`ï¼ç¨äºè¿ç§æèââå¨å®ç°ä¹åè¿è¡è°æ¥ãæ¨å¯ä»¥å¨éè¦æèé®é¢æ¶éæ¶ä½¿ç¨å®ã
ç°å¨è®©æä»¬å建ä¸ä¸ªåæ´æ¥ä¿åæä»¬çå·¥ä½ã
æå – çå¾ ç¨æ·ç¡®è®¤ååç»§ç»ã
é¶æ®µ4ï¼åå»ºåæ´
è§£éï¼
## åå»ºåæ´
OpenSpecä¸ç"åæ´"æ¯å´ç»ä¸é¡¹å·¥ä½çæææèåè§åç容å¨ãå®ä½äº `openspec/changes/<name>/` ä¸ï¼ä¿åæ¨ç产åºç©ââææ¡ãè§æ ¼è¯´æã设计ãä»»å¡ã
让æä¸ºæä»¬çä»»å¡å建ä¸ä¸ªã
æ§è¡ï¼ ä½¿ç¨æ´¾ççkebab-caseåç§°åå»ºåæ´ï¼
openspec-cn new change "<derived-name>"
æ¾ç¤ºï¼
å·²å建ï¼`openspec/changes/<name>/`
æä»¶å¤¹ç»æï¼
openspec/changes// âââ proposal.md â 为ä»ä¹æä»¬è¦åè¿ä¸ªï¼ç©ºï¼æä»¬å°å¡«å å®ï¼ âââ design.md â æä»¬å°å¦ä½æå»ºå®ï¼ç©ºï¼ âââ specs/ â 详ç»éæ±ï¼ç©ºï¼ âââ tasks.md â å®ç°æ£æ¥æ¸ åï¼ç©ºï¼
ç°å¨è®©æä»¬å¡«å
第ä¸ä¸ªäº§åºç©ââææ¡ã
é¶æ®µ5ï¼ææ¡
è§£éï¼
## ææ¡
ææ¡æè·**为ä»ä¹**æä»¬è¦è¿è¡æ¤åæ´ä»¥å**ä»ä¹**å¨é«å±çº§ä¸æ¶åãè¿æ¯å·¥ä½ç"çµæ¢¯æ¼è®²"ã
æå°æ ¹æ®æä»¬çä»»å¡èµ·èä¸ä¸ªã
æ§è¡ï¼ èµ·èææ¡å å®¹ï¼ææ¶ä¸ä¿åï¼ï¼
è¿æ¯ä¸ä¸ªèæ¡ææ¡ï¼
---
## 为ä»ä¹
[1-2å¥è¯è§£éé®é¢/æºä¼]
## ä»ä¹åå
[å°è¦ä¸åçè¦ç¹]
## è½å
### æ°è½å
- `<è½ååç§°>`: [ç®è¦æè¿°]
### ä¿®æ¹çè½å
<!-- å¦æä¿®æ¹ç°æè¡ä¸º -->
## å½±å
- `src/path/to/file.ts`: [ä»ä¹åå]
- [å
¶ä»æä»¶å¦æéç¨]
---
è¿è½æææå¾åï¼æå¯ä»¥å¨ä¿ååè°æ´ã
æå – çå¾ ç¨æ·æ¹å/åé¦ã
æ¹ååï¼ä¿åææ¡ï¼
openspec-cn instructions proposal --change "<name>" --json
ç¶åå°å
容åå
¥ openspec/changes/<name>/proposal.mdã
ææ¡å·²ä¿åãè¿æ¯æ¨ç"为ä»ä¹"ææ¡£ââæ¨éæ¶å¯ä»¥åæ¥å¨çè§£å屿¶å®åå®ã
æ¥ä¸æ¥ï¼è§æ ¼è¯´æã
é¶æ®µ6ï¼è§æ ¼è¯´æ
è§£éï¼
## è§æ ¼è¯´æ
è§æ ¼è¯´æä»¥ç²¾ç¡®ã坿µè¯çæ¯è¯å®ä¹**ä»ä¹**æä»¬æ£å¨æå»ºãå®ä»¬ä½¿ç¨éæ±/åºæ¯æ ¼å¼ï¼ä½¿é¢æè¡ä¸ºæ¸
æ°æäºã
对äºåè¿æ ·çå°ä»»å¡ï¼æä»¬å¯è½åªéè¦ä¸ä¸ªè§æ ¼è¯´ææä»¶ã
æ§è¡ï¼ åå»ºè§æ ¼è¯´ææä»¶ï¼
mkdir -p openspec/changes/<name>/specs/<capability-name>
èµ·èè§æ ¼è¯´æå 容ï¼
è¿æ¯è§æ ¼è¯´æï¼
---
## æ°å¢éæ±
### éæ±ï¼<åç§°>
<ç³»ç»åºè¯¥åä»ä¹çæè¿°>
#### åºæ¯ï¼<åºæ¯åç§°>
- **å½** <è§¦åæ¡ä»¶>
- **é£ä¹** <é¢æç»æ>
- **å¹¶ä¸** <妿éè¦é¢å¤ç»æ>
---
è¿ç§æ ¼å¼ââå½/é£ä¹/å¹¶ä¸ââä½¿éæ±å¯æµè¯ãæ¨å¯ä»¥å°å®ä»¬åé¢å°è¯»ä½æµè¯ç¨ä¾ã
ä¿åå° openspec/changes/<name>/specs/<capability>/spec.mdã
é¶æ®µ7ï¼è®¾è®¡
è§£éï¼
## 设计
设计æè·**å¦ä½**æä»¬å°æå»ºå®ââææ¯å³çãæè¡¡ãæ¹æ³ã
对äºå°åæ´ï¼è¿å¯è½å¾ç®çãæ²¡å
³ç³»ââ䏿¯æ¯ä¸ªåæ´é½éè¦æ·±å
¥ç设计讨论ã
æ§è¡ï¼ èµ·èdesign.mdï¼
è¿æ¯è®¾è®¡ï¼
---
## ä¸ä¸æ
[å
³äºå½åç¶æçç®è¦ä¸ä¸æ]
## ç®æ /éç®æ
**ç®æ ï¼**
- [æä»¬è¯å¾å®ç°ä»ä¹]
**éç®æ ï¼**
- [æç¡®è¶
åºèå´çå
容]
## å³ç
### å³ç1ï¼[å
³é®å³ç]
[æ¹æ³è§£éåçç±]
---
对äºå°ä»»å¡ï¼è¿æè·äºå
³é®å³çèä¸è¿åº¦å·¥ç¨åã
ä¿åå° openspec/changes/<name>/design.mdã
é¶æ®µ8ï¼ä»»å¡
è§£éï¼
## ä»»å¡
æåï¼æä»¬å°å·¥ä½å解为å®ç°ä»»å¡ââ驱å¨åºç¨é¶æ®µçå¤éæ¡ã
è¿äºåºè¯¥å°ãæ¸
æ°ä¸é»è¾é¡ºåºã
æ§è¡ï¼ åºäºè§æ ¼è¯´æå设计çæä»»å¡ï¼
è¿æ¯å®ç°ä»»å¡ï¼
---
## 1. [ç±»å«ææä»¶]
- [ ] 1.1 [å
·ä½ä»»å¡]
- [ ] 1.2 [å
·ä½ä»»å¡]
## 2. éªè¯
- [ ] 2.1 [éªè¯æ¥éª¤]
---
æ¯ä¸ªå¤éæ¡æä¸ºåºç¨é¶æ®µçå·¥ä½åå
ãåå¤å¥½å®ç°äºåï¼
æå – çå¾ ç¨æ·ç¡®è®¤ä»ä»¬åå¤å¥½å®ç°ã
ä¿åå° openspec/changes/<name>/tasks.mdã
é¶æ®µ9ï¼åºç¨ï¼å®ç°ï¼
è§£éï¼
## å®ç°
ç°å¨æä»¬å®ç°æ¯ä¸ªä»»å¡ï¼å¨è¿ç¨ä¸å¾éå®ä»¬ãæå°å®£å¸æ¯ä¸ªä»»å¡ï¼å¹¶å¶å°æ³¨æè§æ ¼è¯´æ/设计å¦ä½å½±åæ¹æ³ã
æ§è¡ï¼ å¯¹äºæ¯ä¸ªä»»å¡ï¼
- 宣å¸ï¼”æ£å¨å¤çä»»å¡Nï¼[æè¿°]”
- å¨ä»£ç åºä¸å®ç°åæ´
- èªç¶å°å¼ç¨è§æ ¼è¯´æ/è®¾è®¡ï¼”è§æ ¼è¯´æè¯´Xï¼æä»¥æåY”
- å¨tasks.md䏿 è®°å®æï¼
- [ ]â- [x] - ç®è¦ç¶æï¼”â ä»»å¡N宿”
ä¿æåè¿°è½»éââä¸è¦è¿åº¦è§£éæ¯ä¸è¡ä»£ç ã
ææä»»å¡åï¼
## å®ç°å®æ
ææä»»å¡å®æï¼
- [x] ä»»å¡1
- [x] ä»»å¡2
- [x] ...
åæ´å·²å®ç°ï¼è¿æä¸ä¸ªæ¥éª¤ââ让æä»¬å½æ¡£å®ã
é¶æ®µ10ï¼å½æ¡£
è§£éï¼
## 彿¡£
å½åæ´å®ææ¶ï¼æä»¬å½æ¡£å®ãè¿å°æå®ä» `openspec/changes/` ç§»å¨å° `openspec/changes/archive/YYYY-MM-DD-<name>/`ã
彿¡£çåæ´æä¸ºæ¨é¡¹ç®çå³çåå²ââæ¨éæ¶å¯ä»¥æ¾å°å®ä»¬æ¥ç解为ä»ä¹æç©ä»¥æç§æ¹å¼æå»ºã
æ§è¡ï¼
openspec-cn archive "<name>"
æ¾ç¤ºï¼
已彿¡£å°ï¼`openspec/changes/archive/YYYY-MM-DD-<name>/`
åæ´ç°å¨æ¯æ¨é¡¹ç®åå²çä¸é¨åã代ç 卿¨ç代ç åºä¸ï¼å³çè®°å½è¢«ä¿çã
é¶æ®µ11ï¼å顾ä¸ä¸ä¸æ¥
## æåï¼
æ¨åå宿äºä¸ä¸ªå®æ´çOpenSpec卿ï¼
1. **æ¢ç´¢** - æèé®é¢
2. **æ°å»º** - åå»ºåæ´å®¹å¨
3. **ææ¡** - æè·ä¸ºä»ä¹
4. **è§æ ¼è¯´æ** - 详ç»å®ä¹ä»ä¹
5. **设计** - å³å®å¦ä½
6. **ä»»å¡** - å解为æ¥éª¤
7. **åºç¨** - å®ç°å·¥ä½
8. **彿¡£** - ä¿çè®°å½
åæ ·çèå¥éç¨äºä»»ä½å¤§å°çåæ´ââå°ä¿®å¤æä¸»è¦åè½ã
---
## å½ä»¤åè
| å½ä»¤ | åä»ä¹ |
|---------|--------------|
| `/opsx:explore` | å¨å·¥ä½ä¹å/æé´æèé®é¢ |
| `/opsx:new` | å¼å§æ°åæ´ï¼éæ¥éè¿äº§åºç© |
| `/opsx:ff` | å¿«è¿ï¼ä¸æ¬¡å建ææäº§åºç© |
| `/opsx:continue` | ç»§ç»å¤çç°æåæ´ |
| `/opsx:apply` | å®ç°åæ´ä¸çä»»å¡ |
| `/opsx:verify` | éªè¯å®ç°æ¯å¦å¹é
产åºç© |
| `/opsx:archive` | 彿¡£å®æçåæ´ |
---
## ä¸ä¸æ¥æ¯ä»ä¹ï¼
å°è¯ `/opsx:new` æ `/opsx:ff` 卿¨å®é
æ³è¦æå»ºçå
容ä¸ãæ¨ç°å¨ææ¡äºèå¥ï¼
ä¼é éåºå¤ç
ç¨æ·æ³è¦ä¸é忢
å¦æç¨æ·è¯´ä»ä»¬éè¦åæ¢ãæ³è¦æåæä¼¼ä¹ä¸æå ¥ï¼
没é®é¢ï¼æ¨çåæ´ä¿åå¨ `openspec/changes/<name>/`ã
è¦å¨ä»¥åç»§ç»ï¼
- `/opsx:continue <name>` - æ¢å¤äº§åºç©å建
- `/opsx:apply <name>` - 跳转å°å®ç°ï¼å¦æä»»å¡åå¨ï¼
å·¥ä½ä¸ä¼ä¸¢å¤±ã鿶忥ã
ä¼é éåºï¼ä¸æ½å ååã
ç¨æ·åªæ³è¦å½ä»¤åè
å¦æç¨æ·è¯´ä»ä»¬åªæ³çå½ä»¤æè·³è¿æç¨ï¼
## OpenSpecå¿«éåè
| å½ä»¤ | åä»ä¹ |
|---------|--------------|
| `/opsx:explore` | æèé®é¢ï¼æ ä»£ç æ´æ¹ï¼ |
| `/opsx:new <name>` | å¼å§æ°åæ´ï¼éæ¥è¿è¡ |
| `/opsx:ff <name>` | å¿«è¿ï¼ä¸æ¬¡å建ææäº§åºç© |
| `/opsx:continue <name>` | ç»§ç»ç°æåæ´ |
| `/opsx:apply <name>` | å®ç°ä»»å¡ |
| `/opsx:verify <name>` | éªè¯å®ç° |
| `/opsx:archive <name>` | 宿å彿¡£ |
å°è¯ `/opsx:new` å¼å§æ¨ç第ä¸ä¸ªåæ´ï¼æ `/opsx:ff` å¦ææ¨æ³å¿«éç§»å¨ã
ä¼é éåºã
æ¤æ
- éµå¾ªè§£éâæ§è¡âæ¾ç¤ºâæå模å¼å¨å ³é®è½¬æ¢ç¹ï¼æ¢ç´¢åãææ¡èæ¡åãä»»å¡åã彿¡£åï¼
- å¨å®ç°æé´ä¿æåè¿°è½»éââæå¦èä¸è¯´æ
- ä¸è¦è·³è¿é¶æ®µå³ä½¿åæ´å¾å°ââç®æ æ¯æå¦å·¥ä½æµç¨
- 卿 è®°ç¹æåçå¾ ç¡®è®¤ï¼ä½ä¸è¦è¿åº¦æå
- ä¼é å¤çéåºââä»ä¸æ½åç¨æ·ç»§ç»
- 使ç¨çå®ä»£ç åºä»»å¡ââ䏿¨¡ææä½¿ç¨èå示ä¾
- 温åè°æ´èå´ââå¼å¯¼åæ´å°ä»»å¡ä½å°éç¨æ·éæ©