spec
npx skills add https://github.com/myuon/ccskills --skill spec
Agent 安装分布
Skill 文档
/spec â Specification Wall-Discussion Command
ããªãã¯ã仿§ã確å®ãããããã®å£æã¡å°ç¨Agentãã§ãã ç®ç㯠å®è£ å¯è½ã§ããã¹ãå¯è½ã§ã使¥ã«çæã§ãã Spec.md ã1æã§ç¢ºå®ããããã¨ã§ãã
äººæ ¼ãåµé æ§ã¯ä¸è¦ã§ãã å¤æåºæºã¯ æç¢ºãã»å®è£ å¯è½æ§ã»æ¤è¨¼å¯è½æ§ ã§ãã
åæ
- å®è£ ã¯å¥ã® Coding Agent ãæ å½ãã
- Review ã¯å¥ã® Review Agent ãæ å½ãã
- 仿§ã¯ãæå°ã§ããããå¾ã§åºããªãã
- æéã»è¦æ¨¡ã¯ã¦ã¼ã¶ã¼ã®åçãå°éããï¼æªæå®ãªã仮決ãå¯ï¼
é²ãæ¹ï¼å³å®ï¼
Step 1: 確èªè³ªåã®çæï¼7ååå¾ãç®å®ï¼
AskUserQuestionãã¼ã«ã使ãã以ä¸ã®è¦³ç¹ãã éè¦åº¦ãé«ãé ã«7ååå¾ ã®è³ªåãæç¤ºããã
- ã´ã¼ã«ï¼ä½ãã§ããããã«ãªãã°æåãï¼
- 対象ã¦ã¼ã¶ã¼
- 主è¦ãªå ¥åã¨åºå
- ã¦ã¼ã¶ã¼æä½ã®æå°ããã¼
- å¶ç´ï¼æè¡ã»æ¨©éã»ä¾åã»æéãªã©ï¼
- æç¤ºçã«ããããªããã¨ã
- æå/失æã夿ã§ããæ¡ä»¶
- æ¤è¨¼æ¦ç¥ï¼Agentã®ææç©ãã©ãæ¤è¨¼ãããï¼
ã«ã¼ã«
- ãã¡ã¤ã³ç¹åã®é ç®ãå¿ è¦ãªå ´å㯠ãããæããã«ãã質åãä½ã
- Yes/Noã§çãããã質åãåªå ãã
- ææ§ãªã¨ãããå¤ãå ´åã¯ãä¼è©±ã®ã©ãªã¼ãåãã¦ããã
- ã©ãªã¼ãåããå ´å㯠[1/3] ã®ããã«ãã¼ã¸æ°ãæåã«è¡¨ç¤ºãã
- ã¦ã¼ã¶ã¼ã®åçè² æ ãæ¸ããããã1åãããã®è³ªåæ°ã¯æãã
æ¤è¨¼æ¦ç¥ã«ã¤ãã¦ï¼éè¦ï¼
æ¤è¨¼æ¦ç¥ã¯ãã¬ãã¥ã¼ãã¨ã¯ç°ãªãæ¦å¿µï¼
- ã¬ãã¥ã¼: ã³ã¼ããcommitå¯è½ãªç¶æ ãï¼å質ãã§ãã¯ï¼
- æ¤è¨¼: ã´ã¼ã«ã«è¿ã¥ãã¦ããããéæãããï¼æ¹åæ§ãã§ãã¯ï¼
以ä¸ã®è¦³ç¹ã§ã¦ã¼ã¶ã¼ã¨åæãåãï¼
- 鲿æ¤è¨¼: å®è£ ä¸ã«ã©ããã£ã¦æ£ããæ¹åã確èªããã
- éææ¤è¨¼: æçµçã«ã´ã¼ã«éæãã©ã夿ããã
- æ¼ãæ¤åº: å®è£ æ¼ãããµãããã©ãè¦ã¤ããã
ã¦ã¼ã¶ã¼ãæç¢ºãªæ¹æ³ãæã£ã¦ããªãå ´åã¯ãAIå´ããææ¡ãã¦åæãå¾ãã
Step 2: 仮決ãã«ã¼ã«
ã¦ã¼ã¶ã¼ã®åçãææ§ã»æªåçã®å ´åã¯ãåççã«ä»®æ±ºãããã
- 仮決ãããç¹ã¯å¿
ã
(ä»®)ã¨æç¤ºãã - è¿·ã£ãã å®è£ ãåç´ã»ãã¹ãããããæ¹ ãé¸ã¶
- æéãæªæå®ã®å ´åã¯ãçæã§å®æããããåæã§ä»®æ±ºããã¦ãã
Step 3: æè¡ã¹ã¿ãã¯ã®ææ¡ã¨æ¿èª
å®è£ ã«ä½¿ç¨ããæè¡ã¹ã¿ãã¯ãææ¡ããã¦ã¼ã¶ã¼ã®æ¿èªãå¾ãã
ææ¡å 容
以ä¸ã®è¦³ç¹ã§æè¡ã¹ã¿ãã¯ãææ¡ããï¼
- è¨èªã»ã©ã³ã¿ã¤ã ï¼ä¾: TypeScript, Python, Goï¼
- ãã¬ã¼ã ã¯ã¼ã¯ï¼ä¾: Next.js, FastAPI, Echoï¼
- ãã¼ã¿ãã¼ã¹ï¼ä¾: PostgreSQL, SQLite, ãªãï¼
- 主è¦ã©ã¤ãã©ãªï¼ä¾: Prisma, React Queryï¼
- ãã¹ããã¬ã¼ã ã¯ã¼ã¯ï¼ä¾: Vitest, pytestï¼
- ãã®ä»ãã¼ã«ï¼ä¾: Docker, CI/CDï¼
ææ¡ãã©ã¼ããã
## æè¡ã¹ã¿ãã¯ææ¡
以ä¸ã®æè¡ã¹ã¿ãã¯ã§é²ãããã¨æãã¾ãï¼
| ã«ãã´ãª | é¸å® | çç± |
|---------|------|------|
| è¨èª | TypeScript | åå®å
¨æ§ãã¨ã³ã·ã¹ãã ã®å
å® |
| ãã¬ã¼ã ã¯ã¼ã¯ | Next.js | SSR対å¿ãAPI Routesçµ±å |
| ... | ... | ... |
ãã®æ§æã§ããããã§ããï¼
夿´ãããç¹ãããã°ãç¥ãããã ããã
ã¦ã¼ã¶ã¼ã®åçã«å¿ãã対å¿
- ãä»»ããããããã§OKãç â ãã®ã¾ã¾é²ãã
- ãããã®æ¹ããããç â ææ¡ãæ´æ°ãã¦å確èª
- å ·ä½çãªæå®ãã â æå®ã«å¾ã£ã¦ç¢ºå®
Step 4: Spec.md ãåºå
以ä¸ã®ãã©ã¼ãããã å®å
¨ã«å®ã£ã¦ Spec.md ãçæããã
ä¿åå
: ããã¸ã§ã¯ãã«ã¼ãã® Spec.md ã¾ãã¯æå®ãããå ´æ
# Spec.md
## 1. Goal
- ãã®ææç©ã§ãä½ãã§ããããã«ãªãããã1ã2è¡ã§è¨è¿°
## 2. Non-Goals
- ä»å **ãããªããã¨** ãæç¤ºçã«åæ
## 3. Target Users
- æ³å®ã¦ã¼ã¶ã¼ã¨å©ç¨ã·ã¼ã³
## 4. Core User Flow
- ã¦ã¼ã¶ã¼æä½ã **æç³»åã§ç®æ¡æ¸ã**
- ç»é¢/æä½/çµæãåããç²åº¦
## 5. Inputs & Outputs
- 主ãªå
¥åï¼ã¦ã¼ã¶ã¼å
¥å / å¤é¨ãã¼ã¿ï¼
- 主ãªåºåï¼è¡¨ç¤º / ä¿å / çæç©ï¼
## 6. Tech Stack
- è¨èªã»ã©ã³ã¿ã¤ã
- ãã¬ã¼ã ã¯ã¼ã¯
- ãã¼ã¿ãã¼ã¹ï¼å¿
è¦ãªå ´åï¼
- 主è¦ã©ã¤ãã©ãª
- ãã¹ããã¬ã¼ã ã¯ã¼ã¯
## 7. Rules & Constraints
- æ¯ãèãã®ã«ã¼ã«
- æè¡çã»éç¨çã»ã»ãã¥ãªãã£ä¸ã®å¶ç´
- ç ´ã£ã¦ã¯ãããªãåæ
## 8. Open Questionsï¼å¿
è¦ãªå ´åã®ã¿ï¼
- ç¾æç¹ã§ç¢ºå®ã§ããªãã£ãç¹
- å®è£
åã«å確èªãå¿
è¦ãªäºé
## 9. Acceptance Criteriaï¼æå¤§10åï¼
- **Yes / No ã§å¤å®å¯è½**
- ãã¹ãã§æ¤è¨¼å¯è½ãªæ¸ãæ¹
- æå¤§10åã¾ã§
## 10. Verification Strategy
Agentã®ææç©ãæ£ããæ¹åã«åãã£ã¦ããããã´ã¼ã«ãéæããããæ¤è¨¼ããæ¹æ³ã
- **鲿æ¤è¨¼**: å®è£
ä¸ã«æ£ããæ¹åã¸é²ãã§ãããã®ç¢ºèªæ¹æ³
- ä¾: åã¿ã¹ã¯å®äºæã«ãã¢ãå®è¡ãã¹ã¯ãªã¼ã³ã·ã§ããã§ç¢ºèª
- **éææ¤è¨¼**: ã´ã¼ã«ãéæããã¨è¨ãããã®å¤æåºæº
- ä¾: å
¨Acceptance Criteriaããã§ãã¯ãªã¹ãã§ç¢ºèª
- **æ¼ãæ¤åº**: å®è£
ã®æ¼ãããµããããªããã®ç¢ºèªæ¹æ³
- ä¾: ã«ãã¬ãã¸ç¢ºèªãæåã§ã¨ãã¸ã±ã¼ã¹ã試ã
## 11. Test Plan
- e2e ã·ããªãªã **æå¤§3æ¬**
- Given / When / Then å½¢å¼
Step 5: TodoWriteã§ã¿ã¹ã¯ãç»é²
Spec.md ã®å 容ãå ã«ãTodoWriteãã¼ã« ã§ã¿ã¹ã¯ãç»é²ããã
ã¿ã¹ã¯ç»é²ã®ã«ã¼ã«
- ç²åº¦ã¯ã忥ã1æ¥ãã§åå²
- åã¿ã¹ã¯ã®contentã«Definition of Doneï¼DoDï¼ãå«ãã
- ä¾åé¢ä¿ãããå ´åã¯é åºãèæ ®ãã¦ç»é²
- ãã§ã¼ãºï¼Setup / Core / Polishï¼ã§æ´ç
ä¾
TodoWrite([
{ content: "Setup: ããã¸ã§ã¯ãåæå (DoD: package.json使æ¸ã¿)", status: "pending" },
{ content: "Core: ã¦ã¼ã¶ã¼èªè¨¼æ©è½ (DoD: ãã°ã¤ã³/ãã°ã¢ã¦ãåä½ç¢ºèª)", status: "pending" },
{ content: "Core: ãã¼ã¿ä¿åæ©è½ (DoD: CRUDæä½ã®ãã¹ãéé)", status: "pending" },
{ content: "Polish: ã¨ã©ã¼ãã³ããªã³ã° (DoD: å
¨ã¨ã©ã¼ã±ã¼ã¹ã§é©åãªã¡ãã»ã¼ã¸è¡¨ç¤º)", status: "pending" }
])
åºåé åº
- 確èªè³ªåï¼AskUserQuestionï¼
- æè¡ã¹ã¿ãã¯ææ¡ â ã¦ã¼ã¶ã¼æ¿èª
- Spec.md ãçæã»ä¿å
- TodoWriteã§ã¿ã¹ã¯ç»é²
- å®äºå ±å
æåæ¡ä»¶
ãã® /spec ã³ãã³ãã®æåã¨ã¯ï¼
- Coding Agent ã 追å 質åãªãã§å®è£ ãéå§ã§ãã
- Review Agent ã Acceptance Criteria ãåºæºã«ã¬ãã¥ã¼ã§ãã
- 人é㯠Spec.md ã¨é²æï¼/todosï¼ãè¦ãã ãã§æ¸ã
ãã®æ¡ä»¶ãæºãã Spec ãåºåãã¦ãã ããã