| name | goal-prompt-crafter |
| description | Use when a user wants to define done-criteria or a stop condition for an autonomous multi-turn agent run â setting a Claude Code /goal, a Definition of Done for a Codex or external-orchestrator loop, or turning a vague task into a verifiable completion condition an evaluator can check. |
| metadata | {"short-description":"ææ§ãªèªåŸå®è¡ã¿ã¹ã¯ããæž¬å®å¯èœãªå®äºæ¡ä»¶æãšå®è¡ããªãŒãã«å€æãã (Claude Code /goalã»ä»ãšãŒãžã§ã³ãã®èªåŸã«ãŒã忢æ¡ä»¶ã»DoD ã«æµçšå¯)ã"} |
Goal Prompt Crafter
ææ§ãªèŠæããèªåŸå®è¡ãšãŒãžã§ã³ããŸãã¯è©äŸ¡åšãéæå€å®ã§ãããæž¬å®å¯èœãªå®äºæ¡ä»¶æããž
ç·Žãäžãããæ±çšã³ã¢ã¯å®äºæ¡ä»¶èšèšã/goal ç³»ã³ãã³ããæã€ç°å¢ (Claude Code ãªã©) ã§ã¯
ãã®å
¥åæãšããŠãæããªãç°å¢ã§ã¯èªåŸã«ãŒãã®åæ¢æ¡ä»¶ã»Definition of Doneã»ã¬ãã¥ãŒåºæºãšããŠã
åãæ¡ä»¶æããã®ãŸãŸæµçšã§ããã察象äŸ: Claude CodeãCodex CLIãStop hookãå€éšãªãŒã±ã¹ãã¬ãŒã¿ã
When to Use
- ãŠãŒã¶ãŒã
/goalã»done criteriaã»Definition of Doneã»stop condition ãäœããããšã
- ãéæãããŸã§èªåŸçã«åããŠã»ãããã¿ã¹ã¯ãå®å
šã«å®çŸ©ããããšã
- ã¿ã¹ã¯èšè¿°ãããã¹ãã»lintã»buildã»ãã¡ã€ã«çæã»issue æ¶åãªã©ã®äºå€å€å®ã§ãã
å®äºæ¡ä»¶ã«èœãšããããšã
- èªåŸã«ãŒã (loop / cron / Stop hook / å€éšãªãŒã±ã¹ãã¬ãŒã¿) ã®åæ¢æ¡ä»¶ãèšèšãããšã
Not for
- 1ã¿ãŒã³ã§çµããåçºã¿ã¹ã¯ (æ¡ä»¶æãäœããŸã§ããªã)
- èŠä»¶ä»æ§ãã®ãã®ã®ç²Ÿç·»å (ãã㯠prompt-optimizer çã®èŠä»¶ç³»ã¹ãã«ã®é å)
Target Adapters (åºåå
ã®3é¡å)
åãå®äºæ¡ä»¶æããéæãå€å®ããäž»äœã«å¿ããŠåºãåãããæ¢å®ã¯æãä¿å®çãª
output-only evaluator ãæ³å®ããŠæ¡ä»¶æãçµã (ãããéãã°ä»ã®2é¡åã«ãéã)ã
1. Output-only evaluator â è©äŸ¡åšããšãŒãžã§ã³ãåºåããèŠãªã
Claude Code ã® /goal ã代衚äŸãè©äŸ¡åš (æ¢å® Haiku çžåœã®è»œéã¢ãã«) ã¯
ãšãŒãžã§ã³ãã®åºåããã¹ãã®ã¿ã芳枬ããèªåã§ shell ãå©ããªãã
/goal <æ¡ä»¶æ> ã§èšå®ãæ¡ä»¶éæãŸã§åã¿ãŒã³çµäºåŸã«å€å®ããæªéãªã次ã¿ãŒã³ãèªåéå§ãã
(Claude Code ã® /goal 察å¿çãåæãæåã¯å°å
¥æã«å®æ©ã§ç¢ºèªãã)
- æ¡ä»¶æã¯æå€§ 4000 åã
/goal åäœã§ç¶æ
衚瀺ã/goal clear ã§è§£é€ãåæå®ã§çœ®æ
- æ€èšŒçµæã¯åºåã«çŸããªããã°å€å®ã§ããªããããã¹ããéãããæ¡ä»¶ã«ãããªãã
ãšãŒãžã§ã³ãã«æ€èšŒã³ãã³ããå®éã«å®è¡ãããã³ãã³ãã»exit codeã»èŠçŽãåºåãããæèšã
æ¡ä»¶æã«å¿
ãå«ãã
- åç
§: https://code.claude.com/docs/en/goal.md
2. Tool-capable evaluator / orchestrator â shellã»CIã»workspace ãçŽæ¥æ€æ»ã§ãã
å€éšãªãŒã±ã¹ãã¬ãŒã¿ããæ€èšŒåšèªèº«ãã³ãã³ããå®è¡ã§ããèªåŸã«ãŒãã
æ€èšŒã³ãã³ãã®å®è¡çµæãã®ãã®ãå€å®å¯Ÿè±¡ã«ããŠãã (åºåãžã®è»¢èšã矩åä»ããªããŠãã)ã
/goal ç³»ã³ãã³ããæã€ç°å¢ã§ã¯ãã®å
¥åæãšããŠãæããªãç°å¢ã§ã¯èªåŸã«ãŒãã®
忢æ¡ä»¶ã»Definition of Doneã»ã¬ãã¥ãŒåºæºãšããŠãã®ãŸãŸæµçšããã
3. Human-reviewed loop â 人éãéæã確èªãã
æ¡ä»¶æã¯ã¬ãã¥ãŒåºæºãšããŠäœ¿ãã人éã芳枬ã§ãããªã output-only å¶çŽã¯ç·©ããŠãããã
ãäºå€å€å®ã§ããæž¬å®å¯èœæ§ãã¯å¿
ãä¿ã€ã
Workflow
Step 1: å
¥åå€å® (5ç¹ãã§ãã¯)
ãŠãŒã¶ãŒã®èŠæã以äžã§ãã§ãã¯ããæ¬ ããŠããé
ç®ã ãã Step 2 ã§èãã
å
šéšããã£ãŠããã° Step 3 ãžçŽè¡ããŠããã
- åäžã®æž¬å®å¯èœãŽãŒã«ã â ããã¹ããéãããlint ããŒãããªã©äºå€å€å®ã§ãããã
è€æ°ãŽãŒã«ã®æ··åšã¯åå²ããããand ã§æç€ºçã«æãã
- æ€èšŒæ¹æ³ãå
·äœã â ã©ã®ã³ãã³ãã® exit code / åºåãèŠãã°éæãšèšããã
- ã¹ã³ãŒãå¶çŽãããã â è§Šã£ãŠã¯ãããªããã¡ã€ã«ã»å€ããŠã¯ãããªãæå
- 忢äžéãããã â ã¿ãŒã³æ°ã»æéã®äžé (æŽèµ°ä¿éº)
- è©äŸ¡åšãã芳枬å¯èœã â æ¢å®ã® output-only evaluator ãæ³å®ããåºåã«çŸããªãæ¡ä»¶
(人éã®æ¿èªãå€éšã·ã¹ãã ã®ç¶æ
) ãå«ãã§ããªãããtool-capable / human-reviewed ã®
adapter (Target Adapters åç
§) ãšåãã£ãŠããå Žåã®ã¿ããã®å¶çŽãç·©ããŠãã
Step 2: äžè¶³åã®ãã¢ãªã³ã°
äžè¶³ããŠãã軞ã ãã質åãããå
šéšããã£ãŠããã®ã«èãçŽããªãã
- 質å UI ããããšãŒãžã§ã³ã (Claude Code ã® AskUserQuestion ç) ã§ã¯ããã䜿ãã
ç¡ãç°å¢ã§ã¯ãã¬ãŒã³ããã¹ãã®è³ªåã«ãã©ãŒã«ããã¯ãã
- ãŠãŒã¶ãŒãäžåšã»å¿çäžèœãªæè (èªåŸå®è¡äžã®ååž°å©çšãªã©) ã§ã¯ã
æ¬ èœè»žãä¿å®çãªä»®å®ã§åããä»®å®ãšããŠæ¡ä»¶æãšäžç·ã«æç€ºãã
èã軞ãšå®çªã®éžæè¢:
| 軞 | 質åäŸ | å®çªã®çã |
|---|
| æ€èšŒæ¹æ³ | äœãå®è¡ããã°éæãšåããã | ãã¹ãã³ãã³ã exit 0 / lint 0ä»¶ / build æå / ç¹å®ãã¡ã€ã«ã®ååš |
| ã¹ã³ãŒãå¶çŽ | å€ããŠã¯ãããªããã®ã¯ | ä»ã®ãã¹ããæžãæããªã / å
¬é API äžå€ / ç¹å® dir äžå¯äŸµ |
| 忢äžé | äœã¿ãŒã³ã»äœåã§æã¡åãã | or stop after 20 turns çžåœ |
| éšåéæ | å
šä»¶å¿
é ããäžéšé€å€ãèš±ãã | flaky test ã®é€å€ãªã¹ã / æ¢ç¥å€±æã® skip 蚱容 |
Step 3: ææç©ã®çµã¿ç«ãŠ (å®äºæ¡ä»¶ + å®è¡ããªãŒã)
ææç©ã¯2éšæ§æã«ãããå®äºæ¡ä»¶æã¯è©äŸ¡åšã芳枬ããæž¬å®å¯èœãªæ¡ä»¶ã
å®è¡ããªãŒãã¯èªåŸã«ãŒãã«æž¡ãäœæ¥æç€º (ãµããšãŒãžã§ã³ãå§è²æ¹éãå«ã)ã
3-1: å®äºæ¡ä»¶æ (/goal ã«æž¡ãéšå)
[æ€èšŒå¯èœãŽãŒã«: <æ€èšŒã³ãã³ã> ãå®è¡ã㊠<æåŸ
ããçµæ> ã«ãªã]
[äžå€å¶çŽ: ãã ã <è§Šã£ãŠã¯ãããªããã®> ã¯å€æŽããªã]
[äžé: éæã§ããªããã° <N> ã¿ãŒã³ã§åæ¢ãã]
- output-only evaluator (æ¢å®) åãã«ã¯ãæ€èšŒã³ãã³ãããšãŒãžã§ã³ãèªèº«ã«å®è¡ã»åºåããã
æèšã«ãã (è©äŸ¡åšãåºåããå€å®ã§ããããã«)ãtool-capable 㪠adapter ã§ã¯
å®è¡çµæãã®ãã®ãå€å®ã§ããã®ã§ããã®è»¢èšã¯å¿
é ã§ã¯ãªã
- 4000 åå¶éå
ã«åãããé·å€§ãªèæ¯èª¬æã¯æ¡ä»¶æã«å
¥ãããå®è¡ããªãŒããžåã
- ãµããšãŒãžã§ã³ãå§è²ã¯ãäœæ¥ã®ããæ¹ããªã®ã§æ¡ä»¶æã«ã¯å
¥ããªã
(è©äŸ¡åšã芳枬ããã®ã¯éæç¶æ
ã§ãã£ãŠãææ®µã§ã¯ãªã)
3-2: å®è¡ããªãŒã (èªåŸã«ãŒãã«æž¡ãäœæ¥ããã³ãã)
èªåŸçãªè€æ°ã¿ãŒã³å®è¡ã¯ãçŽ æŽã«åããšã¡ã€ã³ã³ã³ããã¹ãã調æ»ã»æ€èšŒã®åºåã§
åãŸããã«ãŒãåŸåã§æ¯åããããããªãŒãã«ã¯ãµããšãŒãžã§ã³ãå§è²æ¹éãå¿
ãå«ãã:
## ã¿ã¹ã¯
<äœãããã (èæ¯ã»èšèšæç€ºã¯ããã«çœ®ããæ¡ä»¶æã«ã¯å
¥ããªã)>
## ãµããšãŒãžã§ã³ãå§è²æ¹é (å¿
é ã¹ããã)
- åºã調æ»ã»grepã»è€æ°ãã¡ã€ã«èªã¿ã¯èª¿æ»ç³»ãµããšãŒãžã§ã³ãã«å§è²ããçµè«ã ãåãåã
(ã¡ã€ã³ã³ã³ããã¹ãã«ãã¡ã€ã«ãã³ããæºããªã)
- ç¬ç«ãã䞊è¡äœæ¥ã¯è€æ°ãµããšãŒãžã§ã³ãã« fan-out ãã
- ãã¹ãå®è¡ã»ã¬ãã¥ãŒãªã©ã®æ€èšŒããµããšãŒãžã§ã³ãã«æããèŠçŽã ãåãã
- ã¡ã€ã³ã«ãŒãã¯ãå§è²å
ã®çµè«ãçµ±åããŠæ¬¡ã®äžæã決ããã圹ã«åŸ¹ãã
## ã¹ã³ãŒãå¶çŽ
<è§Šã£ãŠã¯ãããªããã®ã»å€ããŠã¯ãããªãæå>
- å§è²æ¹éã¯åé€ã»çç¥ããªã (æ¬ ãããšçŽ æŽãªã·ã³ã°ã«ã³ã³ããã¹ãå®è¡ã«éè¡ãã)
- å§è²å
ã®åŒç§°ã¯å¯Ÿè±¡ã«åããã (subagent / task tool / worker agent / parallel agent /
reviewer agent ç)
- ãããå§è²æ©èœã察象ãšãŒãžã§ã³ãã«ç¡ãå Žåã®ã¿ããã®æšãæèšããäžã§ãé·ããã¡ã€ã«
ãã³ããé¿ãã調æ»çµæãçãèŠçŽã«å§çž®ããŠããã¡ã€ã³ã§æ¬¡ã«é²ããæ¹éã«å·®ãæ¿ãã
Step 4: ã»ã«ããã§ã㯠(ã¢ã³ããã¿ãŒã³ç
§å)
çæããæ¡ä»¶æã以äžãšç
§åãã該åœããã Step 3 ã«æ»ã£ãŠä¿®æ£ãã:
- ææ§èª: "improve" / "clean up" / "ãããã«ãã" â äºå€å€å®ã§ããªã
- è€æ°ãŽãŒã«ã®æé»æ··åš: ããã¹ããçŽããŠããã¥ã¡ã³ããæŽãããâ and ã§æãããåå²
- 芳枬äžèœæ¡ä»¶: ãã¬ãã¥ãŒãæ¿èªãããããããããã€ãå®å®ããããâ
è©äŸ¡åšã¯ãšãŒãžã§ã³ãåºåããèŠããªã
- æ€èšŒã³ãã³ãæ¬ èœ: ããã¹ããéãããšã ãæžããå®è¡ã矩åä»ããŠããªã
- èªå·±èšåã®æã穎: ãéæãããšå ±åãããâ å ±åã ãã§éææ±ãã«ãªãæ¡ä»¶ã¯äžå¯
- äžéãªã: éæäžèœãªãŽãŒã«ã§ç¡éã«ãŒãããä¿éºããªã
Step 5: åºå (md ãã¡ã€ã«ä¿å + ã¡ãã»ãŒãžæç€º)
ææç©ã¯ãã¡ã€ã«ã·ã¹ãã ã«æžã蟌ããç°å¢ã§ã¯å¿
ã md ãã¡ã€ã«ãšããŠä¿åãã
(ã¡ãã»ãŒãžåºåã ãã§çµããããªã)ãæ¡ä»¶æãšããªãŒãã¯é·ããªããã¡ã§ãåŸãã /goal ã«
貌ãçŽãããå¥ã»ãã·ã§ã³ã§åå©çšããããããããæ®çºããã¡ãã»ãŒãžã ãã§ã¯è¶³ããªãã
é
åžå
ã®éçºãšãŒãžã§ã³ã (Claude Code / Codex CLI ç) ã¯ãããã file-capable
ãªã®ã§ãä¿åãæ¢å®ãšãããæžã蟌ããªãç°å¢ã§ã®ã¿ãåã # å®äºæ¡ä»¶ / # å®è¡ããªãŒã
/ # ä»®å® ã®æ§é ãã¡ãã»ãŒãžå
ã«åºåãããŠãŒã¶ãŒãèªåã§ä¿åã§ãã圢ã«ããã
- md ãã¡ã€ã«ã«ä¿å (æžã蟌ããç°å¢ã§ã¯å¿
é ):
- ä¿åå
ã¯ãŠãŒã¶ãŒæå®ãã¹ãæªæå®ãªãäœæ¥ãã£ã¬ã¯ããªã®
goal-<slug>.md
(slug ã¯ãŽãŒã«ããçæ)ãscratchpad ã䜿ããç°å¢ã§ã¯ãã¡ãã§ããã
- ãã¡ã€ã«æ§æ:
# å®äºæ¡ä»¶ (Step 3-1 ã®æ¡ä»¶æ) â # å®è¡ããªãŒã (Step 3-2) â
Step 2 ã§çœ®ããä»®å®ãããã° # ä»®å®
- ä¿ååŸããã¡ã€ã«ãã¹ããŠãŒã¶ãŒã«å ±åãã
- ã¡ãã»ãŒãžã§ãæç€º:
- Claude Code:
/goal <æ¡ä»¶æ> ãã³ããå¯èœãªã³ãŒããããã¯ã§ç€ºãã
slash command ã¯ãŠãŒã¶ãŒãæã€ãã®ãªã®ã§ãã¹ãã«åŽã§å®è¡ããªãã
å®è¡ããªãŒãã¯ååããã³ãããšããŠè²Œãããä¿åãã md ãåç
§ãããæšãæ·»ãã
- ãã®ä»ã®ãšãŒãžã§ã³ã: æ¡ä»¶æããå®äºæ¡ä»¶ (Definition of Done)ããšããŠè¿ãã
èªåŸã«ãŒãã®åæ¢å€å®ã»ã¿ã¹ã¯å®çŸ©ã»ã¬ãã¥ãŒåºæºãžã®æµçšå
ãäžèšæ·»ãã
- Step 2 ã§ä»®å®ã眮ããå Žåã¯ãä»®å®ã®äžèŠ§ãæ¡ä»¶æã®çŽåŸã«ãæç€ºãã
è¯ãäŸ / æªãäŸ
以äžã®ãè¯ã/æªãã㯠/goal ã«æž¡ãå®äºæ¡ä»¶æã®å¯Ÿæ¯ãå®éã®ææç©ã¯
ããã«å®è¡ããªãŒã (ãµããšãŒãžã§ã³ãå§è²æ¹éãå«ã) ãè¶³ã㊠md ä¿åããã
å®å
šãªææç©ã®èŠæ¬ (ä¿åãã md)
# å®äºæ¡ä»¶
uv run pytest tests/unit ãå®è¡ããŠå
šä»¶ pass ããuv run ruff check src/ ã 0 ä»¶ã«ãªãã
ãã ã tests/ é
äžã®æ¢åãã¹ãã¯ä¿®æ£ããªããéæã§ããªããã° 15 ã¿ãŒã³ã§åæ¢ã
# å®è¡ããªãŒã
## ã¿ã¹ã¯
倱æããŠãã unit ãã¹ããä¿®æ£ãããå®è£
ãã°ãåå ãªããããã¯ã·ã§ã³ã³ãŒããçŽãã
## ãµããšãŒãžã§ã³ãå§è²æ¹é
- 倱æåå ã®èª¿æ» (該åœã¢ãžã¥ãŒã«ã® grepã»é¢é£ãã¡ã€ã«èªã¿) ã¯èª¿æ»ç³»ãµããšãŒãžã§ã³ãã«å§è²ãã
çµè«ã ãåãåã
- ä¿®æ£åŸã®æ€èšŒ (pytest / ruff å®è¡) ã¯ãã¹ãå®è¡ç³»ãµããšãŒãžã§ã³ãã«æããèŠçŽãåãã
- ã¡ã€ã³ã«ãŒãã¯å§è²çµæãçµ±åããŠæ¬¡ã®ä¿®æ£å¯Ÿè±¡ã決ãã圹ã«åŸ¹ãã
## ã¹ã³ãŒãå¶çŽ
- tests/ é
äžã®æ¢åãã¹ãã¯æžãæããªã
- å
¬é import ãã¹ãå€ããªã
ãã¹ã修埩系
# è¯ã
/goal uv run pytest tests/unit ãå®è¡ããŠå
šä»¶ pass ããuv run ruff check src/ ã
0 ä»¶ã«ãªãããã ã tests/ é
äžã®æ¢åãã¹ãã¯ä¿®æ£ããªããéæã§ããªããã° 15 ã¿ãŒã³ã§åæ¢ã
# æªã
/goal ãã¹ãåšããããæãã«çŽã # 枬å®äžå¯ã»æ€èšŒã³ãã³ããªãã»äžéãªã
ãªãã¡ã¯ã¿ç³»
# è¯ã
/goal src/big_module.py ã 3 ã€ä»¥äžã®ã¢ãžã¥ãŒã«ã«åå²ããåãã¡ã€ã«ã 300 è¡ä»¥äžã«
ãªããuv run pytest ãåå²åãšåã pass æ°ãç¶æãããå
¬é import ãã¹ã¯å€ããªãã
20 ã¿ãŒã³ã§åæ¢ã
# æªã
/goal ã³ãŒãããããã«åå²ãã # ãããããã¯å€å®äžèœ
backlog æ¶åç³»
# è¯ã
/goal gh issue list --label quick-fix --state open ã®ä»¶æ°ã 0 ã«ãªããå issue ã¯
ä¿®æ£ commit ãäœã issue çªå·ã commit message ã«å«ãããmain ã«ã¯ push ããªãã
30 ã¿ãŒã³ãŸãã¯å
š issue çææžã¿ã§åæ¢ã
# æªã
/goal issue ãå
šéšçä»ãã # ãçä»ãããã®å®çŸ©ããªãã»å®å
šå¶çŽãªã
å¶çŽã»æ³šæ
/goal ã®ä»æ§ (ããŒãžã§ã³ã»åæ°äžéã»è©äŸ¡ã¢ãã«) 㯠Claude Code åŽã®å€æŽã§å€ããããã
æåã説æãšé£ãéãå Žåã¯å
¬åŒããã¥ã¡ã³ã (Target Adapters ã® URL) ãåªå
ããã
4000 åã»output-only ãšãã£ãå¶çŽã¯ output-only evaluator adapter åºæã®ãã®ã§ã
tool-capable / human-reviewed ã® adapter ã«ã¯åœãŠã¯ãŸããªã
- æ¡ä»¶æã¯éæå€å®ã®ããã®ãã®ãäœæ¥æé ã»èæ¯ã»èšèšæç€ºã»ãµããšãŒãžã§ã³ãå§è²æ¹éã¯
å®è¡ããªãŒãåŽã«çœ®ããæ¡ä»¶æã«æ··ããªã
- ææç© (å®äºæ¡ä»¶ + å®è¡ããªãŒã) ã¯æžã蟌ããç°å¢ã§ã¯å¿
ã md ä¿åãããã¹ãå ±åããã
æžã蟌ããªãç°å¢ã§ã¯ã¡ãã»ãŒãžå
ã«åãæ§é ã§åºåãã
- ç Žå£çæäœ (push / deploy / åé€) ãå«ããŽãŒã«ã§ã¯ãäžå€å¶çŽã«å®å
šå¢ç
(ãmain ã« push ããªããç) ãå¿
ãå
¥ãã