hs-req-facilitator-skill
npx skills add https://github.com/damiencronw/hs-req-facilitator-skill --skill hs-req-facilitator-skill
Agent 安装分布
Skill 文档
HS Req Facilitator Skill
æºè½éæ±åæå©æ | Intelligent Requirements Facilitator
ð¤ 弿ºé¡¹ç®: hs-req-facilitator-skill v2.0.4
ð¤ èå·æ ¸ææºè½ç§ææéå
¬å¸ | ð§ limian@norkern.com
ð www.norkern.com | ð ææ¡£: README.md
å¯å¨æµç¨ï¼æ¿æ´»æè½åç«å³å¼å§æ§è¡å·¥ä½æµç¨
ð å¯å¨æ¥éª¤
工使µæ£æ¥ç¹ï¼æä»¥ä¸é¡ºåºæ§è¡æ¯ä¸ªæ¥éª¤ï¼å®æéªè¯åè¿å ¥ä¸ä¸æ¥
æ§è¡è§èï¼
- æ§è¡å¯å¨æµç¨ï¼ä¸è¦åªæ¾ç¤º”æè½å·²å¯å¨”æ”çå¾ æä»¤”çæ¶æ¯
- ç«å³å¼å§ï¼æè½æ¿æ´»åç«å³å¼å§å·¥ä½æµç¨ï¼é¿å åé¡¿çå¾
- æ§è¡é¡ºåºï¼æç §æ¥éª¤é¡ºåºæ§è¡ï¼ç¡®ä¿æ¯æ¥å®æå¹¶éªè¯
å¯å¨åç«å³æ§è¡ï¼
- æ§è¡æ¥éª¤0æ£æ¥ï¼ç¡®è®¤å·¥ä½æµè§åï¼
- æ§è¡æ¥éª¤1ï¼æ«æä»£ç åææ¡£
- æ ¹æ®æ«æç»æå³å®æµç¨å¹¶ç»§ç»æ§è¡
æ¥éª¤0ï¼å·¥ä½æµæ£æ¥ï¼é¦å æ§è¡ï¼
æ§è¡åæ£æ¥ï¼ç¡®è®¤ä»¥ä¸å·¥ä½æµè§å
-
Stage 2ï¼éæ±åæï¼ï¼å®æä»¥ä¸4ä¸ªåæ¥éª¤ï¼æé¡ºåºæ§è¡ï¼ï¼
- æ¥éª¤2.1ï¼è¯»åéæ±ææ¡£åä»£ç æä»¶
- æ¥éª¤2.2ï¼ç解项ç®åè½ï¼è¾åºåè½æ¦è¿°ï¼
- æ¥éª¤2.3ï¼åæé®é¢å缺失信æ¯ï¼è¾åºæ¨¡ç³ç¹ã缺失信æ¯ãä¸ä¸è´æ§ï¼
- æ¥éª¤2.4ï¼ååºåè½éæ±æ¸ åå¹¶å±ç¤ºç»ç¨æ·
-
Stage 3ï¼äº¤äºæ¾æ¸ ï¼ï¼æ§è¡ç¨æ·äº¤äº
- Stage 2宿åï¼ç«å³è¿å ¥Stage 3
- ä¸ç¨æ·äº¤äºï¼è·åè¡¥å ä¿¡æ¯ï¼
- å³ä½¿æ²¡æåç°é®é¢ï¼ä¹è³å°è¿è¡ä¸æ¬¡ç¨æ·äº¤äº
-
ç¨æ·äº¤äºè¦æ±ï¼
- 使ç¨AskUserQuestionï¼å¿ é¡»ä½¿ç¨ AskUserQuestion å·¥å ·è°ç¨
- çå¾ åçï¼çå¾ ç¨æ·åçååç»§ç»ï¼ä¸è¦ç´æ¥è¿å ¥ä¸ä¸æ¥
- ç¡®ä¿äº¤äºï¼å¨æé®åå®é çå¾ ç¨æ·åç
-
Stage 2 éªè¯è¦æ±ï¼å ¨é¨æ»¡è¶³ï¼ï¼
- æ¥éª¤2.2è¾åºï¼é¡¹ç®åè½æ¦è¿°ãæ¯ä¸ªéæ±çå®é åè½ã代ç ä¸éæ±ä¸è´æ§åæ
- æ¥éª¤2.3è¾åºï¼æ¨¡ç³ç¹è¯å«ç»æã缺失信æ¯è¯å«ç»æãä¸ä¸è´æ§è¯å«ç»æï¼æ¯ä¸ªç±»å«è³å°1个ææç¡®è¯´æ”æ “ï¼
- è¾åºå ·ä½åæç»æï¼ä¸è¦åªæ¯è¯´”å·²çè§£”æ”æªåç°é®é¢”
- æ¥éª¤2.4è¾åºå®æ´çåè½éæ±æ¸ åå¹¶å±ç¤ºç»ç¨æ·
æ¥éª¤1ï¼æ«æä»£ç åææ¡£ï¼ç¬¬ä¸æ¥ï¼
æ§è¡æ¥éª¤ï¼æè½å¯å¨åç«å³æ§è¡æ¤æ¥éª¤
ç«å³æ§è¡ä»¥ä¸å½ä»¤å¹¶æ¥çç»æï¼
# 1. æ«æéæ±ææ¡£
find . -type f \( -name "requirements.md" -o -name "*requirement*.md" -o -name "éæ±*.md" \) | grep -v node_modules | grep -v ".git"
# 2. æ«æä»£ç æä»¶
find . -type f \( -name "*.ts" -o -name "*.js" -o -name "*.py" -o -name "*.java" -o -name "*.go" -o -name "*.rs" \) | grep -v node_modules | grep -v ".git" | head -50
ç»è®¡ç»æï¼
- éæ±ææ¡£æ°éï¼[X]
- ä»£ç æä»¶æ°éï¼[Y]
ð Stage 1: æ ¹æ®æ«æç»æå³å®æµç¨
éæ©æµç¨ï¼æ ¹æ®æ«æç»æå³å®æ§è¡åªä¸ªæµç¨
-
空项ç®ï¼æ²¡æéæ±ææ¡£ï¼ï¼
- ä½¿ç¨ AskUserQuestion 询é®ç¨æ·æ¯å¦è¦åå»ºéæ±ææ¡£
- è¯¦ç»æåï¼åè§é¡¹ç®ææ¡£ä¸ç空项ç®å¼å¯¼ç¸å ³ç« è
-
å¤ä¸ªéæ±ææ¡£ï¼
- ä½¿ç¨ AskUserQuestion 询é®ç¨æ·æ¯å¦è¦åå¹¶éæ±ææ¡£
- å¦æç¨æ·åæï¼è¿å ¥Stage 5ï¼éæ±ææ¡£åå¹¶ï¼
- è¯¦ç»æåï¼åè§é¡¹ç®ææ¡£ä¸çææ¡£åå¹¶ç¸å ³ç« è
-
æéæ±ææ¡£ï¼å¸¸è§æµç¨ï¼ï¼
- ç´æ¥è¿å ¥Stage 2ï¼éæ±åæï¼ï¼ä¸éè¦å 询é®ç¨æ·
- 宿Stage 2åï¼åè¿å ¥Stage 3ï¼äº¤äºæ¾æ¸ ï¼
ð Stage 2: éæ±åæï¼å¨äº¤äºæ¾æ¸ ä¹å宿ï¼
æ§è¡é¡ºåºï¼æä»¥ä¸é¡ºåºæ§è¡æ¯ä¸ªæ¥éª¤
- 读åéæ±ææ¡£åä»£ç æä»¶
- ç解项ç®åè½
- åæé®é¢å缺失信æ¯ï¼å¨ååºåè½éæ±æ¸ åä¹å宿ï¼
- ååºåè½éæ±æ¸ åï¼å¨åæå®æåååºå¹¶å±ç¤ºç»ç¨æ·ï¼
宿鶿®µ2åï¼è¿å ¥é¶æ®µ3ï¼äº¤äºæ¾æ¸ ï¼
æµç¨æ£æ¥ç¹ï¼
- â Stage 2宿å â è¿å ¥Stage 3ï¼äº¤äºæ¾æ¸ ï¼
- â Stage 3宿å â è¿å ¥Stage 4ï¼éæ±å®åï¼
- è·³è¿ç¦æ¢ï¼Stage 2 â ç´æ¥è¿å ¥Stage 4ï¼è·³è¿Stage 3ï¼
ð 使ç¨åºæ¯
Use this skill when:
- User asks to “analyze requirements” or “review specifications”
- User mentions “unclear requirements” or “ambiguous specifications”
- User wants to “consolidate multiple requirement documents”
- User needs to “identify missing information” in requirements
- User says “improve requirements quality” or “enhance specifications”
- Working with requirements files (*requirements.md, requirement.md)
- Queries contain keywords: “requirements”, “specs”, “needs analysis”, “clarify”
å ¸å触ååºæ¯ï¼
- “å®åéæ±”
- “åæéæ±ææ¡£”
- “æ¾æ¸ ä¸æç¡®çéæ±”
- “åå¹¶éæ±ææ¡£”
- “è¯å«ç¼ºå¤±ä¿¡æ¯”
- “æåéæ±è´¨é”
ð 工使µç¨
ð 工使µç¨å¾
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â HS-REQ-FACILITATOR 工使µç¨ â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
âââââââââââââââââââ
â Stage 0 â ââââ 工使µæ£æ¥ï¼é¦å
æ§è¡ï¼
â 工使µæ£æ¥ â
âââââââââ¬ââââââââââ
â
â¼
âââââââââââââââââââ
â Stage 1 â ââââ æ«æä»£ç åææ¡£ï¼å¿
éï¼ç¬¬ä¸æ¥ï¼
â æ«æ â
â ââéæ±ææ¡£ â
â ââä»£ç æä»¶ â
âââââââââ¬ââââââââââ
â
â¼
âââââââââââââââââââ
â å³çç¹ 1 â ââââ æ ¹æ®æ«æç»æå³å®æµç¨
â (Scan Results) â
âââââââââ¬ââââââââââ
â
âââââââââââââââââââââââââââââââ¬ââââââââââââââââââââââââââââââ
â â â
â¼ â¼ â¼
âââââââââââââââââââ âââââââââââââââââââ âââââââââââââââââââ
â ç©ºé¡¹ç®æµç¨ â â å¤ææ¡£æµç¨ â â å¸¸è§æµç¨ â
â (Empty Project)â â (Multi-Docs) â â (Regular) â
âââââââââ¬ââââââââââ âââââââââ¬ââââââââââ âââââââââ¬ââââââââââ
â â â
â¼ â¼ â¼
âââââââââââââââââââ âââââââââââââââââââ âââââââââââââââââââ
â AskUserQuestionâ â AskUserQuestionâ â ç´æ¥è¿å
¥ â
â "åå»ºéæ±ææ¡£?" â â "åå¹¶éæ±ææ¡£?" â â Stage 2 â
â â â â â â â â
â [EMPTY-PROJECT]â â [åæ] âââââââââ â éæ±åæ â
â â â Stage 5 â â (MANDATORY) â
â â â ææ¡£åå¹¶ â â â
âââââââââââââââââââ â â â âââââââââââââââ
âââââââââââââââââââ â â Stage 2.1 â
â ââè¯»åææ¡£ â
â ââ读å代ç â
â
â âââââââââââââââ
â â Stage 2.2 â
â ââçè§£åè½ â ââââ å¿
é¡»è¾åºé¡¹ç®æ¦è¿°
â ââéæ±åæ â
â
â âââââââââââââââ
â â Stage 2.3 â
â ââæ¨¡ç³ç¹è¯å« â ââââ å¿
é¡»è¾åºåæç»æ
â ââç¼ºå¤±ä¿¡æ¯ â
â ââä¸ä¸è´æ§ â
â
â âââââââââââââââ
â â Stage 2.4 â
â ââéæ±æ¸
å â ââââ å¿
é¡»å±ç¤ºç»ç¨æ·
â ââéæ±åç±» â
â
ââââââââââ¬âââââââââ
â
â¼
âââââââââââââââââââ
â Stage 3 â ââââ å
³é®æ£æ¥ç¹ï¼ä¸è½è·³è¿ï¼ï¼
â äº¤äºæ¾æ¸
â
â â
â ð´ å
³é®é¶æ®µ â ââââ ä¸è½è·³è¿ï¼
â â
ââââââââââ¬ââââââââââ
â
â¼
âââââââââââââââââââ
â AskUserQuestion â ââââ å¿
须使ç¨AskUserQuestionå·¥å
·
â å·¥å
· â
â â
â ââæ£æµå·¥å
·å¯ç¨æ§ â
â ââçææ¾æ¸
é®é¢ â
â ââçå¾
ç¨æ·åç â ââââ å¿
é¡»çå¾
ç¨æ·åçï¼
â ââæ¶éåç â
ââââââââââ¬ââââââââââ
â
ââââââââââââââââââââââââââââââââââââââ
â
â¼
âââââââââââââââââââ
â é误å¤çæµç¨ â
â (Error Handler) â
â â
â ââå·¥å
·ä¸å¯ç¨ â ââââ é级å°å¯¹è¯æ¹å¼
â â â
â âââ æ ¼å¼äº¤äº â
â â
â ââæ ååº â ââââ ç»§ç»éè¯
â â â
â ââ忬¡è¯¢é® â
ââââââââââ¬ââââââââââ
â
â¼
âââââââââââââââââââ
â Stage 3 â
â ç»§ç»æ§è¡ â
â â
â ââè°æ´é®é¢ â
â ââæç»äº¤äº â ââââ è³å°ä¸æ¬¡äº¤äº
â ââå®ææ¾æ¸
â
ââââââââââ¬ââââââââââ
â
â¼
âââââââââââââââââââ
â Stage 4 â ââââ æ¡ä»¶ï¼Stage 3宿å
â éæ±å®å â
â (Optional) â
ââââââââââ¬ââââââââââ
â
â¼
âââââââââââââââââââ
â Spec-Workflow â
â éæ â
â â
â ââæ£æµé¡¹ç®ç»æ â
â ââçæéæ±ææ¡£ â
â ââæ´æ°è§æ ¼ â
âââââââââââââââââââ
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â æµç¨è¯´æ â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ¤
â â
â ð´ å
³é®é¶æ®µ: Stage 3 æ¯å
³é®é¶æ®µï¼ä¸è½è·³è¿ â
â â
â ðµ AskUserQuestion: å¿
é¡»ä½¿ç¨ AskUserQuestion å·¥å
·ä¸ç¨æ·äº¤äº â
â - 妿工å
·å¯ç¨ï¼ä½¿ç¨ AskUserQuestion å·¥å
· â
â - 妿工å
·ä¸å¯ç¨ï¼é级å°å¯¹è¯æ¹å¼ï¼â æ ¼å¼ï¼ â
â â
â â æ£æ¥ç¹: å
³é®æ£æ¥ç¹ï¼çå¾
ç¨æ·åçåæè½ç»§ç» â
â â
â ð DECISION POINTS: â
â 1. æ«æç»æ â 空项ç®/å¤ææ¡£/å¸¸è§æµç¨ â
â 2. Stage 2 â å¿
须宿ææ4ä¸ªåæ¥éª¤ â
â 3. Stage 3 â äº¤äºæ¾æ¸
ï¼è³å°ä¸æ¬¡äº¤äºï¼ â
â 4. Stage 4 â å¿
é¡»å¨Stage 3å®æåæ§è¡ â
â â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Stage 1: æ ¹æ®æ«æç»æå³å®æµç¨
æ ¹æ®æ¥éª¤1çæ«æç»æï¼å³å®æ§è¡åªä¸ªæµç¨ï¼
-
空项ç®ï¼æ²¡æéæ±ææ¡£ï¼ï¼
- ä½¿ç¨ AskUserQuestion 询é®ç¨æ·æ¯å¦è¦åå»ºéæ±ææ¡£
- è¯¦ç»æåï¼åè§é¡¹ç®ææ¡£ä¸ç空项ç®å¼å¯¼ç¸å ³ç« è
-
å¤ä¸ªéæ±ææ¡£ï¼
- ä½¿ç¨ AskUserQuestion 询é®ç¨æ·æ¯å¦è¦åå¹¶éæ±ææ¡£
- å¦æç¨æ·åæï¼è¿å ¥é¶æ®µ5ï¼éæ±ææ¡£åå¹¶ï¼
- è¯¦ç»æåï¼åè§é¡¹ç®ææ¡£ä¸çææ¡£åå¹¶ç¸å ³ç« è
-
å¸¸è§æµç¨ï¼æéæ±ææ¡£ï¼ï¼
- ç´æ¥è¿å ¥Stage 2ï¼éæ±åæï¼ï¼ä¸éè¦å 询é®ç¨æ·
- 宿Stage 2åï¼åè¿å ¥Stage 3ï¼äº¤äºæ¾æ¸ ï¼
Stage 2: éæ±åæï¼å¿ é¡»å¨äº¤äºæ¾æ¸ ä¹å宿ï¼
æ§è¡è¦æ±ï¼æ¤é¶æ®µæä»¥ä¸é¡ºåºæ§è¡ï¼æ¯ä¸ªæ¥éª¤è¾åºæç¡®ç»æï¼å®æåè¿å ¥Stage 3ï¼äº¤äºæ¾æ¸ ï¼ï¼
æ§è¡åæ£æ¥ï¼å¨å¼å§Stage 2ä¹åï¼ç¡®è®¤å·²æ§è¡æ¥éª¤1ï¼æ«æä»£ç åææ¡£ï¼å¹¶è·å¾æ«æç»æï¼
æ¥éª¤2.1ï¼è¯»åéæ±ææ¡£åä»£ç æä»¶ï¼å¿ é¡»æ§è¡ï¼
æ§è¡è¦æ±ï¼å®é 读åæä»¶ï¼ä¸è½è·³è¿ï¼
-
æ¥æ¾å¹¶è¯»åéæ±ææ¡£ï¼
# å¿ é¡»æ§è¡ï¼æ¥æ¾éæ±ææ¡£ find . -type f \( -name "requirements.md" -o -name "*requirement*.md" -o -name "éæ±*.md" \) | grep -v node_modules | grep -v ".git" # å¿ é¡»æ§è¡ï¼è¯»åæ¾å°çéæ±ææ¡£ # ä½¿ç¨ Read å·¥å ·è¯»åæ¯ä¸ªæ¾å°çéæ±ææ¡£ -
读åå ³é®ä»£ç æä»¶ï¼
# å¿ é¡»æ§è¡ï¼æ¥æ¾ä»£ç æä»¶ find . -type f \( -name "*.ts" -o -name "*.js" -o -name "*.py" -o -name "*.java" -o -name "*.go" -o -name "*.rs" \) | grep -v node_modules | grep -v ".git" | head -20 # å¿ é¡»æ§è¡ï¼è¯»åå ³é®ä»£ç æä»¶ï¼è³å°5-10个æä»¶ï¼ # ä½¿ç¨ Read å·¥å ·è¯»å主è¦ä¸å¡é»è¾æä»¶ -
妿项ç®ä½¿ç¨ spec-workflowï¼è·åä¸ä¸æï¼
- å°è¯ä½¿ç¨ spec-workflow MCP å·¥å ·è·å模æ¿åä¸ä¸æ
- 妿MCPä¸å¯ç¨ï¼ä½¿ç¨ spec-workflow CLI æç´æ¥çææ åæ ¼å¼
éªè¯ç¹ï¼å®é 读åæä»¶å 容ï¼ä¸è½åªæ¯ååºæä»¶åï¼
æ¥éª¤2.2ï¼ç解项ç®åè½ï¼å ³é®æ¥éª¤ï¼ä¸è½è·³è¿ï¼
éè¦æ¥éª¤ï¼å ç解项ç®çå®é åè½ï¼ååæç¼ºå¤±ä¿¡æ¯ï¼
â ï¸ æ§è¡åæ£æ¥ï¼
- æ¥éª¤2.1已宿ï¼å·²è¯»åéæ±ææ¡£åä»£ç æä»¶ï¼
- å·²åå¤å¥½å¼å§ç解项ç®åè½
ð æ ¸å¿è¦æ±ï¼æ¤æ¥éª¤å¿ é¡»åç¨æ·å±ç¤ºé¡¹ç®åè½æ¦è¿°ï¼
â ï¸ éè¦ï¼ç¨æ·å¯å¨æè½åï¼éè¦ç¥é被åæçé¡¹ç®æ¯ä»ä¹ãè§£å³ä»ä¹é®é¢ã主è¦åè½åææ¯æ ï¼è¿æ ·æè½çè§£åç»çéæ±åæã
å¿ é¡»è¾åºä»¥ä¸å å®¹ï¼æ¯ä¸ªé¨åé½å¿ é¡»æå ·ä½è¾åºå¹¶å±ç¤ºç»ç¨æ·ï¼ä¸è½ä¸ºç©ºï¼ï¼
-
é¡¹ç®æ´ä½åè½æè¿°ï¼å¿ é¡»è¾åºå¹¶å±ç¤ºç»ç¨æ·ï¼ä¸è½åªæ¯è¯´”å·²çè§£”ï¼ï¼
## 项ç®åè½æ¦è¿° åºäºè¯»åç代ç åææ¡£ï¼åæå¹¶åçï¼ ### 1. é¡¹ç®æ¯ä»ä¹ï¼ [æç¡®è¯´æï¼è¿ä¸ªé¡¹ç®æ¯ä»ä¹ï¼å®çæ ¸å¿åè½æ¯ä»ä¹ï¼] ### 2. 项ç®è§£å³çé®é¢ [æç¡®è¯´æï¼è¿ä¸ªé¡¹ç®è§£å³ä»ä¹é®é¢ï¼ä¸ºè°æå¡ï¼] ### 3. 主è¦åè½æ¨¡å [ååºä¸»è¦åè½æ¨¡åï¼æ¯ä¸ªæ¨¡å说æå ¶åè½] - 模å1ï¼[åè½æè¿°] - 模å2ï¼[åè½æè¿°] ... ### 4. é¡¹ç®ææ¯æ [ååºé¡¹ç®ä½¿ç¨çä¸»è¦ææ¯æ ]éè¦è¦æ±ï¼
- â å¿ é¡»åç¨æ·å±ç¤ºè¿ä¸ªé¡¹ç®åè½æ¦è¿°ï¼è®©ç¨æ·äºè§£è¢«åæç软件æ¯å¹²ä»ä¹ç
- â è¾åºæç¡®ç项ç®åè½æè¿°ï¼ä¸è½åªæ¯è¯´”å·²çè§£”
- â ç¡®ä¿ç¨æ·è½å¤ç解项ç®çåºæ¬æ åµååç»§ç»åæ
-
æ¯ä¸ªéæ±çå®é åè½ï¼å¿ é¡»è¾åºï¼å¿ 须忿¯ä¸ªéæ±ï¼ï¼
## éæ±åè½åæ åºäºå¯¹é¡¹ç®ççè§£ï¼åææ¯ä¸ªéæ±ï¼ ### éæ±1: [éæ±æ 颿ç¼å·] - **éæ±æè¿°**ï¼[éæ±ææ¡£ä¸çåå§æè¿°] - **å®é åè½**ï¼[è¿ä¸ªéæ±å¯¹åºçå®é åè½æ¯ä»ä¹] - **åè½è¡ä¸º**ï¼[è¿ä¸ªåè½åä»ä¹ãæä¹åãå ·ä½è¡ä¸ºæ¯ä»ä¹] - **è¾å ¥è¾åº**ï¼[è¾å ¥æ¯ä»ä¹ãè¾åºæ¯ä»ä¹ãåæ°æ ¼å¼] - **代ç å®ç°æ åµ**ï¼[代ç 䏿¯å¦å·²å®ç°ãå¦ä½å®ç°çã代ç ä½ç½®] - **å®ç°ç¶æ**ï¼[å·²å®ç°/æªå®ç°/é¨åå®ç°] ### éæ±2: [éæ±æ 颿ç¼å·] ... **æ§è¡è¦æ±ï¼åæææéæ±ï¼ä¸è½è·³è¿ä»»ä½éæ±ï¼** -
代ç ä¸éæ±çä¸è´æ§ï¼å¿ é¡»è¾åºï¼å¿ 须对æ¯ä»£ç åææ¡£ï¼ï¼
## 代ç ä¸éæ±ä¸è´æ§åæ 对æ¯ä»£ç å®ç°åéæ±ææ¡£ï¼ ### 代ç ä¸å·²å®ç°ä½éæ±ææ¡£ä¸æªæè¿°çåè½ - åè½1ï¼[åè½åç§°] * 代ç ä½ç½®ï¼[æä»¶è·¯å¾åè¡å·] * åè½æè¿°ï¼[åè½åä»ä¹] * 建议ï¼[æ¯å¦åºè¯¥å¨éæ±ææ¡£ä¸è¡¥å ] ### éæ±ææ¡£ä¸æè¿°ä½ä»£ç 䏿ªå®ç°çåè½ - åè½1ï¼[åè½åç§°] * éæ±ä½ç½®ï¼[éæ±ææ¡£ä¸çä½ç½®] * åè½æè¿°ï¼[éæ±æè¿°çåè½] * ç¶æï¼[计åå®ç°/å·²åºå¼/å¾ å®ç°] ### 代ç åéæ±ä¸è´çåè½ - åè½1ï¼[åè½åç§°] * éæ±ä½ç½®ï¼[éæ±ææ¡£ä¸çä½ç½®] * 代ç ä½ç½®ï¼[代ç ä¸çä½ç½®] * ä¸è´æ§è¯´æï¼[说æä¸ºä»ä¹ä¸è´]éªè¯ç¹ï¼è¾åºæç¡®ç对æ¯ç»æï¼ä¸è½åªæ¯è¯´”已对比ï¼
æ©å±2.2.1ï¼ä»£ç 注éåæï¼èªå¨æåéå«éæ±ï¼
æ§è¡ä½ç½®ï¼å¨æ¥éª¤2.2宿åï¼æ¥éª¤2.3ä¹åæ§è¡
åè½è¯´æï¼ä»ä»£ç 注é䏿åéå«çä¸å¡éæ±ãææ¯çº¦æã设计å³ççææ¡£ä¸æªæç¡®è¯´æçä¿¡æ¯ã
æ§è¡æ¥éª¤ï¼
æ¥éª¤Aï¼æ«æä»£ç 注é
- æ«ææææ¯æçä»£ç æä»¶ï¼.js, .ts, .py, .java, .go, .rs, .cpp, .c#ï¼
- æåæææ³¨éå 容ï¼è¡å 注éãåæ³¨éãææ¡£æ³¨éï¼
- è¯å«æ³¨éä¸çå ³é®è¯å模å¼
æ¥éª¤Bï¼åææ³¨éå 容 使ç¨AIåææ³¨éï¼æå以ä¸ç±»åçä¿¡æ¯ï¼
- TODO/FIXME注éï¼æªå®æçåè½æéè¦ä¿®å¤çé®é¢
- ä¸å¡é»è¾æ³¨éï¼è§£é为ä»ä¹è¿æ ·åçä¸å¡åå
- ææ¯å³ç注éï¼ä¸ºä»ä¹éæ©ç¹å®ææ¯ææ¶æ
- 约æè¯´ææ³¨éï¼æ§è½ãå®å ¨ãå ¼å®¹æ§ç约æ
- è®¾è®¡æ¨¡å¼æ³¨éï¼ä½¿ç¨ç设计模å¼åæå¾
- è¾¹ç¼æ 嵿³¨éï¼ç¹æ®å¤çé»è¾ååå
æ¥éª¤Cï¼æ å°å°éæ±ç±»å å°æåçä¿¡æ¯æ å°å°æ åéæ±ç±»åï¼
- åè½éæ±ï¼æªå®ç°çåè½ã颿è¡ä¸º
- éåè½éæ±ï¼æ§è½ãå®å ¨ãå¯é æ§è¦æ±
- çº¦ææ¡ä»¶ï¼ææ¯çº¦æãä¸å¡è§å
- å设æ¡ä»¶ï¼éå«çå设ååç½®æ¡ä»¶
è¾åºæ ¼å¼ï¼
## ä»£ç æ³¨éåæç»æ
### ä»ä»£ç 注éæåçéå«éæ±
#### åè½ç¸å
³æ³¨é
1. **[æä»¶å:è¡å·]** [注éæå½]
- **æåçéæ±**ï¼[æè¿°]
- **éæ±ç±»å**ï¼[åè½/éåè½/约æ]
- **ä¼å
级**ï¼[P0/P1/P2]
- **å®ç°ç¶æ**ï¼[å·²å®ç°/æªå®ç°/é¨åå®ç°]
- **代ç ä½ç½®**ï¼[å
·ä½ä½ç½®]
#### ææ¯çº¦ææ³¨é
1. **[æä»¶å:è¡å·]** [注éæå½]
- **约æç±»å**ï¼[æ§è½/å®å
¨/å
¼å®¹/å
¶ä»]
- **约ææè¿°**ï¼[å
·ä½è¦æ±]
- **å½±åèå´**ï¼[å½±åçæ¨¡åæåè½]
- **建议**ï¼[å¦ä½å¤ç]
#### 设计å³ç注é
1. **[æä»¶å:è¡å·]** [注éæå½]
- **å³çå
容**ï¼[åäºä»ä¹å³ç]
- **å³çåå **ï¼[为ä»ä¹è¿æ ·å]
- **æ¿ä»£æ¹æ¡**ï¼[èèè¿çå
¶ä»æ¹æ¡]
- **å½±å**ï¼[对系ç»çå½±å]
#### å¾
åäºé¡¹æ³¨é
1. **[æä»¶å:è¡å·]** TODO: [å
容]
- **ä»»å¡æè¿°**ï¼[éè¦åä»ä¹]
- **ä¼å
级**ï¼[é«/ä¸/ä½]
- **é¢è®¡å·¥ä½é**ï¼[大/ä¸/å°]
- **å
³èåè½**ï¼[ä¸åªä¸ªåè½ç¸å
³]
### ç»è®¡æè¦
- æ»æ³¨éæ°ï¼[X]
- åç°éå«éæ±æ°ï¼[Y]
- å
¶ä¸åè½éæ±ï¼[A]个
- å
¶ä¸éåè½éæ±ï¼[B]个
- å
¶ä¸ææ¯çº¦æï¼[C]个
- å¾
åäºé¡¹ï¼[D]个
æç¤ºè¯æ¨¡æ¿ï¼
ä½ æ¯ä¸ä¸ªéæ±åæä¸å®¶ã请åæä»¥ä¸ä»£ç 注éï¼æåå
¶ä¸çéå«éæ±ã
ä»£ç æä»¶ï¼{file_path}
注éå
容ï¼
{comment_text}
请ä»ä»¥ä¸ç»´åº¦åæï¼
1. ä¸å¡éæ±ï¼æ³¨éä¸æç¤ºçç¨æ·éæ±æä¸å¡è§å
2. åè½éæ±ï¼éè¦å®ç°ä½æªææ¡£åçåè½
3. éåè½éæ±ï¼æ§è½ãå®å
¨ãå¯é æ§çè¦æ±
4. ææ¯çº¦æï¼ææ¯éæ©çåå åéå¶
5. 设计å³çï¼æ¶ææå®ç°å³çççç±
6. å¾
åäºé¡¹ï¼TODOãFIXMEãHACKçæ è®°
请以JSONæ ¼å¼è¿åï¼
{
"implied_requirements": [
{
"type": "functional|non-functional|constraint",
"category": "ä¸å¡éæ±|åè½éæ±|æ§è½|å®å
¨|约æ|å³ç|å¾
å",
"description": "éæ±æè¿°",
"priority": "P0|P1|P2",
"rationale": "æå便®",
"code_location": "æä»¶:è¡å·",
"implementation_status": "å·²å®ç°|æªå®ç°|é¨åå®ç°"
}
],
"statistics": {
"total_comments": 0,
"implied_requirements_count": 0,
"functional_count": 0,
"non_functional_count": 0,
"constraints_count": 0,
"todo_count": 0
}
}
æ¥éª¤2.3ï¼åæé®é¢å缺失信æ¯ï¼å¿ éï¼å¿ é¡»å¨ååºåè½éæ±æ¸ åä¹å宿ï¼
æ§è¡è¦æ±ï¼æ¤æ¥éª¤ä¸è½è·³è¿ï¼å¿ é¡»åºäºæ¥éª¤2.2çåè½çè§£æ¥åæé®é¢ï¼
â ï¸ æ§è¡åæ£æ¥ï¼
- æ¥éª¤2.1已宿ï¼å·²è¯»åéæ±ææ¡£åä»£ç æä»¶ï¼
- æ¥éª¤2.2已宿ï¼å·²ç解项ç®åè½å¹¶è¾åºåè½æ¦è¿°ï¼
- å·²åå¤å¥½å¼å§åæé®é¢å缺失信æ¯
å¿ é¡»è¾åºä»¥ä¸å å®¹ï¼æ¯ä¸ªé¨åé½å¿ é¡»æå ·ä½è¾åºï¼ä¸è½ä¸ºç©ºï¼ï¼
-
模ç³ç¹è¯å«ï¼å¿ é¡»è¾åºï¼è³å°ååº1个ææç¡®è¯´æ”æ “ï¼ï¼
## 模ç³ç¹è¯å«ç»æ åºäºåè½çè§£ï¼è¯å«ä»¥ä¸æ¨¡ç³ç¹ï¼ 模ç³ç¹1ï¼[å ·ä½æè¿°] - ä½ç½®ï¼[éæ±ææ¡£ä¸çä½ç½®ï¼å¦ï¼requirements.md 第Xè¡] - é®é¢ï¼[为ä»ä¹æ¨¡ç³ã缺失ä»ä¹ä¿¡æ¯] - æ¯å¦ä¸ºè¯¯æ¥ï¼[代ç å®ç°æ¯å¦å·²ç»è¯´æäºè¿é¨åä¿¡æ¯] - å¦ä½ä¿®å¤ï¼[éè¦ä»ä¹ä¿¡æ¯æ¥ä¿®å¤] 模ç³ç¹2ï¼[å ·ä½æè¿°] ... 妿æªåç°æ¨¡ç³ç¹ï¼å¿ é¡»æç¡®è¯´æï¼ "ç»è¿è¯¦ç»åæï¼æªåç°æ¨¡ç³ç¹ã代ç å®ç°åéæ±ææ¡£é½æ¸ æ°æç¡®ã" -
缺失信æ¯è¯å«ï¼å¿ é¡»è¾åºï¼è³å°ååº1个ææç¡®è¯´æ”æ “ï¼ï¼
## 缺失信æ¯è¯å«ç»æ åºäºåè½çè§£ï¼è¯å«ä»¥ä¸ç¼ºå¤±ä¿¡æ¯ï¼ 缺失信æ¯1ï¼[缺å°ä»ä¹ï¼å¦ï¼éªæ¶æ åãè¾å ¥è¾åºå®ä¹ãé误å¤çç] - å ³èéæ±ï¼[åªä¸ªéæ±ç¼ºå°ï¼å¼ç¨å ·ä½éæ±åç§°æç¼å·] - 为ä»ä¹æ¯é®é¢ï¼[为ä»ä¹éè¦è¿ä¸ªä¿¡æ¯ï¼å¯¹åè½çè§£çå½±å] - æ¯å¦ä¸ºè¯¯æ¥ï¼[代ç å®ç°æ¯å¦å·²ç»è¯´æäºï¼å¦ææ¯è¯¯æ¥è¯·è¯´æåå ] - å¦ä½ä¿®å¤ï¼[éè¦ä»ä¹ä¿¡æ¯æ¥ä¿®å¤] 缺失信æ¯2ï¼[缺å°ä»ä¹] ... 妿æªåç°ç¼ºå¤±ä¿¡æ¯ï¼å¿ é¡»æç¡®è¯´æï¼ "ç»è¿è¯¦ç»åæï¼æªåç°ç¼ºå¤±ä¿¡æ¯ãææåè½éæ±é½æå®æ´çä¿¡æ¯ã" -
ä¸ä¸è´æ§è¯å«ï¼å¿ é¡»è¾åºï¼è³å°ååº1个ææç¡®è¯´æ”æ “ï¼ï¼
## ä¸ä¸è´æ§è¯å«ç»æ 对æ¯ä»£ç åææ¡£ï¼è¯å«ä»¥ä¸ä¸ä¸è´ï¼ ä¸ä¸è´1ï¼[æè¿°ä¸ä¸è´çå°æ¹] - 代ç ä¸ï¼[代ç ä¸å¦ä½å®ç°çï¼å¼ç¨å ·ä½ä»£ç ä½ç½®] - ææ¡£ä¸ï¼[ææ¡£ä¸å¦ä½æè¿°çï¼å¼ç¨å ·ä½ææ¡£ä½ç½®] - å½±åï¼[è¿ç§ä¸ä¸è´å¯¹åè½çè§£çå½±å] - 建议ï¼[å¦ä½ä¿®å¤ï¼å»ºè®®ä¿ç代ç å®ç°è¿æ¯ææ¡£æè¿°] ä¸ä¸è´2ï¼[æè¿°ä¸ä¸è´çå°æ¹] ... 妿æªåç°ä¸ä¸è´ï¼å¿ é¡»æç¡®è¯´æï¼ "ç»è¿è¯¦ç»å¯¹æ¯ï¼æªåç°ä¸ä¸è´ã代ç å®ç°ä¸éæ±ææ¡£å®å ¨ä¸è´ã"
éªè¯ç¹ï¼å ¨é¨æ»¡è¶³ï¼ï¼
- â å¿ é¡»è¾åºå ·ä½ç模ç³ç¹ã缺失信æ¯åä¸ä¸è´æ§ï¼æ¯ä¸ªç±»å«è³å°1个ææç¡®è¯´æ”æ “ï¼
- â ä¸è½åªæ¯è¯´”没æåç°é®é¢”ï¼å¿ 须对æ¯ä¸ªç±»å«æç¡®è¯´æ
- â æ¯ä¸ªè¯å«å°çé®é¢é½å¿ é¡»å å«ï¼ä½ç½®ãé®é¢æè¿°ãæ¯å¦ä¸ºè¯¯æ¥ãå¦ä½ä¿®å¤
- â å¦ææ²¡æåç°é®é¢ï¼å¿ é¡»æç¡®è¯´æï¼”ç»è¿åæï¼æªåç°æ¨¡ç³ç¹ãç¼ºå¤±ä¿¡æ¯æä¸ä¸è´æ§ã”
- â è¾åºæ ¼å¼å¿ é¡»æ¸ æ°ï¼ä¾¿äºåç»çææ¾æ¸ é®é¢
常è§é误示ä¾ï¼é¿å ï¼ï¼
- â “æªåç°é®é¢”ï¼å¤ªç¬¼ç»ï¼å¿ é¡»å类说æï¼
- â “éæ±ææ¡£å¾å®å”ï¼å¿ é¡»æç¡®è¯´ææ¯ä¸ªç±»å«çæ åµï¼
- â è·³è¿æ¤æ¥éª¤ç´æ¥è¿å ¥æ¥éª¤2.4ï¼ç¦æ¢ï¼
æ¥éª¤2.4ï¼ååºåè½éæ±æ¸ åï¼å¿ éï¼å¿ é¡»å¨åæå®æåååºå¹¶å±ç¤ºç»ç¨æ·ï¼
æ§è¡æ¡ä»¶ï¼å®ææ¥éª¤2.2å2.3åï¼æè½æ§è¡æ¤æ¥éª¤ï¼
å¿ é¡»è¾åºä»¥ä¸å 容ï¼
## åè½éæ±æ¸
å
### æ ¸å¿åè½éæ±ï¼P0ï¼
1. [åè½åç§°]
- åè½æè¿°ï¼[è¿ä¸ªåè½åä»ä¹]
- åè½è¡ä¸ºï¼[è¿ä¸ªåè½æä¹å]
- è¾å
¥è¾åºï¼[è¾å
¥æ¯ä»ä¹ãè¾åºæ¯ä»ä¹]
- 代ç å®ç°æ
åµï¼[å·²å®ç°/æªå®ç°/é¨åå®ç°]
- éæ±ææ¡£ä½ç½®ï¼[ææ¡£ä¸çä½ç½®]
2. [åè½åç§°]
...
### éè¦åè½éæ±ï¼P1ï¼
...
### ä¸è¬åè½éæ±ï¼P2ï¼
...
### éåè½æ§éæ±
- æ§è½éæ±ï¼[ååº]
- å®å
¨éæ±ï¼[ååº]
- å¯é æ§éæ±ï¼[ååº]
éªè¯ç¹ï¼è¾åºå®æ´çåè½éæ±æ¸ åï¼å 嫿æåè½éæ±ååç±»ï¼
å ³é®æ£æ¥ç¹ï¼Stage 2宿åï¼å¿ é¡»è¿å ¥Stage 3ï¼äº¤äºæ¾æ¸ ï¼ï¼ä¸è½è·³è¿ï¼
è¯¦ç»æåï¼åè§é¡¹ç®ææ¡£ä¸çéæ±åæç¸å ³ç« è
Stage 3: äº¤äºæ¾æ¸ ï¼éè¿AskUserQuestionä¸ç¨æ·äº¤äºè¡¥å éæ±ï¼
éè¦é¶æ®µï¼ä¸è½è·³è¿ï¼
éè¦ï¼
- â å¿ é¡»å¨Stage 2宿åæè½è¿å ¥æ¤é¶æ®µ
- â ä¸è½å¨Stage 2ä¹åç´æ¥è¿å ¥Stage 4ï¼éæ±å®åï¼
- â å¿ é¡»éè¿ AskUserQuestion å·¥å ·ä¸ç¨æ·äº¤äºï¼è¡¥å 缺失çéæ±ä¿¡æ¯
- â åºäºStage 2çåæç»æï¼åè½éæ±æ¸ ååé®é¢åæï¼çææ¾æ¸ é®é¢
- â å¿ é¡»è³å°è¿è¡ä¸æ¬¡ AskUserQuestion 交äºï¼å³ä½¿åæç»æå¾å®å
æ§è¡æ£æ¥æ¸ åï¼
- Stage 2å·²å®æï¼æ¥éª¤2.1-2.4å
¨é¨å®æï¼
- æ¥éª¤2.1ï¼å·²è¯»åéæ±ææ¡£åä»£ç æä»¶
- æ¥éª¤2.2ï¼å·²ç解项ç®åè½å¹¶è¾åºåè½æ¦è¿°
- æ¥éª¤2.3ï¼å·²åæé®é¢å缺失信æ¯ï¼æ¨¡ç³ç¹ã缺失信æ¯ãä¸ä¸è´æ§ï¼
- æ¥éª¤2.4ï¼å·²ååºåè½éæ±æ¸ åå¹¶å±ç¤ºç»ç¨æ·
- åºäºStage 2çåæç»æçæäºæ¾æ¸ é®é¢
- ä½¿ç¨ AskUserQuestion å·¥å ·ä¸ç¨æ·äº¤äº
- æ¶éäºç¨æ·åçï¼å¿ é¡»çå¾ ç¨æ·åçï¼ä¸è½ç´æ¥ç»§ç»ï¼
- åºäºç¨æ·åçè°æ´äºåç»é®é¢ï¼å¦éè¦ï¼
- æç»äº¤äºç´å°ææå ³é®é®é¢é½å¾å°åç
注æï¼å®æStage 3çææäº¤äºåï¼æè½è¿å ¥Stage 4ï¼éæ±å®åï¼ï¼
-
åºäºAIåæç»æçææ¾æ¸ é®é¢ï¼
- å çè§£æ¯ä¸ªéæ±çå®é åè½ï¼åºäºåè½æ¦è¿°ï¼
- éå¯¹å ·ä½åè½é®é®é¢ï¼è䏿¯éç¨çæ£æ¥æ¸ å
- é®é¢åºè¯¥åºäºåè½çå®é è¡ä¸ºï¼è䏿¯æ¨¡æ¿åçé®é¢
- é对åè½éæ±æ¸ åä¸ç¼ºå¤±çä¿¡æ¯çæé®é¢
-
ä½¿ç¨ AskUserQuestion å·¥å ·ä¸ç¨æ·äº¤äºï¼å¿ éï¼ä¸è½è·³è¿ï¼ï¼
æ§è¡è¦æ±ï¼å¿ é¡»ä¸ç¨æ·äº¤äºï¼ä¸è½è·³è¿æ¤æ¥éª¤ï¼
AskUserQuestion å·¥å ·è°ç¨æ¹å¼ï¼
å¿ é¡»ä½¿ç¨ AskUserQuestion å·¥å ·è°ç¨ï¼æ ¼å¼ï¼ AskUserQuestion({ questions: [ { header: "æ¾æ¸ é®é¢", question: "[å ·ä½é®é¢]", options: [ {label: "[é项1]", description: "[æè¿°]"}, {label: "[é项2]", description: "[æè¿°]"}, {label: "[é项3]", description: "[æè¿°]"}, {label: "[é项4]", description: "[æè¿°]"} ], multiSelect: false } ] }) ç¶åå¿ é¡»çå¾ ç¨æ·åçååç»§ç»ãéè¦è¯´æï¼
- 使ç¨
questionsæ°ç»ï¼åå ç´ æ°ç»ï¼ - æ¯ä¸ªé®é¢å¿
é¡»æ
headerï¼ç®çæ ç¾ï¼â¤12åç¬¦ï¼ - æä¾2-4个
optionsï¼é项åè¡¨ï¼ - 设置
multiSelect为falseï¼åéï¼ætrueï¼å¤éï¼ - çå¾ ç¨æ·åçï¼ä¸è½è·³è¿
â ï¸ äº¤äºè¦æ±ï¼
-
妿æé®é¢ï¼æ¥éª¤2.3ä¸è¯å«å°æ¨¡ç³ç¹ãç¼ºå¤±ä¿¡æ¯æä¸ä¸è´æ§ï¼ï¼
- å¿ é¡»åºäºåè½éæ±æ¸ ååé®é¢åæç»æï¼çææ¾æ¸ é®é¢
- å¿ é¡»é个询é®ç¼ºå¤±çä¿¡æ¯ï¼è¡¥å éæ±
- å¿ é¡»è³å°è¯¢é®3-5ä¸ªå ³é®é®é¢
- å¿ é¡»çå¾ ç¨æ·åçæ¯ä¸ªé®é¢ååç»§ç»
-
å¦ææ²¡æé®é¢ï¼æ¥éª¤2.3䏿ªåç°ä»»ä½é®é¢ï¼ï¼
- å¿ é¡»æç¡®åç¥ç¨æ·ï¼”ç»è¿åæï¼æªåç°æ¨¡ç³ç¹ãç¼ºå¤±ä¿¡æ¯æä¸ä¸è´æ§ã”
- ç¶åå¿ é¡»è¯¢é®ï¼”æ¯å¦è¦æ·»å æ°éæ±ï¼æç´æ¥è¿å ¥ä¸ä¸æ¥ï¼”
- å¿ é¡»çå¾ ç¨æ·åç
注æï¼æ 论æ¯å¦æé®é¢ï¼é½è³å°è¿è¡ä¸æ¬¡ç¨æ·äº¤äºï¼
交äºåè®°å½ç¨æ·åçï¼åºäºåçè°æ´åç»é®é¢æè¿å ¥ä¸ä¸æ¥ï¼
- 使ç¨
-
æ¶éç¨æ·åçï¼è°æ´åç»é®é¢ï¼
- è®°å½ç¨æ·åç
- åºäºç¨æ·åçè°æ´åç»é®é¢
- æç»äº¤äºç´å°ææå ³é®é®é¢é½å¾å°åç
è¯¦ç»æåï¼åè§é¡¹ç®ææ¡£ä¸çé®é¢çæç¸å ³ç« è
Stage 4: éæ±å®åï¼éæå°spec-workflowï¼
æ§è¡æ¡ä»¶ï¼Stage 3ï¼äº¤äºæ¾æ¸ ï¼å®æåæè½è¿å ¥æ¤é¶æ®µï¼
éè¦ï¼æ è®ºé¡¹ç®æ¯å¦ä½¿ç¨ spec-workflowï¼é½æç § spec-workflow æ ¼å¼å¤çéæ±ææ¡£ã
-
æ´åä¿¡æ¯ï¼ç»ååå§éæ±ææ¡£ãç¨æ·æ¾æ¸ åçã代ç å®ç°æ åµãåè½éæ±æ¸ å
-
çæå®ååçéæ±ï¼
- æç¡®ç¨æ·æ äºæ ¼å¼ï¼As a [role], I want [feature], so that [benefit]ï¼
- è¡¥å 详ç»çéªæ¶æ åï¼EARS æ ¼å¼ï¼WHEN [condition] THEN [system] SHALL [response]ï¼
- æ·»å ä¸å¡ä»·å¼è¯´æ
- æç § spec-workflow æ ¼å¼çæéæ±ææ¡£ï¼æ è®ºé¡¹ç®æ¯å¦ä½¿ç¨ spec-workflowï¼
-
æ£æµåå¤ç spec-workflow éæï¼
- æ£æµé¡¹ç®æ¯å¦ä½¿ç¨ spec-workflowï¼æ£æ¥
.spec-workflowç®å½ï¼ - 妿项ç®ä½¿ç¨ spec-workflowï¼
- å°è¯ä½¿ç¨ spec-workflow MCP å·¥å ·è·å模æ¿åä¸ä¸æ
- 妿MCPä¸å¯ç¨ï¼ä½¿ç¨ spec-workflow CLI æç´æ¥çææ åæ ¼å¼
- æ´æ°
.spec-workflow/specs/*/requirements.md
- å¦æé¡¹ç®æªä½¿ç¨ spec-workflowï¼
- èªå¨æç § spec-workflow æ ¼å¼çæéæ±ææ¡£
- èªå¨å建
.spec-workflow/specs/[feature-name]/requirements.md
- æ£æµé¡¹ç®æ¯å¦ä½¿ç¨ spec-workflowï¼æ£æ¥
æ©å±4.1ï¼éæ±èªå¨åç±»ï¼æºè½åç±»ä¸ä¼å 级è¯ä¼°ï¼
æ§è¡ä½ç½®ï¼Stage 4ä¸çå¯éå¢å¼ºåè½ï¼å¨çæå®å鿱忧è¡
åè½è¯´æï¼èªå¨å¯¹éæ±è¿è¡æºè½åç±»ãè¯ä¼°ä¼å 级ãè¯å«ä¾èµå ³ç³»ãçææ ç¾ï¼æåéæ±ç®¡çæçã
æ§è¡æ¥éª¤ï¼
æ¥éª¤4.1.1ï¼æºè½åç±»
- åææ¯ä¸ªéæ±çè¯ä¹å 容
- åç±»éæ±ç±»åï¼åè½éæ±/éåè½éæ±/ä¸å¡éæ±/ææ¯éæ±
- ç»ååè½ç±»å«ï¼ç¨æ·äº¤äº/ä¸å¡é»è¾/æ°æ®å¤ç/ç³»ç»éæ/å ¶ä»
- è¯ä¼°ä¸å¡ä»·å¼ï¼1-10åï¼
- è¯ä¼°ææ¯å¤æåº¦ï¼1-10åï¼
æ¥éª¤4.1.2ï¼ä¼å 级è¯ä¼° åºäºå¤ç»´åº¦è®¡ç®ç»¼åä¼å 级ï¼
- ä¸å¡ä»·å¼æéï¼40%
- ææ¯å¤æåº¦æéï¼25%ï¼å¤æåº¦è¶ä½åè¶é«ï¼
- èµæºæå ¥æéï¼20%ï¼æå ¥è¶å°åè¶é«ï¼
- ç´§æ¥ç¨åº¦æéï¼15%
- 综åè¯å = (ä¸å¡ä»·å¼Ã0.4 + (10-å¤æåº¦)Ã0.25 + (10-æå ¥)Ã0.2 + ç´§æ¥åº¦Ã0.15) à 10
- ä¼å
级å级ï¼
- P0ï¼80-100åï¼ï¼å ³é®éæ±ï¼å¿ é¡»ç«å³å¤ç
- P1ï¼60-79åï¼ï¼éè¦éæ±ï¼è¿æéè¦å¤ç
- P2ï¼40-59åï¼ï¼ä¸è¬éæ±ï¼ä¸æè§å
- P3ï¼0-39åï¼ï¼ä½ä¼å 级ï¼é¿æè§å
æ¥éª¤4.1.3ï¼æ¨¡åæ å° å°éæ±æ å°å°åè½æ¨¡åï¼
- ç¨æ·ç®¡ç模å
- å å®¹ç®¡çæ¨¡å
- äº¤ææ¨¡å
- æ°æ®åææ¨¡å
- ç³»ç»ç®¡ç模å
- å ¶ä»èªå®ä¹æ¨¡å
æ¥éª¤4.1.4ï¼ä¾èµå ³ç³»è¯å« è¯å«éæ±é´çä¾èµå ³ç³»ï¼
- åç½®ä¾èµï¼Aéæ±å¿ é¡»å¨Béæ±ä¹å宿
- åç»ä¾èµï¼Aéæ±ä¾èµBéæ±ç宿
- å¹¶è¡ä¾èµï¼AåBå¯ä»¥åæ¶è¿è¡
- äºæ¥ä¾èµï¼AåBä¸è½åæ¶åå¨
æ¥éª¤4.1.5ï¼æ ç¾çæ 为æ¯ä¸ªéæ±çææ ç¾ï¼
- ææ¯æ ç¾ï¼åºäºä½¿ç¨çææ¯æ
- ä¸å¡æ ç¾ï¼åºäºä¸å¡é¢å
- ç¹æ§æ ç¾ï¼æ°å¢åè½/æ¹è¿/ä¿®å¤
- ç¶ææ ç¾ï¼å·²è®¡å/è¿è¡ä¸/已宿/å·²æ¾å¼
è¾åºæ ¼å¼ï¼
## éæ±èªå¨åç±»ç»æ
### éæ±åç±»æ¦è§
- æ»éæ±æ°ï¼[X]个
- åè½éæ±ï¼[A]个ï¼[B]%ï¼
- éåè½éæ±ï¼[C]个ï¼[D]%ï¼
- ä¸å¡éæ±ï¼[E]个ï¼[F]%ï¼
- ææ¯éæ±ï¼[G]个ï¼[H]%]
### ä¼å
级åå¸
- P0ï¼å
³é®ï¼ï¼[X]ä¸ªéæ±
- P1ï¼éè¦ï¼ï¼[Y]ä¸ªéæ±
- P2ï¼ä¸è¬ï¼ï¼[Z]ä¸ªéæ±
- P3ï¼ä½ä¼å
级ï¼ï¼[W]ä¸ªéæ±
### 详ç»åç±»ç»æ
#### éæ± REQ-[ç¼å·]: [éæ±æ é¢]
- **å类信æ¯**ï¼
- ç±»åï¼[åè½/éåè½/ä¸å¡/ææ¯]
- ç±»å«ï¼[ç¨æ·äº¤äº/ä¸å¡é»è¾/æ°æ®å¤ç/ç³»ç»éæ]
- 模åå½å±ï¼[模ååç§°] (置信度ï¼[X]%)
- **ä¼å
级è¯ä¼°**ï¼
- 综åè¯åï¼[X]/100
- ä¼å
级ï¼[P0/P1/P2/P3]
- è¯ä¼°å åï¼
* ä¸å¡ä»·å¼ï¼[X]/10
* ææ¯å¤æåº¦ï¼[X]/10
* èµæºæå
¥ï¼[X]/10
* ç´§æ¥ç¨åº¦ï¼[X]/10
- **ä¾èµå
³ç³»**ï¼
- åç½®ä¾èµï¼[REQ-XXX, REQ-YYY]
- åç»ä¾èµï¼[REQ-ZZZ]
- å¹¶è¡ä¾èµï¼[REQ-AAA]
- äºæ¥ä¾èµï¼[REQ-BBB]
- **æ ç¾**ï¼
- ææ¯æ ç¾ï¼[æ ç¾1, æ ç¾2]
- ä¸å¡æ ç¾ï¼[æ ç¾3, æ ç¾4]
- ç¹æ§æ ç¾ï¼[æ°å¢åè½/æ¹è¿/ä¿®å¤]
- ç¶ææ ç¾ï¼[已计å]
### 模åä¾èµå¾
[模åA] â [模åB] â [模åC] â â [模åD] â [模åE]
### ä¼å
级ç©éµ
é«ä»·å¼ä½å¤æåº¦ â é«ä»·å¼é«å¤æåº¦ âââââââââââââââ¼ââââââââââââââ P0 â P1 âââââââââââââââ¼ââââââââââââââ ä½ä»·å¼ä½å¤æåº¦ â ä½ä»·å¼é«å¤æåº¦ P2 â P3
æç¤ºè¯æ¨¡æ¿ï¼
ä½ æ¯ä¸ä¸ªéæ±åç±»ä¸å®¶ã请åæä»¥ä¸éæ±ï¼è¿è¡æºè½åç±»åä¼å
级è¯ä¼°ã
éæ±æè¿°ï¼
{requirement_text}
请ä»ä»¥ä¸ç»´åº¦åæï¼
1. éæ±ç±»åï¼åè½éæ±/éåè½éæ±/ä¸å¡éæ±/ææ¯éæ±
2. åè½ç±»å«ï¼ç¨æ·äº¤äº/ä¸å¡é»è¾/æ°æ®å¤ç/ç³»ç»éæ/å
¶ä»
3. ä¸å¡ä»·å¼ï¼1-10åï¼10åæé«ï¼
4. ææ¯å¤æåº¦ï¼1-10åï¼10åæå¤æï¼
5. èµæºæå
¥ï¼1-10åï¼10åæå
¥æå¤ï¼
6. ç´§æ¥ç¨åº¦ï¼1-10åï¼10åæç´§æ¥ï¼
请以JSONæ ¼å¼è¿åï¼
{
"classification": {
"type": "functional|non-functional|business|technical",
"category": "ç¨æ·äº¤äº|ä¸å¡é»è¾|æ°æ®å¤ç|ç³»ç»éæ|å
¶ä»",
"module": "模ååç§°",
"module_confidence": 0.0-1.0
},
"priority": {
"business_value": 1-10,
"tech_complexity": 1-10,
"resource_cost": 1-10,
"urgency": 1-10,
"overall_score": 0-100,
"priority_level": "P0|P1|P2|P3",
"reasoning": "è¯ä¼°çç±"
},
"dependencies": {
"prerequisites": ["REQ-XXX"],
"dependents": ["REQ-YYY"],
"parallel": ["REQ-ZZZ"],
"mutual_exclusive": ["REQ-AAA"]
},
"tags": {
"technology": ["æ ç¾"],
"business": ["æ ç¾"],
"feature": "æ°å¢åè½|æ¹è¿|ä¿®å¤",
"status": "已计å|è¿è¡ä¸|已宿|å·²æ¾å¼"
}
}
Stage 5: éæ±ææ¡£åå¹¶ï¼å¤ä¸ªéæ±ææ¡£æ¶ï¼
è§¦åæ¡ä»¶ï¼å¨Stage 1ï¼æ ¹æ®æ«æç»æå³å®æµç¨ï¼ä¸ï¼å¦ææ£æµå°å¤ä¸ªéæ±ææ¡£ï¼è¿å ¥æ¤é¶æ®µã
éè¦ï¼
- â å¿ é¡»å¨ç¨æ·ç¡®è®¤åææ§è¡åå¹¶
- â åå¹¶åçææ¡£å¿ é¡»ä¿åå° spec-workflow æ ¼å¼çéæ±ææ¡£ä¸
- â å 餿æå·²åå¹¶çéæ±ææ¡£ï¼åªä¿çåå¹¶åçææ¡£ï¼ä¿è¯åªæä¸ä»½ææ¡£
- â å é¤ææ¡£åå¿ é¡»åç¨æ·ç¡®è®¤è¦å é¤çææ¡£å表
æ§è¡æµç¨ï¼
-
è¯å«éè¦åå¹¶çææ¡£ï¼
- æ¥æ¾ææéæ±ææ¡£ï¼
.spec-workflow/specs/*/requirements.mdãæ ¹ç®å½çrequirements.mdãdocs/ç®å½ä¸çéæ±ææ¡£çï¼ - ä½¿ç¨ AI åæææ¡£å 容ï¼è¯å«éå¤ãå²çªåäºè¡¥çéæ±
- æ¥æ¾ææéæ±ææ¡£ï¼
-
çæåå¹¶æ¹æ¡ï¼
- åºäºææ¡£åæç»æï¼çæåå¹¶æ¹æ¡
- 建议åå¹¶å°åªä¸ªææ¡£ï¼ä¼å 建议 spec-workflow æ ¼å¼çéæ±ææ¡£ï¼
- å¦ä½å¤çéå¤éæ±ãå²çªéæ±
-
ä½¿ç¨ AskUserQuestion 确认åå¹¶ï¼å¿ éï¼ï¼
- 询é®ç¨æ·æ¯å¦è¦åå¹¶å¤ä¸ªéæ±ææ¡£
- 确认åå¹¶æ¹æ¡
- 确认å¦ä½å¤çéå¤åå²çªçéæ±
- 确认åå¹¶åçææ¡£ä¿åä½ç½®
-
æ§è¡åå¹¶ï¼
- åºäºç¨æ·ç¡®è®¤çåå¹¶æ¹æ¡ï¼æ§è¡åå¹¶
- ä¿çææéè¦ä¿¡æ¯ï¼å»é¤éå¤å 容
- è§£å³å²çªéæ±ï¼åºäºç¨æ·éæ©ï¼
-
ä¿ååå¹¶åçææ¡£å¹¶å é¤å ¶ä»ææ¡£ï¼å¿ éï¼ï¼
- æç § spec-workflow æ ¼å¼çæåå¹¶åçææ¡£ï¼æ è®ºé¡¹ç®æ¯å¦ä½¿ç¨ spec-workflowï¼
- ä¿åå° spec-workflow æ ¼å¼çéæ±ææ¡£ï¼
- 妿项ç®ä½¿ç¨ spec-workflowï¼ä¿åå°
.spec-workflow/specs/[feature-name]/requirements.mdæ.spec-workflow/requirements.md - å¦æé¡¹ç®æªä½¿ç¨ spec-workflowï¼èªå¨å建
.spec-workflow/specs/[feature-name]/requirements.md
- 妿项ç®ä½¿ç¨ spec-workflowï¼ä¿åå°
- å 餿æå·²åå¹¶çéæ±ææ¡£ï¼å é¤ååç¨æ·ç¡®è®¤è¦å é¤çææ¡£å表ï¼
- åªä¿çåå¹¶åçææ¡£ï¼ä¿è¯åªæä¸ä»½ææ¡£
è¯¦ç»æåï¼åè§é¡¹ç®ææ¡£ä¸çææ¡£åå¹¶ç¸å ³ç« è
Stage 8: ç¨æ·ç»ååæï¼çè§£ç®æ ç¨æ·ï¼
æ§è¡ä½ç½®ï¼Stage 4ï¼éæ±å®åï¼å®æåå¯éæ§è¡ï¼æä½ä¸ºç¬ç«åæåè½
åè½è¯´æï¼ä»éæ±ææ¡£ä¸èªå¨æåååæç¨æ·è§è²ãç¹å¾ãåºæ¯ãç®æ åçç¹ï¼çæç»æåç¨æ·ç»åï¼å¸®å©å¢éæ´å¥½å°çè§£ç®æ ç¨æ·ã
æ§è¡æ¥éª¤ï¼
æ¥éª¤8.1ï¼ç¨æ·è§è²æå
- æ«æéæ±ææ¡£ä¸çè§è²å ³é®è¯
- è¯å«è§è²ç±»åï¼æç»ç¨æ·/管çå/è¿è¥äººå/客æäººå/è´¢å¡äººå/å¼å人å/æµè¯äººå
- å¤æç¨æ·å±çº§ï¼é«çº§ç¨æ·/æ®éç¨æ·/åçº§ç¨æ·/游客
- ä¼°ç®ç¨æ·å æ¯
æ¥éª¤8.2ï¼ç¨æ·ç¹å¾åæ åææ¯ä¸ªè§è²çç¹å¾ï¼
- 人å£ç»è®¡ç¹å¾ï¼å¹´é¾æ®µãæ§å«å¾åãå°ååå¸ãèä¸èæ¯
- è¡ä¸ºç¹å¾ï¼ä½¿ç¨é¢çãä½¿ç¨æ¶é¿ã使ç¨åºæ¯ãææ¯çç»åº¦
- éæ±ç¹å¾ï¼åè½éæ±ãæ§è½éæ±ãå®å ¨éæ±ãä½éªéæ±
æ¥éª¤8.3ï¼ç¨æ·åºæ¯åæ
- è¯å«ä¸»è¦åºæ¯ï¼æ ¸å¿ä½¿ç¨æµç¨ï¼
- è¯å«æ¬¡è¦åºæ¯ï¼è¾ å©åè½ï¼
- è¯å«è¾¹ç¼åºæ¯ï¼å¼å¸¸å¤çï¼
- æ¯ä¸ªåºæ¯å å«ï¼ç®æ ãåç½®æ¡ä»¶ãæä½æµç¨ãææç»æã使ç¨é¢çãéè¦ç¨åº¦
æ¥éª¤8.4ï¼ç¨æ·ç®æ æå æåä¸ç±»ç®æ ï¼
- ä¸å¡ç®æ ï¼ä¸å·¥ä½/ä¸å¡ç¸å ³çç®æ
- ä½éªç®æ ï¼ä¸ä½¿ç¨ä½éªç¸å ³çç®æ
- ä¸ªäººç®æ ï¼ä¸ä¸ªäººä»·å¼ç¸å ³çç®æ
æ¥éª¤8.5ï¼ç¨æ·çç¹è¯å« è¯å«ä¸ç±»çç¹ï¼
- æççç¹ï¼æä½ç¹çãæµç¨åé¿ç
- ä½éªçç¹ï¼çé¢ä¸å好ãååºæ ¢ç
- ä¸å¡çç¹ï¼ææ¬é«ãç»´æ¤å°é¾ç
- è¯ä¼°çç¹ä¸¥éç¨åº¦ï¼é«/ä¸/ä½ï¼
æ¥éª¤8.6ï¼çæç¨æ·ç»å æ´åææä¿¡æ¯ï¼çæç»æåç¨æ·ç»åææ¡£
è¾åºæ ¼å¼ï¼
## ç¨æ·ç»ååæç»æ
### ç¨æ·è§è²æ¦è§
- è¯å«ç¨æ·è§è²ï¼[X]ç§
- 主è¦è§è²ï¼[è§è²1] ([å æ¯]%), [è§è²2] ([å æ¯]%)
- ç¨æ·å±çº§åå¸ï¼é«çº§ç¨æ·[X]%, æ®éç¨æ·[Y]%, åçº§ç¨æ·[Z]%
### 详ç»ç¨æ·ç»å
#### ç¨æ·ç»å 1: [è§è²åç§°]
**åºæ¬ä¿¡æ¯**ï¼
- ç¨æ·è§è²ï¼[ç±»å]
- ç¨æ·å±çº§ï¼[å±çº§]
- ç¨æ·å æ¯ï¼[X]%
- 主è¦é¨é¨ï¼[é¨é¨]
**ç¹å¾æè¿°**ï¼
- **人å£ç»è®¡ç¹å¾**ï¼
- 年龿®µï¼[éå¹´/ä¸å¹´/èå¹´]
- æ§å«å¾åï¼[ç·æ§/女æ§/䏿§]
- å°ååå¸ï¼[ä¸çº¿/äºçº¿/ä¸çº¿/æµ·å¤]
- èä¸èæ¯ï¼[èä¸æè¿°]
- **è¡ä¸ºç¹å¾**ï¼
- 使ç¨é¢çï¼[é«é¢/ä¸é¢/ä½é¢]
- ä½¿ç¨æ¶é¿ï¼[é¿æ¶é´/çæ¶é´/ç¢çå]
- 使ç¨åºæ¯ï¼[å·¥ä½/çæ´»/å¦ä¹ /娱ä¹]
- ææ¯çç»åº¦ï¼[ä¸å®¶/çç»/ä¸è¬/æ°æ]
- **éæ±ç¹å¾**ï¼
- åè½éæ±ï¼[éæ±å表]
- æ§è½éæ±ï¼[éæ±å表]
- å®å
¨éæ±ï¼[éæ±å表]
- ä½éªéæ±ï¼[éæ±å表]
**使ç¨åºæ¯**ï¼
1. **åºæ¯1: [åºæ¯åç§°]**
- ç®æ ï¼[æ³è¦è¾¾æä»ä¹]
- åç½®æ¡ä»¶ï¼[使ç¨åéè¦ä»ä¹]
- æä½æµç¨ï¼[å
·ä½æ¥éª¤]
- ææç»æï¼[颿å¾å°ä»ä¹]
- 使ç¨é¢çï¼[é«/ä¸/ä½]
- éè¦ç¨åº¦ï¼[P0/P1/P2]
**ç¨æ·ç®æ **ï¼
- **ä¸å¡ç®æ **ï¼
- [ç®æ 1]
- [ç®æ 2]
- **ä½éªç®æ **ï¼
- [ç®æ 1]
- [ç®æ 2]
- **ä¸ªäººç®æ **ï¼
- [ç®æ 1]
- [ç®æ 2]
**ç¨æ·çç¹**ï¼
- **æççç¹**ï¼
- [çç¹1]
- [çç¹2]
- **ä½éªçç¹**ï¼
- [çç¹1]
- [çç¹2]
- **ä¸å¡çç¹**ï¼
- [çç¹1]
- [çç¹2]
- **严éç¨åº¦**ï¼[é«/ä¸/ä½]
**éæ±ä¼å
级**ï¼
- **P0 (æ ¸å¿éæ±)**ï¼
- [éæ±1]
- [éæ±2]
- **P1 (éè¦éæ±)**ï¼
- [éæ±1]
- [éæ±2]
- **P2 (ä¸è¬éæ±)**ï¼
- [éæ±1]
- [éæ±2]
### ç¨æ·ç»åå¯è§å
#### è§è²åå¸
[è§è²1] ââââââââââââââââââââ 70% [è§è²2] ââââââââ 20% [è§è²3] ââ 10%
#### ç¹å¾é·è¾¾å¾ï¼ASCIIï¼
ææ¯çç»åº¦
/
/
使ç¨é¢ç/ \è®¿é®æ¶æ®µ
/
/ \
æç¤ºè¯æ¨¡æ¿ï¼
ä½ æ¯ä¸ä¸ªç¨æ·ç»ååæä¸å®¶ã请åæä»¥ä¸éæ±ææ¡£ï¼æåç¨æ·ç»åä¿¡æ¯ã
éæ±ææ¡£å
容ï¼
{requirements_text}
请ä»ä»¥ä¸ç»´åº¦åæï¼
1. ç¨æ·è§è²æåï¼
- è¯å«ææç¨æ·è§è²
- å¤æç¨æ·å±çº§
- ä¼°ç®ç¨æ·å æ¯
2. ç¨æ·ç¹å¾åæï¼
- 人å£ç»è®¡ç¹å¾
- è¡ä¸ºç¹å¾
- éæ±ç¹å¾
3. ç¨æ·åºæ¯åæï¼
- 主è¦åºæ¯ï¼3-5个ï¼
- æ¯ä¸ªåºæ¯ç详ç»ä¿¡æ¯
4. ç¨æ·ç®æ æåï¼
- ä¸å¡ç®æ
- ä½éªç®æ
- ä¸ªäººç®æ
5. ç¨æ·çç¹è¯å«ï¼
- æççç¹
- ä½éªçç¹
- ä¸å¡çç¹
请以JSONæ ¼å¼è¿åï¼
{
"personas": [
{
"basic_info": {
"name": "è§è²åç§°",
"role_type": "end_user|admin|operator|cs|finance|developer|tester",
"user_level": "power|regular|novice|guest",
"department": "é¨é¨",
"percentage": 0.0-100.0
},
"characteristics": {
"demographics": {
"age_group": "young|middle_aged|elderly",
"gender_tendency": "male|female|neutral",
"region": "tier1|tier2|tier3|overseas",
"profession": "èä¸æè¿°"
},
"behavioral": {
"frequency": "high|medium|low",
"duration": "long|short|fragmented",
"scenario": "work|life|study|entertainment",
"tech_proficiency": "expert|proficient|average|novice"
},
"needs": {
"functional": ["éæ±"],
"performance": ["éæ±"],
"security": ["éæ±"],
"experience": ["éæ±"]
}
},
"scenarios": [
{
"name": "åºæ¯åç§°",
"goal": "ç®æ ",
"prerequisites": ["æ¡ä»¶"],
"steps": ["æ¥éª¤"],
"expected_result": "ææç»æ",
"frequency": "high|medium|low",
"importance": "P0|P1|P2"
}
],
"goals": {
"business": ["ç®æ "],
"experience": ["ç®æ "],
"personal": ["ç®æ "]
},
"pain_points": {
"efficiency": ["çç¹"],
"experience": ["çç¹"],
"business": ["çç¹"],
"severity": "high|medium|low"
},
"requirements": {
"p0": ["éæ±"],
"p1": ["éæ±"],
"p2": ["éæ±"]
}
}
],
"statistics": {
"total_personas": 0,
"total_scenarios": 0,
"total_pain_points": 0
}
}
ð éè¦åå
- å æ«æï¼ååæï¼æè½å¯å¨æ¶å æ«æé¡¹ç®ç代ç åææ¡£ï¼æ¥éª¤1ï¼ï¼ç¶åæ ¹æ®æ«æç»æå³å®æµç¨
- å åæï¼å交äºï¼å¯¹äºå¸¸è§æµç¨ï¼å¿ é¡»å 宿鶿®µ2ï¼éæ±åæï¼åæé®é¢åç¼ºå¤±ä¿¡æ¯ + ååºåè½éæ±æ¸ åï¼ï¼ç¶åæè½è¿å ¥é¶æ®µ3ï¼äº¤äºæ¾æ¸ ï¼
- äº¤äºæ¾æ¸ ä¸å¯è·³è¿ï¼é¶æ®µ3ï¼äº¤äºæ¾æ¸ ï¼æ¯å¿ éé¶æ®µï¼å¿ é¡»å¨é¶æ®µ2宿忧è¡ï¼ä¸è½å¨é¶æ®µ2ä¹åç´æ¥è¿å ¥é¶æ®µ4
- åæå®æåååºåè½éæ±æ¸ åï¼é¶æ®µ2å¿ é¡»å åæé®é¢å缺失信æ¯ï¼ç¶åå¨åæå®æåååºåè½éæ±æ¸ åå¹¶å±ç¤ºç»ç¨æ·
- éè¿AskUserQuestion交äºè¡¥å éæ±ï¼é¶æ®µ3å¿ é¡»éè¿ AskUserQuestion å·¥å ·ä¸ç¨æ·äº¤äºï¼è¡¥å 缺失çéæ±ä¿¡æ¯
- éæå°spec-workflowï¼æ è®ºé¡¹ç®æ¯å¦ä½¿ç¨ spec-workflowï¼é½æç § spec-workflow æ ¼å¼å¤çéæ±ææ¡£
- å¿ é¡»ä½¿ç¨ AskUserQuestion å·¥å ·ï¼ææç¨æ·äº¤äºé½å¿ é¡»éè¿ AskUserQuestion å·¥å ·è¿è¡ï¼ä¸è½åªæ¯è¾åºææ¬
- ä¸¥æ ¼æç §é¡ºåºæ§è¡ï¼ä¸è½è·³è¿æ¥éª¤1ï¼æ«æï¼ãé¶æ®µ2ï¼éæ±åæï¼æé¶æ®µ3ï¼äº¤äºæ¾æ¸ ï¼
- å®å ¨AI驱å¨ï¼ä¸ä½¿ç¨æ£å表达å¼ï¼å®å ¨ä¾èµ Claude ç AI çè§£è½å
- åæä»£ç åææ¡£ï¼ä¸ä» è¦åæéæ±ææ¡£ï¼è¿è¦åæä»£ç æä»¶ï¼ç解已å®ç°çåè½
ð ï¸ ä½¿ç¨çå·¥å ·
- Read: 读åéæ±ææ¡£åä»£ç æä»¶
- Bash: æ¥æ¾æä»¶ãæ§è¡å½ä»¤
- AskUserQuestion: ä¸ç¨æ·äº¤äºï¼æ¾æ¸ éæ±ï¼å¿ éï¼
- Write: æ´æ°åå®åéæ±ææ¡£
- spec-workflow MCP æ CLI: 访é®spec-workflow模æ¿åä¸ä¸æï¼å¦æå¯ç¨ï¼ï¼å¦åç´æ¥çææ åæ ¼å¼
ð è¯¦ç»æå
- 空项ç®å¼å¯¼: åè§é¡¹ç®ææ¡£ä¸ç空项ç®å¼å¯¼ç¸å ³ç« è
- éæ±åæ: åè§é¡¹ç®ææ¡£ä¸çéæ±åæç¸å ³ç« è
- é®é¢çæ: åè§é¡¹ç®ææ¡£ä¸çé®é¢çæç¸å ³ç« è
- éæ±å®å: åè§é¡¹ç®ææ¡£ä¸çéæ±å®åç¸å ³ç« è
- éæ±ææ¡£åå¹¶: åè§é¡¹ç®ææ¡£ä¸çææ¡£åå¹¶ç¸å ³ç« è
- Spec-Workflow éæ: åè§é¡¹ç®ææ¡£ä¸çéæç¸å ³ç« è
ð æ§è¡ç¤ºä¾
示ä¾: åå¹¶éæ±ææ¡£
ç¨æ·: "åå¹¶éæ±ææ¡£" æä½¿ç¨æè½
ä½ :
æºè½éæ±åæå©æ | Intelligent Requirements Facilitator
ð¤ ä½è
: èå·æ ¸ææºè½ç§ææéå
¬å¸
ð ææ¡£: README.md | ð¤ è´¡ç®: CONTRIBUTING.md
ð§ limian@norkern.com | ð www.norker.com
ð Issues: [GitHub Issues](https://github.com/damienCronw/hs-req-facilitator-skill/issues)
â¡ çæ¬: v2.0.2
ð å¼å§æ§è¡éæ±ææ¡£åå¹¶æµç¨...
ð æ¥éª¤1: æ«æä»£ç åææ¡£ï¼å¿
éï¼...
[å¿
é¡»æ§è¡ find å½ä»¤æ«æææ¡£å代ç ]
[ç»è®¡ç»æï¼åç°3ä¸ªéæ±ææ¡£å150ä¸ªä»£ç æä»¶]
ð æ¥éª¤2: æ ¹æ®æ«æç»æå³å®æµç¨...
[æ£æµå°å¤ä¸ªéæ±ææ¡£ï¼requirements.md, docs/user-requirements.md, docs/api-requirements.md]
AskUserQuestion: "æåç°é¡¹ç®ä¸æ3ä¸ªéæ±ææ¡£ï¼å
容æéå¤ã建议å并为1ä¸ªææ¡£ãæ¯å¦è¦å¼å§åå¹¶ï¼"
ç¨æ·: "æ¯çï¼åå¹¶"
ð é¶æ®µ5: éæ±ææ¡£åå¹¶...
æ¥éª¤1: è¯å«éè¦åå¹¶çææ¡£
- requirements.md
- docs/user-requirements.md
- docs/api-requirements.md
æ¥éª¤2: åæææ¡£å
容ï¼AIåæï¼
- è¯å«éå¤éæ±ï¼5个
- è¯å«å²çªéæ±ï¼2个
- è¯å«äºè¡¥éæ±ï¼10个
æ¥éª¤3: çæåå¹¶æ¹æ¡
- 建议åå¹¶å°ï¼.spec-workflow/specs/main/requirements.md
- éå¤éæ±å¤çï¼ä¿çæè¯¦ç»ççæ¬
- å²çªéæ±å¤çï¼è¯¢é®ç¨æ·éæ©
AskUserQuestion: "åå¹¶æ¹æ¡ï¼å°3ä¸ªéæ±ææ¡£åå¹¶å° .spec-workflow/specs/main/requirements.mdãæ¯å¦åæï¼"
ç¨æ·: "åæ"
AskUserQuestion: "å并宿åï¼æå°å é¤ä»¥ä¸éæ±ææ¡£ï¼åªä¿çåå¹¶åçææ¡£ï¼
- requirements.md
- docs/user-requirements.md
- docs/api-requirements.md
åå¹¶åçææ¡£å°ä¿åå°ï¼.spec-workflow/specs/main/requirements.md
æ¯å¦åæå é¤ä¸è¿°ææ¡£ï¼"
ç¨æ·: "åæ"
æ¥éª¤4: æ§è¡åå¹¶
- åå¹¶éå¤éæ±ï¼ä¿çæè¯¦ç»ççæ¬ï¼
- è§£å³å²çªéæ±ï¼åºäºç¨æ·éæ©ï¼
- åå¹¶äºè¡¥éæ±
æ¥éª¤5: ä¿ååå¹¶åçææ¡£å¹¶å é¤å
¶ä»ææ¡£
- æç
§ spec-workflow æ ¼å¼çæåå¹¶åçææ¡£
- ä¿åå° .spec-workflow/specs/main/requirements.md
- å é¤ requirements.md
- å é¤ docs/user-requirements.md
- å é¤ docs/api-requirements.md
- â
åªä¿çä¸ä»½éæ±ææ¡£
ç¨æ·: "å®åéæ±" æä½¿ç¨æè½
ä½ : ð å¼å§æ§è¡éæ±å®åæµç¨...
ð æ¥éª¤1: æ«æä»£ç åææ¡£ï¼å¿
éï¼...
[å¿
é¡»æ§è¡ find å½ä»¤æ«æææ¡£å代ç ]
[ç»è®¡ç»æï¼åç°2ä¸ªéæ±ææ¡£å150ä¸ªä»£ç æä»¶]
ð æ¥éª¤2: æ ¹æ®æ«æç»æå³å®æµç¨...
[æ£æµå°æéæ±ææ¡£ï¼è¿å
¥å¸¸è§æµç¨]
ð é¶æ®µ2: éæ±åæï¼å¿
é¡»å¨äº¤äºæ¾æ¸
ä¹å宿ï¼...
æ¥éª¤1: 读åéæ±ææ¡£åä»£ç æä»¶
æ¥éª¤2: ç解项ç®åè½
æ¥éª¤3: åæé®é¢å缺失信æ¯ï¼å¿
éï¼å¿
é¡»å¨ååºåè½éæ±æ¸
åä¹å宿ï¼
- é®é¢1: [缺失ä»ä¹ã为ä»ä¹æ¯é®é¢ãæ¯å¦ä¸ºè¯¯æ¥ãå¦ä½ä¿®å¤]
- é®é¢2: [缺失ä»ä¹ã为ä»ä¹æ¯é®é¢ãæ¯å¦ä¸ºè¯¯æ¥ãå¦ä½ä¿®å¤]
...
æ¥éª¤4: ååºåè½éæ±æ¸
åï¼å¿
éï¼å¿
é¡»å¨åæå®æåååºå¹¶å±ç¤ºç»ç¨æ·ï¼
- åè½éæ±1: [åè½åç§°]
* åè½æè¿°ï¼[è¿ä¸ªåè½åä»ä¹]
* åè½è¡ä¸ºï¼[è¿ä¸ªåè½æä¹å]
* 代ç å®ç°ï¼[代ç 䏿¯å¦å·²å®ç°]
- åè½éæ±2: [åè½åç§°]
...
- éåè½æ§éæ±ï¼[æ§è½éæ±ãå®å
¨éæ±ãå¯é æ§éæ±ç]
é¶æ®µ2已宿ï¼ç°å¨è¿å
¥é¶æ®µ3ï¼äº¤äºæ¾æ¸
ï¼ï¼ä¸è½è·³è¿ï¼
ð é¶æ®µ3: äº¤äºæ¾æ¸
ï¼éè¿AskUserQuestionä¸ç¨æ·äº¤äºè¡¥å
éæ±ï¼...
[éè¦é¶æ®µï¼ä¸è½è·³è¿ï¼ä½¿ç¨ AskUserQuestion å·¥å
·ä¸ç¨æ·äº¤äº]
[åºäºé¶æ®µ2çåæç»æï¼çææ¾æ¸
é®é¢]
妿æé®é¢ï¼
AskUserQuestion: "æçå°åè½éæ±æ¸
åä¸ï¼åè½éæ±1缺å°éªæ¶æ åã请åè¯æï¼å¦ä½éªè¯è¿ä¸ªåè½æ¯å¦æåå®ç°ï¼"
ç¨æ·: [åç]
AskUserQuestion: "åè½éæ±2çè¾å
¥è¾åºè¿ä¸æç¡®ã请åè¯æï¼è¿ä¸ªåè½çè¾å
¥æ¯ä»ä¹ï¼è¾åºæ¯ä»ä¹ï¼"
ç¨æ·: [åç]
...ç»§ç»äº¤äºç´å°ææå
³é®é®é¢é½å¾å°åç...
å¦ææ²¡æé®é¢ï¼
AskUserQuestion: "没æåç°é®é¢éè¦æ¾æ¸
ãæ¯å¦è¦æ·»å æ°éæ±ï¼æç´æ¥è¿å
¥ä¸ä¸æ¥ï¼"
ç¨æ·: [åç]
â
é¶æ®µ3已宿ï¼ç°å¨å¯ä»¥è¿å
¥é¶æ®µ4ï¼éæ±å®åï¼ï¼
ð é¶æ®µ4: éæ±å®åï¼éæå°spec-workflowï¼...
[æ£æµé¡¹ç®æ¯å¦ä½¿ç¨ spec-workflow]
[æç
§ spec-workflow æ ¼å¼çæéæ±ææ¡£]
[妿项ç®ä½¿ç¨ spec-workflowï¼æ´æ° .spec-workflow/specs/*/requirements.md]
[å¦æé¡¹ç®æªä½¿ç¨ spec-workflowï¼èªå¨å建 .spec-workflow ç®å½ç»æ]