| name | start-teams-doc |
| argument-hint | [team/project/feature] |
| description | Unified entry point for generating feature documentation in the teams/ directory. Automatically detects the current phase (Discovery, Design, QA, Operations) and delegates to the appropriate skill. Use when creating new feature docs, continuing existing feature docs, or when user says /start-teams-doc. |
start-teams-doc ã¹ãã«
ããªã¬ãŒæ¡ä»¶
/start-teams-doc ã¹ãã«ãåŒã°ãããšã
- ãŠãŒã¶ãŒããteams ã®ããã¥ã¡ã³ããäœãããããã©ãããå§ããã°ããïŒãããã£ãŒãã£ãŒããã¥ã¡ã³ããäœãããããšèšã£ããšã
Step 0: æ¢åãã£ãŒãã£ãŒã®æ€åºãšåéãããŒ
ãã©ã¡ãŒã¿åéã®åã«ãæ¢åãã£ãŒãã£ãŒãæ€åºããŠåéãªãã·ã§ã³ãæç€ºããã
docs_root ã®è§£æ±ºïŒå®è¡æé 0ïŒãå
ã«è¡ã£ãŠããæ¬ã¹ããããå®è¡ããããšã
ãã¹ A: åŒæ°ã«ããçŽæ¥æå®
/start-teams-doc {team}/{project}/{feature} ã®åœ¢åŒã§åŒæ°ãæž¡ãããå Žåããã¹ãè§£æããŠå³åéããã
- åŒæ°ã
/ ã§åå²ã team, project, feature ãååŸ
{docs_root}/teams/{team}/{project}/{feature}/ ã®ååšã確èª
- 以äžã®åå²è¡šã«åŸããã©ã¡ãŒã¿ãååŸããããã wizard ãã¹ãããããŠå®è¡æé 1 ãžé²ã
ãã¹ B: æ¢åãã£ãŒãã£ãŒäžèЧããéžæ
åŒæ°ãªãã§å®è¡ãããå Žå:
{docs_root}/teams/ é
äžã 3 éå±€ïŒ{team}/{project}/{feature}/ïŒãŸã§ã¹ãã£ã³ãã
- ãã§ãŒãºãã£ã¬ã¯ããªïŒdiscovery, design, qa, operationïŒã¯é€å€ãããã£ãŒãã£ãŒãã£ã¬ã¯ããªã®ã¿åéãã
- æ¢åãã£ãŒãã£ãŒã 0 ä»¶ ã®å Žåã¯ãã®ã¹ããããã¹ãããããããã 1 ããéå§ãã
- æ¢åãã£ãŒãã£ãŒã 1 ä»¶ä»¥äž ã®å Žåã以äžã®åœ¢åŒã§ 1 åã®
AskUserQuestion ã§æç€ºãã:
æ¢åã®ãã£ãŒãã£ãŒãèŠã€ãããŸãããç¶ãããåéããããæ°èŠäœæãéžãã§ãã ãã:
1. {feature_name} ({team}/{project}) {status_hint}
2. {feature_name} ({team}/{project}) {status_hint}
...
0. æ°ãããã£ãŒãã£ãŒãäœæãã
çªå·ãå
¥åããŠãã ãã:
status_hint ã®æ±ºå®:
_approval-status.yaml ãååšããå Žå: ãã§ãŒãºé²æã¢ã€ã³ã³ã衚瀺ïŒäŸ: [â
Discovery â â³Design]ïŒ
_approval-status.yaml ãååšããªãå Žå: æ¢åãµããã£ã¬ã¯ããªåã衚瀺ïŒäŸ: [design/operation]ïŒ
- ãã£ãŒãã£ãŒã 15 ä»¶ãè¶
ããå Žåã¯ãæçµæŽæ°æ¥ãæ°ããé ã« 15 ä»¶ã衚瀺ããæ®ãã¯ãä»ã« {N} ä»¶ãããŸããããŒã åãå
¥åãããšçµã蟌ããŸãããšè¡šç€ºãã
ãŠãŒã¶ãŒã 0 ãéžæããå Žåã¯åŸæ¥ã®ããã 1 â ããã 2 wizard ãå®è¡ããã
æ¢åãã£ãŒãã£ãŒãéžæããå Žåã¯ä»¥äžã®åå²è¡šã«åŸãã
éžæåŸã®åå²è¡šïŒãã¹ Aã»B å
±éïŒ
| æ¡ä»¶ | ããã 1 | ããã 2 |
|---|
_approval-status.yaml ãã + _interview-notes.yaml ãã | ã¹ãããïŒyaml ããèªã¿åãïŒ | ã¹ããã |
_approval-status.yaml ãã + _interview-notes.yaml ãªã | ã¹ãããïŒyaml ããèªã¿åãïŒ | å®è¡ |
_approval-status.yaml ãªã + _interview-notes.yaml ãã | ã¹ãããïŒãã¹ããæšå®ãfeature_id èªåçæïŒ | ã¹ããã |
_approval-status.yaml ãªã + _interview-notes.yaml ãªã | ã¹ãããïŒãã¹ããæšå®ãfeature_id èªåçæïŒ | å®è¡ |
ãã¹ããæšå®ããå Žå: ãã£ã¬ã¯ããªãã¹ã®åéå±€ãã teamïŒç¬¬1éå±€ïŒãprojectïŒç¬¬2éå±€ïŒãfeatureïŒç¬¬3éå±€ïŒãååŸããfeature_id ã¯æ¢åã®èªåçæã«ãŒã«ã§çæããã
å
¥åãã©ã¡ãŒã¿åéïŒããã wizard 圢åŒïŒ
Step 0 ã§æ¢åãã£ãŒãã£ãŒãéžæãããå Žåã¯ãäžèšã®åå²è¡šã«åŸãã¹ãããå¯èœãªããããçç¥ããã
æ°èŠãã£ãŒãã£ãŒãéžæãããå ŽåããŸã㯠Step 0 ãã¹ããããããå ŽåïŒæ¢åãã£ãŒãã£ãŒ 0 ä»¶ïŒã¯ã以äžãããã圢åŒã§åéããã
ãã©ã¡ãŒã¿äžèЧ
| ãã©ã¡ãŒã¿ | 説æ | å¿
é |
|---|
team | ããŒã åã.sdd-config.yaml ã« teams: ãããã°ãã®äžããéžæããªããã°ä»»æ | â
|
project | ãããžã§ã¯ãåïŒæ¥æ¬èªå¯ïŒ | â
|
feature | ãã£ãŒãã£ãŒåïŒæ¥æ¬èªå¯ïŒ | â
|
feature_id | feature åããèªåçæïŒkebab-caseïŒ | èªå |
goal | ãã®ãã£ãŒãã£ãŒã§éæãããäŸ¡å€ | â
|
scope_in | ã¹ã³ãŒãå
ã®äºé
| â
|
scope_out | ã¹ã³ãŒãå€ã®äºé
| â
|
constraints | æéã»æ³ä»€ã»äºç®ã»æè¡çå¶çŽ | ä»»æ |
åéæ¹æ³ïŒãããæç€ºïŒ
AskUserQuestion ã®åŒã³åºã㯠2åïŒããã1 + ããã2ïŒã«åããã
åããã㯠1åã® AskUserQuestion ã§å
šé
ç®ããŸãšããŠæç€ºããããšãé
ç®ããšã«åå¥ã® AskUserQuestion ãçºè¡ããŠã¯ãªããªãã
ããã1: åºæ¬æ
å ±ïŒ1åã® AskUserQuestion ã§ä»¥äžãå
šãŠèãïŒ
以äžã®åºæ¬æ
å ±ãæããŠãã ãã:
1. ããŒã å: ïŒ`.sdd-config.yaml` ã« `teams:` ãå®çŸ©ãããŠããå Žåã¯ãã®äžããéžæããªããã°ä»»æïŒ
2. ãããžã§ã¯ãå: ïŒæ¥æ¬èªå¯ïŒ
3. ãã£ãŒãã£ãŒå: ïŒæ¥æ¬èªå¯ïŒ
feature_id èªåçæã«ãŒã«:
ããã1ã§ãã£ãŒãã£ãŒåãåãåã£ãåŸã以äžã®ã«ãŒã«ã§ feature_id ãèªåçæãã:
- ãã£ãŒãã£ãŒåãè±èªã®å Žå: ãã®ãŸãŸ kebab-case ã«å€æïŒäŸ:
Product Search â product-searchïŒ
- ãã£ãŒãã£ãŒåãæ¥æ¬èªã®å Žå: ããŒãåã«å€æã㊠kebab-caseïŒäŸ:
ååæ€çŽ¢ â shohin-kensakuïŒ
- ã¹ããŒã¹ã»èšå·ã¯ãã€ãã³ã«çœ®æãå°æåå
ããã2: ã¹ã³ãŒãã»å¶çŽïŒ1åã® AskUserQuestion ã§ä»¥äžãå
šãŠèãïŒ
ãã£ãŒãã£ãŒã®è©³çްãæããŠãã ããïŒçªå·ã«å¯Ÿå¿ãã圢ã§åçããŠãã ããïŒ:
1. éæããã䟡å€ïŒgoalïŒ: ãã®ãã£ãŒãã£ãŒã§å®çŸãããããš
2. ã¹ã³ãŒãå
ã®äºé
: ãã®ãã£ãŒãã£ãŒã«å«ãŸããæ©èœã»å¯Ÿå¿ç¯å²
3. ã¹ã³ãŒãå€ã®äºé
: ä»åã®ã¹ã³ãŒãã«å«ããªããã®
4. å¶çŽäºé
ïŒä»»æïŒ: æéã»æ³ä»€ã»äºç®ã»æè¡çå¶çŽãããã°
æªåçã®å¿
é é
ç®ãããå Žåã®ã¿ãäžè¶³åããŸãšããŠ1åã® AskUserQuestion ã§å確èªããã
å®è¡æé
0. docs_root ã®è§£æ±ºïŒãµãã¢ãžã¥ãŒã«å¯Ÿå¿ïŒãšèšå®ãã¡ã€ã«ã®èªã¿èŸŒã¿
ããã¥ã¡ã³ããªããžããªããµãã¢ãžã¥ãŒã«ãšããŠå©çšãããŠããå Žåãããã¥ã¡ã³ãã®çæå
ã¯ãµãã¢ãžã¥ãŒã«å
ã® teams/ ãã£ã¬ã¯ããªã«ãªãã以äžã®ããžãã¯ã§ docs_root ãèªåæ€åºãã:
- ã¯ãŒã¯ã¹ããŒã¹ã«ãŒãã«
sdd-docs/teams/ ãã£ã¬ã¯ããªãååšããã確èª
- ååšããå Žå â
docs_root = sdd-docsïŒãµãã¢ãžã¥ãŒã«ã¢ãŒãïŒ
- ååšããªãå Žå â
docs_root = .ïŒã¹ã¿ã³ãã¢ãã³ã¢ãŒã â æ¬ãªããžããªåäœã§å©çšïŒ
ãµãã¢ãžã¥ãŒã«ã®ãã£ã¬ã¯ããªå㯠sdd-docs ãæ¢å®ãšãããå¥åã䜿ã£ãŠããå Žåã¯ããã®ååã«èªã¿æ¿ããããšã
以éã®å
šãŠã®ãã¹ã¯ {docs_root}/teams/... ã®åœ¢åŒã§è§£æ±ºãããdocs_root ã¯å
šãŠã®ã¹ãã«ã»ãšãŒãžã§ã³ããžã®å§è²æã«ãã©ã¡ãŒã¿ãšããŠåŒãæž¡ãã
ç¶ã㊠{docs_root}/.sdd-config.yaml ã®ååšã確èªãã:
- ååšããå Žå â
teams: ã«åæãããããŒã åãèªã¿èŸŒã¿ãããã1ã®ããŒã å質åã§ã¯ãã®äžããéžæããã
- ååšããªãå Žå â ããŒã åã¯èªç±å
¥åãšãã
1. ãã£ãŒãã£ãŒãã¹ã®ç¹å®
{docs_root}/teams/{team}/{project}/{feature}/_approval-status.yaml
2. çŸåšã®ãã§ãŒãºç¶æ
ãèªã¿èŸŒã
_approval-status.yaml ãååšããå Žåã¯èªã¿èŸŒã¿ãååšããªãå Žåã¯å
šãã§ãŒãº pending ãšããŠæ±ãã
3. 鲿ã€ã³ãžã±ãŒã¿ãŒã衚瀺ãã
ãã§ãŒãºéå§åã«å¿
ã以äžã®åœ¢åŒã§çŸåšã®é²æã衚瀺ãã:
ð start-teams-doc: {feature}
[â
Discovery] â [â
Design] â [â³ QA] â [⬠Operations]
å¡äŸ:
â
â status: approved
â³ â å®è¡äžïŒããããçæãããã§ãŒãºïŒ
â¬ â æªçæ
ð â status: in_reviewïŒã¬ãã¥ãŒåŸ
ã¡ïŒ
ð â status: changes_requestedïŒä¿®æ£åŸ
ã¡ïŒ
3.5. ã€ã³ã¿ãã¥ãŒå®è¡
次ã«å®è¡ãããã§ãŒãºãç¹å®ããåŸããã§ãŒãºã¹ãã«ãžå§è²ããåã«ã€ã³ã¿ãã¥ãŒã宿œããã
| æ¡ä»¶ | ã¢ã¯ã·ã§ã³ |
|---|
_interview-notes.yaml ãååšããªã | interviewer ã¹ãã«ã mode: initial ã§åŒã³åºãïŒå
±é質å + ãã§ãŒãºåºæè³ªåïŒ |
_interview-notes.yaml ãååšãã | interviewer ã¹ãã«ã mode: phase-followup ã§åŒã³åºãïŒãã§ãŒãºåºæè³ªåã®ã¿ïŒ |
ã€ã³ã¿ãã¥ãŒåŒã³åºãæã®ãã©ã¡ãŒã¿:
target_skill: teams-docs-{次ã®ãã§ãŒãºå}
output_dir: {docs_root}/teams/{team}/{project}/{feature}
mode: initial ãŸã㯠phase-followup
existing_notes: ïŒååšããå ŽåïŒ_interview-notes.yaml ã®å
容
context_params: { team, project, feature, feature_id, goal, scope_in, scope_out, constraints, docs_root }
ã€ã³ã¿ãã¥ãŒçµæïŒ_interview-notes.yamlïŒã¯ãã§ãŒãºã¹ãã«ãžã®ã³ã³ããã¹ããšããŠåŒãæž¡ãããã§ãŒãºã¹ãã«ã¯ _interview-notes.yaml ãååšããå Žåããã®å
容ãåç
§ããŠããã¥ã¡ã³ãã®è³ªãåäžãããã
4. 次ã«å®è¡ãã¹ããã§ãŒãºãèªåå€å®ããŠå§è²ãã
| æ¡ä»¶ | å®è¡ããã¹ãã« |
|---|
discovery.status ã pending ãŸã㯠yaml ãªã | teams-docs-discovery |
discovery.status == approved ã〠design.status != approved | teams-docs-design |
design.status == approved ã〠qa.status != approved | teams-docs-qa |
qa.status == approved ã〠operation.status != approved | teams-docs-operations |
å
šãã§ãŒãº approved | å®äºã¡ãã»ãŒãžã衚瀺ããŠçµäº |
åªå
é äœïŒäžãæåªå
ïŒ:
changes_requested ã®ãã§ãŒãºãããå Žåã¯ããã®ãã§ãŒãºãæåªå
ã§ä¿®æ£ã¢ãŒãã§å®è¡ãã
in_review ã®ãã§ãŒãºãããå Žåã¯ãã€ã³ã¿ãã¥ãŒã»ããã¥ã¡ã³ãçæãã¹ãããããæ§é ããªããŒã·ã§ã³ïŒæé 5ïŒã®ã¿å®è¡ããŠæ¿èªç¢ºèªã«çŽæ¥é²ã
- äžèšããŒãã«ã«åŸããæ¬¡ã®
pending ãã§ãŒãºãå®è¡ãã
5. æ§é ããªããŒã·ã§ã³ïŒãã§ãŒãºå®è¡åïŒ
ãã§ãŒãºã¹ãã«ãžå§è²ããåã«ãæ§é ããªããŒã·ã§ã³ã¹ã¯ãªãããå®è¡ããã
æ°èŠãã£ãŒãã£ãŒïŒãã£ã¬ã¯ããªæªäœæïŒã®å Žåã¯ã¹ãããããŠããã
python <this_skill_dir>/scripts/validate-structure.py <feature_dir>
<this_skill_dir> ã¯ããã® SKILL.md ãé
眮ãããŠãããã£ã¬ã¯ããªã®å®éã®ãã¹ã«è§£æ±ºããããšã
æ¢åã®ãã£ã¬ã¯ããªæ§æã»ãã¡ã€ã«åœåã»IDæ¡çªã»_approval-status.yaml ã®æŽåæ§ããã§ãã¯ããåé¡ãããã°ä¿®æ£ããŠãããã§ãŒãºãéå§ããã
æ¿èªã«ãŒã«ã»ãã¬ãŒãµããªãã£ã«ãŒã«ã®è©³çŽ°ã¯ references/rules.md ãåç
§ã
IDæŽåã«ãŒã«ã«ã€ããŠã references/rules.md ãåç
§ã
6. ã¹ãã«ãžã®å§è²
決å®ããã¹ãã«ãèªã¿èŸŒã¿ãåéæžã¿ã®ãã©ã¡ãŒã¿ïŒdocs_root ãå«ãïŒããã®ãŸãŸåŒãæž¡ããŠå®è¡ããã
å§è²å
ã¹ãã«ã§å床ãã©ã¡ãŒã¿ã®å
¥åãæ±ããªãã
6.5. ãœãŒã¹ã³ãŒãåç
§ã¬ã€ãã³ã¹
ãµãã¢ãžã¥ãŒã«ã¢ãŒãïŒdocs_root = sdd-docsïŒã®å Žåãã¯ãŒã¯ã¹ããŒã¹ã«ãŒãã«ã¯ã¡ã€ã³ãªããžããªã®ãœãŒã¹ã³ãŒããååšãããåãã§ãŒãºã¹ãã«ã¯å¿
èŠã«å¿ããŠãœãŒã¹ã³ãŒããåç
§ããããã¥ã¡ã³ãã®ç²ŸåºŠãé«ããããš:
- Design: æ¢åã®ã³ãŒãããŒã¹æ§é ã»DB ã¹ããŒãã»API å®çŸ©ãåç
§ããŠã¢ããªã³ã°ã»spec ãäœæ
- QA: æ¢åãã¹ãã³ãŒãã®ãã¿ãŒã³ã»ãã¹ããã¬ãŒã ã¯ãŒã¯èšå®ãåç
§ããŠãã¹ãèšç»ãäœæ
- Operations: ã€ã³ãã©æ§æïŒDockerfile, k8s manifests çïŒã»CI/CD èšå®ã»ç£èŠèšå®ãåç
§ããŠéçšããã¥ã¡ã³ããäœæ
7. æ§é ããªããŒã·ã§ã³ïŒãã§ãŒãºå®è¡åŸïŒ
ãã§ãŒãºã¹ãã«å®äºåŸã»æ¿èªç¢ºèªåã«ãå床æ§é ããªããŒã·ã§ã³ã¹ã¯ãªãããå®è¡ããã
python <this_skill_dir>/scripts/validate-structure.py <feature_dir>
ããªããŒã·ã§ã³ãšã©ãŒãããå Žåã¯æ¿èªåã«ä¿®æ£ãè¡ãã
å
šãã§ãŒãºå®äºæã®ã¡ãã»ãŒãž
ð {feature} ã®ããã¥ã¡ã³ããå
šãã§ãŒãºå®äºããŸããã
çæãããããã¥ã¡ã³ã:
{docs_root}/teams/{team}/{project}/{feature}/
âââ _approval-status.yaml
âââ discovery/
â âââ prd.md
â âââ ãŠãŒã¶ãŒã¹ããŒãªãŒ/
âââ design/
â âââ éæ©èœèŠä»¶.md
â âââ ã¢ããªã³ã°.md
â âââ spec/
â âââ adr/ïŒè©²åœããå ŽåïŒ
âââ qa/
â âââ ãã¹ãèšç»æž.md
â âââ éæ©èœèŠä»¶ã®ãã¹ã.md
â âââ ãŠãŒã¶ãŒã¹ããŒãªãŒ/*.feature
âââ operation/
âââ slo-sla.md
âââ ...
Troubleshooting
_approval-status.yaml ãèŠã€ãããªã â æ°èŠãã£ãŒãã£ãŒãšããŠæ±ããDiscovery ãã§ãŒãºããéå§ããã_approval-status.yaml 㯠Discovery ãã§ãŒãºå®è¡æã«èªåçæãããã
- ãã§ãŒãºèªåå€å®ãæ£ãããªã â ãŠãŒã¶ãŒã«ç¢ºèªããæåã§ãã§ãŒãºãæå®ããã
_approval-status.yaml ã®åãã§ãŒãºã® status å€ã確èªããã
- validate-structure.py ããšã©ãŒãè¿ã â ãšã©ãŒã¡ãã»ãŒãžã«åŸããã£ã¬ã¯ããªæ§é ã»å¿
é ãã¡ã€ã«ã»ID æ¡çªãä¿®æ£ããã詳现㯠references/rules.md ãåç
§ã
- ãµãã¢ãžã¥ãŒã«ã¢ãŒãã§
docs_root ã解決ã§ããªã â sdd-docs ãã£ã¬ã¯ããªã®ååšã確èªãããååšããªãå Žå㯠docs_root = . ãšããŠå®è¡ããã
åç
§ã¹ãã«ã»ãšãŒãžã§ã³ã