openspec-proposal-creation-cn
npx skills add https://github.com/forztf/open-skilled-sdd --skill openspec-proposal-creation-cn
Agent 安装分布
Skill 文档
è§èææ¡å建
éµå¾ªè§è驱å¨å¼åæ¹æ³ï¼çæå®æ´çåæ´ææ¡ã
å¿«éå¼å§
å建è§èææ¡å å«ä¸ç±»è¾åºï¼
- proposal.md – 为ä»ä¹ãåä»ä¹ãå½±åæè¦
- tasks.json – ç¼å·ç宿½æ¸ å
- spec-delta.md – æ£å¼ç鿱忴ï¼ADDED/MODIFIED/REMOVEDï¼
åºæ¬æµç¨ï¼çæåæ´ ID â èææ¶ç®å½ â èµ·èææ¡ â ç¼åè§èå·®å¼ â éªè¯ç»æ
工使µ
å¤å¶æ¤æ¸ åå¹¶è·è¸ªè¿åº¦ï¼
è§åè¿åº¦:
- [ ] 第 1 æ¥ï¼å®¡é
ç°æè§è
- [ ] 第 2 æ¥ï¼çæå¯ä¸çåæ´ ID
- [ ] 第 3 æ¥ï¼çæç®å½ç»æ
- [ ] 第 4 æ¥ï¼èµ·è proposal.mdï¼ä¸ºä»ä¹ãåä»ä¹ãå½±åæè¦ï¼
- [ ] 第 5 æ¥ï¼å建 tasks.json 宿½æ¸
å
- [ ] 第 6 æ¥ï¼ç¼å spec-delta.md è§èå·®å¼ï¼ADDED/MODIFIED/REMOVEDï¼
- [ ] 第 7 æ¥ï¼éªè¯ææ¡ç»æ
- [ ] 第 8 æ¥ï¼åç¨æ·å±ç¤ºå¹¶è¯·æ±å®¡æ¹
第 1 æ¥ï¼å®¡é ç°æè§è
å¨åå»ºææ¡åï¼äºè§£å½åç¶æï¼
# ååºææç°æè§è
find spec/specs -name "spec.md" -type f
# ååºè¿è¡ä¸ç忴以é¿å
å²çª
find spec/changes -maxdepth 1 -type d -not -path "*/archive"
# æç´¢ç¸å
³éæ±
grep -r "### Requirement:" spec/specs/
第 2 æ¥ï¼çæå¯ä¸çåæ´ ID
éæ©å ·æè¿°æ§ãURL å®å ¨çæ è¯ç¬¦ï¼
æ ¼å¼ï¼add-<feature>ãfix-<issue>ãupdate-<component>ãremove-<feature>
示ä¾ï¼
add-user-authenticationfix-payment-validationupdate-api-rate-limitsremove-legacy-endpoints
æ ¡éªï¼æ£æ¥æ¯å¦å²çªï¼
ls spec/changes/ | grep -i "<proposed-id>"
第 3 æ¥ï¼çæç®å½ç»æ
ææ åç»æåå»ºåæ´ç®å½ï¼
# å° {change-id} æ¿æ¢ä¸ºå®é
ID
mkdir -p spec/changes/{change-id}/specs/{capability-name}
示ä¾ï¼
mkdir -p spec/changes/add-user-auth/specs/authentication
第 4 æ¥ï¼èµ·è proposal.md
以 templates/proposal.md 为起ç¹ã
å¿ éç« èï¼
- Whyï¼é©±å¨åæ´çé®é¢ææºä¼
- What Changesï¼ä¿®æ¹é¡¹æ¸ å
- Impactï¼åå½±åçè§èã代ç ãAPIãç¨æ·
è¯æ°ï¼æ¸ æ°ãç®æ´ãé¢åå³çãé¿å ä¸å¿ è¦èæ¯ã
第 5 æ¥ï¼å建 tasks.json 宿½æ¸ å
å°å®ç°æåä¸ºå ·ä½ã坿µè¯çä»»å¡ãä½¿ç¨ templates/tasks.jsonã
æ ¼å¼ï¼
# 宿½ä»»å¡
```json
[
{
"number": 1,
"category": "é¶æ®µ 1ï¼åºç¡è®¾æ½",
"task": "ç¯å¢æå»ºä»»å¡ - æ°æ®åºæ¶æãä¾èµç",
"steps": [
{ "step": "åå§å Git ä»åºå¹¶é
ç½® .gitignore", "completed": false },
{ "step": "åå»ºå¹¶æ¿æ´» Python èæç¯å¢", "completed": false },
{ "step": "å建 requirements.txt æ pyproject.toml å¹¶å®è£
ä¾èµ (FastAPI, SQLAlchemy, Pydantic, Alembic ç)", "completed": false },
{ "step": "设计åå§æ°æ®åº ER å¾", "completed": false },
{ "step": "é
ç½®æ°æ®åºè¿æ¥å符串åç¯å¢åé (.env)", "completed": false },
{ "step": "åå§å Alembic è¿ç§»ç¯å¢", "completed": false }
],
"passes": false
}
]
**æä½³å®è·µ**ï¼
- æ¯ä¸ªä»»å¡å¯ç¬ç«å®æ
- 为æ¯ä¸ªä¸»è¦ç»ä»¶æ·»å æµè¯ä»»å¡
- 为æ¯ä¸ªä¸»è¦ç»ä»¶æ·»å æµè¯ä»»å¡
- å
嫿µè¯ä¸éªè¯ä»»å¡
- æä¾èµæåºï¼æ°æ®åºå
äº API çï¼
- é常 5-15 个任å¡ï¼æ´å¤æ¶åºæå
- æ¯æ¬¡ä»
å¤ç1个step
第 6 æ¥ï¼ä»¥ EARS æ ¼å¼ç¼åè§èå·®å¼
è¿æ¯æå ³é®æ¥éª¤ãè§èå·®å¼ä½¿ç¨ EARS æ ¼å¼ï¼æäºéæ±è¯æ³ï¼ã
宿´ EARS æåè§ reference/EARS_FORMAT.md
差弿ä½ï¼
## ADDED Requirements– æ°å¢è½å## MODIFIED Requirements– è¡ä¸ºåæ´ï¼å å«å®æ´æ´æ°ææ¬ï¼## REMOVED Requirements– å¼ç¨åè½
åºæ¬éæ±ç»æï¼
## ADDED Requirements
### Requirement: ç¨æ·ç»å½
WHEN ç¨æ·æäº¤ææåæ®,
ç³»ç» SHALL 认è¯ç¨æ·å¹¶å建ä¼è¯ã
#### Scenario: ç»å½æå
GIVEN ç¨æ·é®ç®±ä¸º "user@example.com" ä¸å¯ç 为 "correct123"
WHEN ç¨æ·æäº¤ç»å½è¡¨å
THEN ç³»ç»å建已认è¯ä¼è¯
AND éå®åè³ä»ªè¡¨ç
ç¨äºéªè¯ç模å¼è§ reference/VALIDATION_PATTERNS.md
第 7 æ¥ï¼éªè¯ææ¡ç»æ
å¨å±ç¤ºç»ç¨æ·åè¿è¡ä»¥ä¸æ£æ¥ï¼
ç»ææ¸
åï¼
- [ ] ç®å½åå¨ï¼`spec/changes/{change-id}/`
- [ ] proposal.md å
å« Why/What/Impact
- [ ] tasks.json å«ç¼å·ä»»å¡å表ï¼5-15 项ï¼
- [ ] è§èå·®å¼å
嫿使 é¢ï¼ADDED/MODIFIED/REMOVEDï¼
- [ ] éæ±éµå¾ª `### Requirement: <name>` æ ¼å¼
- [ ] åºæ¯ä½¿ç¨ `#### Scenario:` æ ¼å¼ï¼å个äºå·ï¼
èªå¨åæ£æ¥ï¼
# ç»è®¡å·®å¼æä½ï¼åº > 0ï¼
grep -c "## ADDED\|MODIFIED\|REMOVED" spec/changes/{change-id}/specs/**/*.md
# éªè¯åºæ¯æ ¼å¼ï¼æ¾ç¤ºè¡å·ï¼
grep -n "#### Scenario:" spec/changes/{change-id}/specs/**/*.md
# æ£æ¥éæ±æ é¢
grep -n "### Requirement:" spec/changes/{change-id}/specs/**/*.md
第 8 æ¥ï¼æäº¤ç¨æ·è¯å®¡
æ¸ æ°æ»ç»ææ¡ï¼
## Proposal Summary
**Change ID**ï¼{change-id}
**Scope**ï¼{ç®è¦æè¿°}
**å建çæä»¶**ï¼
- spec/changes/{change-id}/proposal.md
- spec/changes/{change-id}/tasks.json
- spec/changes/{change-id}/specs/{capability}/spec-delta.md
**ä¸ä¸æ¥**ï¼
请è¯å®¡ææ¡ãå¦è®¤å¯æä¿®æ£åï¼è¯·åå¤ "openspecå¼å" æ "æé¡ºåºå®æä»»å¡" å¼å§å®æ½ã
è¿é¶ä¸»é¢
EARS æ ¼å¼ç»èï¼è§ reference/EARS_FORMAT.md éªè¯æ¨¡å¼ï¼è§ reference/VALIDATION_PATTERNS.md 宿´ç¤ºä¾ï¼è§ reference/EXAMPLES.md
å¸¸è§æ¨¡å¼
æ¨¡å¼ 1ï¼æ°å¢åè½ææ¡
æ°å¢è½åæ¶ï¼
- 使ç¨
ADDED Requirementså·®å¼ - åæ¶å 嫿£ååºæ¯ä¸é误å¤ç
- å¨åºæ¯ä¸èèè¾¹çæ åµ
æ¨¡å¼ 2ï¼ç ´åæ§åæ´ææ¡
ä¿®æ¹æ¢æè¡ä¸ºæ¶ï¼
- 使ç¨
MODIFIED Requirementså·®å¼ - å å«å®æ´æ´æ°åçéæ±ææ¬
- å¨ proposal.md ä¸è¯´æåæ´å 容ä¸åå
- å¨ tasks.json ä¸èèè¿ç§»ä»»å¡
æ¨¡å¼ 3ï¼å¼ç¨ææ¡
ç§»é¤åè½æ¶ï¼
- 使ç¨
REMOVED Requirementså·®å¼ - å¨ proposal.md ä¸è®°å½ç§»é¤çç±
- å¨ tasks.json ä¸å 嫿¸ çä»»å¡
- å¨å½±åé¨åèèç¨æ·è¿ç§»
忍¡å¼é¿å
ä¸è¦ï¼
- è·³è¿éªè¯æ£æ¥ï¼å¡å¿ è¿è¡ grep 模å¼ï¼
- æªå 审é ç°æè§èå°±åå»ºææ¡
- 使ç¨å«ç³çä»»å¡æè¿°ï¼å¦”ä¿®ä¸ä¸”ï¼
- ç¼åä¸å«åºæ¯çéæ±
- 忽ç¥é误å¤çåºæ¯
- å¨ä¸ä¸ªææ¡ä¸æ··åå¤ä¸ªæ å ³åæ´
è¦ï¼
- å¨åå»ºåæ´ ID 忣æ¥å²çª
- ç¼åå ·ä½ã坿µè¯çä»»å¡
- åæ¶å 嫿£åä¸è´ååºæ¯
- ä¸ä¸ªææ¡åªå¤çä¸ä¸ªå ³æ³¨ç¹
- å¨å±ç¤ºåéªè¯ç»æ
æä»¶æ¨¡æ¿
æææ¨¡æ¿ä½äº templates/ ç®å½ï¼
- proposal.md – ææ¡ç»æ
- tasks.json – 任塿¸ åæ ¼å¼
- spec-delta.md – è§è差弿¨¡æ¿
åèèµæ
- EARS_FORMAT.md – 宿´ EARS è¯æ³æå
- VALIDATION_PATTERNS.md – Grep/bash éªè¯
- EXAMPLES.md – ç宿æ¡ç¤ºä¾
Token é¢ç®ï¼æ¤ SKILL.md 约 250 è¡ï¼ä½äºå»ºè®®ç 500 è¡ä¸éãå¼ç¨æä»¶æéå è½½ä»¥éæ¥åç°ã