spec-design
npx skills add https://github.com/zixun-github/aisdlc --skill spec-design
Agent 安装分布
Skill 文档
spec-design
æ¦è§
æ¬æè½æ¯ D2 worker skillï¼åªè´è´£äº§åºå¯è¯å®¡ç å³çææ¡£ï¼Decision Doc / RFCï¼ å° {FEATURE_DIR}/design/design.mdã
è·¯ç±æå¨ï¼æ¯å¦è·³è¿ designï¼D0ï¼ãæ¯å¦éè¦ researchï¼D1ï¼åç± using-aisdlc ä½ä¸ºå¯ä¸è·¯ç±å¨å¤å®ï¼æ¬æè½ä¸ååæµå³çã
æ ¸å¿ååï¼é¨ç¦ä¼å
ï¼spec-contextï¼â å¼ºå¶æ¶è´¹å½±ååæä¸é¡¹ç®ç¥è¯åº â å³çè½çï¼D2ï¼ãå¨ä»»ä½ååä¸é½ç¦æ¢çè·¯å¾ãç¦æ¢å¨ç¼ºå° SSOT æ¶èè¡¥æ¨è¿ã
å¼å§æ¶å®£å¸ï¼ãææ£å¨ä½¿ç¨ spec-design æè½äº§åºè®¾è®¡å³çææ¡£ï¼design/design.md / RFCï¼ãã
使¶ä½¿ç¨ / ä¸ä½¿ç¨
- ä½¿ç¨æ¶æº
- ç¨æ·è¦æ±äº§åº
design/design.mdï¼RFC/Decision Docï¼ï¼æâå设计åè¿å ¥ implementationâã - ä½ è¢«è¦æ±ææ¥å£å段/è¡¨ç»æ/任塿åå¡è¿è®¾è®¡ææ¡£ï¼æ å¿ææ¡£åå±è¢«ç ´åã
- ç¨æ·è¦æ±äº§åº
- ä¸è¦ç¨å¨
- 鿱尿ªå®æ R1ï¼æ²¡æ
requirements/solution.mdï¼ï¼å å®æéæ±æ¾æ¸ 䏿¹æ¡å³çï¼è§spec-product-clarifyï¼ã - ç¨æ·æç¡®åªè¦ implementation 计åä¸ä»»å¡ï¼ç´æ¥èµ° implementation
- 鿱尿ªå®æ R1ï¼æ²¡æ
å¿«éåè
-
硬é¨ç¦ï¼ç¬¬ä¸ä¼å 级ï¼ï¼ä»»ä½è¯»å
{FEATURE_DIR}/design/*.mdä¹åï¼å¿ é¡»å æ»¡è¶³spec-contexté¨ç¦å¹¶åæ¾FEATURE_DIR=...ï¼å 许(reuse)ï¼ï¼å¤±è´¥ç«å»åæ¢ã -
D2 强å¶è¾å ¥ï¼ç¬¬äºä¼å 级ï¼ï¼D2 å¿ é¡»è¯»å
{FEATURE_DIR}/requirements/solution.md#impact-analysisï¼å¹¶æ®æ¤å¼ºå¶è¯»åå影忍¡åç»ä»¶é¡µå ¨æä¸ç¸å ³ ADR å ¨æï¼è¯»ä¸å°å¿ é¡»æ¾å¼æ 注CONTEXT GAPï¼ä¸å¾éé»è·³è¿ã -
è¾åºä½ç½®
- D2ï¼å¿
åï¼æªè·³è¿æ¶ï¼ï¼
{FEATURE_DIR}/design/design.md
- D2ï¼å¿
åï¼æªè·³è¿æ¶ï¼ï¼
-
æå°å模æ¿
- D2ï¼
<æ¬SKILL.mdç®å½>/assets/design-template.mdï¼å¤å¶å°{FEATURE_DIR}/design/design.mdåå¡«åï¼
- D2ï¼
æéï¼åºç°âæ¯å¦è·³è¿ design / æ¯å¦éè¦ researchâç讨论æ¶ï¼è¯·åå°
using-aisdlcåè·¯ç±å¤å®ï¼æ¬æè½åªæ§è¡ D2ã
宿½æ¥éª¤ï¼Agent è¡ä¸ºè§èï¼
0) é¨ç¦ï¼å¿ é¡»å è¿ï¼å¦å忢ï¼
REQUIRED SUB-SKILLï¼å
满足 spec-context é¨ç¦å¹¶åæ¾ FEATURE_DIR=...ï¼å
许 (reuse)ï¼ã
spec-context失败 â 忢
è¥ä¸é¢æ¥é â ç«å»åæ¢ï¼ä¸è¦çæ/åä»»ä½ design/*.md å
容ï¼ã
1) 读åæå°å¿ è¦è¾å ¥ï¼ç¼ºå¤±å忢ï¼
- å¿
读ï¼éæ±ä¾§ SSOTï¼ï¼
{FEATURE_DIR}/requirements/solution.md - å¿
读ï¼å½±ååæ SSOTï¼ï¼
{FEATURE_DIR}/requirements/solution.md#impact-analysisï¼ä»ä¸æåï¼å影忍¡åæ¸ åãééµå®çä¸åéãç¸å ³ ADRã跨模åå½±åï¼ - æéï¼
{FEATURE_DIR}/requirements/prd.mdã{FEATURE_DIR}/requirements/prototype.md - å¿
读ï¼é¡¹ç®çº§ï¼å¼ºå¶ï¼ï¼
project/memory/*ï¼ä¸å¡/ææ¯/ç»æ/æ¯è¯ï¼project/components/index.mdï¼è·¨æ¨¡åä¾èµå ³ç³»å¾/äº¤äºæ¹å¼å ¥å£ï¼project/adr/index.mdï¼ADR ç´¢å¼ï¼- ä»å½±ååæå¾å°çå影忍¡åï¼è¯»å
project/components/{module}.mdå ¨æï¼å å«## API Contract/## Data Contract/## State Machines & Domain Eventsç稳å®éç¹ï¼ - ä»å½±ååæå¾å°çç¸å
³ ADRï¼è¯»å
project/adr/{adr-id}.mdå ¨æ
- è¥åå¨ï¼
{FEATURE_DIR}/design/research.mdã{FEATURE_DIR}/design/design.md
忢æ¡ä»¶ï¼ä¸å¾è补继ç»ï¼ï¼
- æ¾ä¸å°ææ æ³è¯»å
requirements/solution.mdã - éæ±ç In/Outãéªæ¶å£å¾ãå ³é®çº¦ææ æ³ä»è¾å ¥è¿½æº¯ã
ç¡¬è¦æ±ï¼ä¸å¾é级为âåªè¯»ç´¢å¼/åªè¯»ä¸é¨åâï¼ï¼
- å影忍¡åçç»ä»¶é¡µä¸ç¸å
³ ADR è¦ä¹å
¨æè¯»åæåï¼è¦ä¹å¨
design/design.md䏿¾å¼æ 注为CONTEXT GAPã - ç¦æ¢ç¨âimpact-analysis çæè¦/ç´¢å¼é¡µâæ¿ä»£å ¨æé 读ï¼å¹¶å®£ç§°â已对é½/å·²åè§âã
- 妿ååå¯¼è´æ æ³å®æå ¨æè¯»åï¼å¿ é¡»å¨ D2 è¾åºä¸æ DoD æ ä¸ºæªæ»¡è¶³ï¼å¹¶æç¡®é»å¡é¡¹ï¼è䏿¯âå å¾ééè¿ï¼åç»åè¡¥âï¼ã
2) D2ï¼designï¼å³çææ¡£ / RFCï¼
2.1 D2 çå®ä½ï¼åâå³çâï¼ä¸åâå®ç°âï¼
- åªåï¼ä¸ºä»ä¹è¿æ ·åãè¾¹çæä¹è£åãæ¹æ¡ä¸æè¡¡ã坹夿¿è¯ºè¦ç¹ãæä¹éªè¯ãå½±åä¸è¿ç§»/åæ»è¦ç¹ã
- ä¸åï¼å®ç°æ¥éª¤ã任塿åã代ç 级ç»èãæ¥å£å段éä¸ç½åãDDL ç»èã
- è¥å¿
须坹夿¿è¯ºå段/å
¼å®¹æ§ï¼å¨æ¬æåâè¦ç¹ + è¿½æº¯é¾æ¥âï¼ç»è䏿²å°
project/contracts/æ ADRã - è¥é¡¹ç®ä»¥ç»ä»¶é¡µä½ä¸ºå¥çº¦ SSOTï¼ä¼å
æç»è䏿²å°å¯¹åº
project/components/{module}.md#api-contract/#data-contractï¼ä¸æ¬ä»åºç Discover 模åé¡µç»æå¯¹é½ï¼ã
- è¥å¿
须坹夿¿è¯ºå段/å
¼å®¹æ§ï¼å¨æ¬æåâè¦ç¹ + è¿½æº¯é¾æ¥âï¼ç»è䏿²å°
2.2 design/design.md 建议æå°ç»æï¼æ¨¡æ¿ï¼
å¿ é¡»ä½¿ç¨æå°å模æ¿çæ design.mdï¼é¿å ç»ææ¼ç§»ï¼ï¼
- å¤å¶
<æ¬SKILL.mdç®å½>/assets/design-template.mdçå 容 - ç²è´´å°
{FEATURE_DIR}/design/design.md - ææ¨¡æ¿æå ä½ç¬¦è¡¥é½ï¼å°¤å ¶æ¯ C4 L1âL3ãå¤éæ¹æ¡ãé£é©ä¸éªè¯æ¸ åãè¿½æº¯é¾æ¥ï¼
åä½çº¦æï¼åªä¿çæ¯æå³ç/éªæ¶/æ¼è¿çæå°ä¿¡æ¯ï¼ä¸è¦æ°å¢âå¾ ç¡®è®¤é®é¢/TODOâç« èï¼ä¸è¦åå®ç°ç»è/任塿å/åæ®µæ¸ å/DDLã
2.3 D2-DoDï¼ç¼ºä¸ä¸å¯ï¼
- In/Out æç¡®ï¼ä¸è½è¿½æº¯å°
solution.md - æ¨èæ¹æ¡ç¨ C4 L1+L2+L3 è¯´æ¸ æ¥ï¼å±æ¬¡å¯è¿½æº¯
- å ³é®å³ç说æâ为ä»ä¹éå®/å¤é为ä½ä¸éâ
- ä¸ç°æç³»ç»ç对é½å·²å®æï¼åºäº
solution.md#impact-analysisï¼ï¼- æ¯ä¸ªå影忍¡åï¼å®æå¥çº¦å
¼å®¹æ§å£°æï¼å
¼å®¹/æ©å±/ç ´åæ§åæ´ï¼ï¼å¹¶å¼ç¨å¯¹åºç»ä»¶é¡µ
#api-contract/#data-contractçå ·ä½ä¸åé - æ¯ä¸ªç¸å ³ ADRï¼å®æADR åè§å£°æï¼éµå®/éæ°å¢/éä¿®æ¹ï¼
- 对æ¶åçç¶ææº/é¢åäºä»¶ï¼å®æå½±å说æï¼å¼ç¨ç»ä»¶é¡µ
## State Machines & Domain Eventsï¼ - åºäºä¾èµå ³ç³»å¾ï¼å®æè·¨æ¨¡åå½±å确认
- æ¯ä¸ªå影忍¡åï¼å®æå¥çº¦å
¼å®¹æ§å£°æï¼å
¼å®¹/æ©å±/ç ´åæ§åæ´ï¼ï¼å¹¶å¼ç¨å¯¹åºç»ä»¶é¡µ
- ä¸ç¡®å®æ§å·²æ¶æï¼æªç¥å ¨é¨è¿å ¥âå设 + éªè¯æ¸ åâï¼Owner/æªæ¢/å¨ä½æç¡®ï¼
DoD å¤å®è§åï¼é²æ¢âæ¿ CONTEXT GAP å½å®æâï¼ï¼
- è¥ä»»ä½å影忍¡åç»ä»¶é¡µæç¸å
³ ADR åºç°
CONTEXT GAPï¼åâä¸ç°æç³»ç»ç对é½å·²å®æâè¿ä¸é¡¹ä¸å¾å¾ééè¿ï¼å¿ é¡»å¨ D2 ä¸æç¡®è¿æ¯é»å¡/é£é©ï¼å¹¶ç»åºè¡¥é½è·¯å¾ï¼è¯»å°å ¨æ/è¡¥é½ç¥è¯åº/æ°å¢ ADRï¼ã
红æï¼åºç°ä»»ä¸å³åæ¢å¹¶çº åï¼
- 没æå
æ¿å°
FEATURE_DIR=...å°±å¼å§ådesign/*.md - æ¾ä¸å°
requirements/solution.mdè¿ç»§ç»å设计ï¼=èè¡¥ï¼ - ç¨âå¾ ç¡®è®¤é®é¢æ¸ å / TODOâæ¬ç©ºæªç¥ï¼åºæ¹ä¸ºâå设 + éªè¯æ¸ åâï¼
- æ D2 åæå®ç°è§æ ¼ï¼ä»»å¡æåãå®ç°æ¥éª¤ãåæ®µ/DDL ç»è
- 缺å°å¤éæ¹æ¡æç¼ºå°éªè¯æ¸ åï¼å¯¼è´æ æ³è¯å®¡/æ æ³è½å°ï¼
- åªè¯»
project/adr/index.md/project/components/index.md就宣称â已对é½ç°æç³»ç»â - åªè¯»é¨åå影忍¡åæåªè¯»é¨å ADRï¼å°±å®£ç§°â已对é½/å·²åè§â
- ç¨ impact-analysis æè¦æ¿ä»£ç»ä»¶é¡µ/ADR å
¨æï¼ä½æªæ 注
CONTEXT GAP - æ
CONTEXT GAPå½ä½â对é½å·²å®æâççç±ï¼è¿æ¯ DoD 失败信å·ï¼ä¸æ¯éè¿ä¿¡å·ï¼
ååä¸çååçåï¼å¸¸è§åå£ â 对åºå¨ä½ï¼
| 常è§åå£ | 对åºè§å / å¨ä½ |
|---|---|
âå
é便åå° design/design.mdï¼åå¤´åæªâ |
ç¦æ¢çè·¯å¾ï¼å
spec-context æ¿å° FEATURE_DIRï¼å¦å忢 |
| âä¿¡æ¯ä¸å ¨ä¹è½å åºå稿ï¼åé¢åè¡¥â | ç¦æ¢èè¡¥ï¼ç¼º solution.md æä¸å¯è¿½æº¯å°±åæ¢ï¼ææªç¥æ¹å为âå设 + éªè¯æ¸
åâ |
| â主管/PM 说ä¸è¦é¨ç¦/ä¸è¦æ¥ææ¡£â | é¨ç¦æ¯ç¡¬è§åï¼Get-SpecContext å¤±è´¥å°±åæ¢ï¼ä¸å æå¨ååç ´ä¾ |
| â为äºå¼åå¿«ï¼æä»»å¡/DDL/åæ®µé½åè¿è®¾è®¡â | æç»æ··å±ï¼D2 åªåå³çä¸å¯¹å¤æ¿è¯ºè¦ç¹ + è¿½æº¯é¾æ¥ï¼ç»èè¿ contracts/ADR/implementation |
| âæ²¡æ¶é´åå¤é/éªè¯æ¸ åâ | å¤éä¸éªè¯æ¯ D2-DoDï¼ç¼ºå¤±ä¼å¯¼è´æ æ³è¯å®¡/è¿å·¥ï¼å®å¯ç¼©çæ£æä¹ä¸å DoD 项 |
| âæ¨¡å页/ADR 太é¿ï¼å å«çï¼ç¨ impact-analysis æè¦å°±å¤äºâ | ç¦æ¢ç¨æè¦åå
对é½ï¼ç»ä»¶é¡µä¸ ADR è¦ä¹å
¨æè¯»åï¼è¦ä¹æ 注 CONTEXT GAPï¼ä¸ DoD çâä¸ç°æç³»ç»ç对é½å·²å®æâä¸å¾éè¿ |
| âå影忍¡å太å¤ï¼åªè¯»å两个ï¼å ¶ä½ä»¥ååè¡¥â | ç¦æ¢é¨å对é½ï¼å½±ååæååºçå影忍¡åä¸ ADR æ¯å¼ºå¶è¾å ¥ï¼è¦ä¹è¯»å ¨ãè¦ä¹æ DoD æ ä¸ºæªæ»¡è¶³å¹¶æç¡®é»å¡ï¼ä¼å æ¶æéæ±/å½±åé¢ï¼è䏿¯å·è¯»ï¼ |
| âæå·²ç»åäºä¸åæ¨èæ¹æ¡äºï¼ç°å¨ååå¤´è¯»ä¼ææ ¢äº¤ä»â | æ²æ²¡ææ¬æ æï¼å è¡¥é½å¼ºå¶è¾å ¥ååãä¸ç°æç³»ç»ç对é½ãï¼å¦å RFC ä¸å¯è¯å®¡ãåç»è¿å·¥æ´å¤§ |
常è§é误ï¼ä»¥åä¿®å¤ï¼
- é误ï¼å¨ååä¸âå
åäºå说âï¼å
çæææ¡£åè¡¥è¾å
¥ã
ä¿®å¤ï¼å è¿spec-contextä¸solution.mdé¨ç¦ï¼ç¼ºå¤±å°±åæ¢ï¼åæ¸ æ¥é»å¡é¡¹ã - éè¯¯ï¼æ research å½æâæ¥èµæâï¼åäºå¾å¤èæ¯ä½æ²¡æéªè¯æ¸
åã
ä¿®å¤ï¼ææªç¥å ¨é¨è½¬æâé£é©/å设 â éªè¯æ¹å¼ â ä¿¡å· â Owner/æªæ¢/å¨ä½âã - é误ï¼PM è¦æ±æä»»å¡/æ¥å£/è¡¨ç»æåè¿è®¾è®¡ï¼äºæ¯æ··å±ã
ä¿®å¤ï¼è®¾è®¡ææ¡£åªä¿çâ坹夿¿è¯ºè¦ç¹ + è¿½æº¯é¾æ¥âï¼å®ç°ç»èç§»å ¥ implementation æ contracts/ADRã - é误ï¼åªè¯»ç´¢å¼ï¼
components/index.mdãadr/index.mdæ impact-analysis æè¦ï¼ï¼å°±åâ已对é½/å·²åè§âã
ä¿®å¤ï¼å¯¹æ¯ä¸ªå影忍¡åä¸ ADRï¼å¿ é¡»å ¨æè¯»åå¹¶å¼ç¨å ·ä½ä¸åé/æ¡æ¬¾ï¼è¯»ä¸å°å°±åCONTEXT GAPï¼ä¸ DoD ä¸å¾éè¿ã
宿åè¾åºï¼ä¾ using-aisdlc èªå¨æ¨è¿è¯»åï¼
å½ {FEATURE_DIR}/design/design.md å·²è½çåï¼å¨åçæ«å°¾è¿½å 以ä¸ä¸¤æ®µï¼ä¸è¦çç¥ï¼ï¼
- ãæ¬é¶æ®µäº§ç©å·²è½çã请åå°
using-aisdlcè¿è¡ä¸ä¸æ¥è·¯ç±ï¼å¦æªè§¦å人工é¨ç¦ï¼Router å¯èªå¨ç»è·ï¼ãã ROUTER_SUMMARYï¼
ROUTER_SUMMARY:
stage: D2
artifacts:
- "{FEATURE_DIR}/design/design.md"
needs_human_review: true
blocked: false
block_reason: ""
notes: "RFC 建议è¯å®¡éè¿ååè¿å
¥ I1ï¼spec-implementation-planï¼"