| name | create-issue |
| description | Create an implementation plan and a GitHub Issue based on the task description provided as an argument. Use this when the user supplies a natural-language task description (not an issue number) and wants a new implementation-ready Issue. If the input is an existing issue number, use create-issue-from-issue-number (re-analyze) or update-issue (reflect comments) instead. |
| argument-hint | [task-description] |
Create Issue
åŒæ°ã§åãåã£ãã¿ã¹ã¯èª¬æãããšã«èŠä»¶ãæŽçããGitHub Issueãæ°èŠäœæããã¹ãã«ãInstructionsã®é ã«æåŸãŸã§èªåŸçã«å®è¡ããã
èªåŸå®è¡åå: ãŠãŒã¶ãŒãžã®ç¢ºèªã¯è¡ããã倿ã¯ãã¹ãŠæ¬ã¹ãã«å
ã®ã«ãŒã«ã§èªå決å®ãããéäžã§è³ªåããã確èªãããããšã¯æåŸã«Issueãžã®ã³ã¡ã³ããšããŠæ®ããäžææ¡ä»¶ã«è©²åœããå Žåã®ã¿ãçç±ãåºåããŠçµäºããã
å
¥åç¯å²: åŒæ°ã¯ãèªç¶èšèªã®ã¿ã¹ã¯èª¬æãã®ã¿ãIssue çªå·ïŒæ°å€ã®ã¿ã»#ä»ãæ°å€ã»Issue URLïŒã®å Žåã¯æ±ãããæ¢å Issue ã®ã³ãŒãååæã¯ /create-issue-from-issue-numberãã³ã¡ã³ãç±æ¥ã®åæ 㯠/update-issue ãæ¡å
ããŠçµäºããã
責åã®åæ
: æ¬ã¹ãã«ã¯ãåæïŒã¿ã¹ã¯å
容çè§£ã»ã³ãŒãåæïŒããŸã§ãæ
ãããæ¬ææŽåœ¢ã»æçš¿åãã§ãã¯ã»gh issue create å®è¡ã㯠post-issue-body ã¹ãã«ãžå§è²ãããæ¬æãã³ãã¬ãŒãã»å€æŽãã°è¿œèšã«ãŒã«ã»æçš¿åãã§ãã¯ãªã¹ãã»heredoc æçš¿ã³ãã³ãã¯ãã¹ãŠ post-issue-body åŽã«éçŽãããŠãããããæ¬ã¹ãã«å
ã§ã¯åèšè¿°ããªãã
Instructions
å®è¡ã¢ãŒãã®å¶çŽ: ãµããšãŒãžã§ã³ãã»ãµãã¹ãã«ã»Bashãããã¯ã°ã©ãŠã³ãå®è¡ããªãããš
æ¬ã¹ãã«ã¯åæçµæã post-issue-body ã«åæçã«æž¡ã㊠Issue URL ãåãåãå¥çŽã«ãªã£ãŠãããéäžã§ããã¯ã°ã©ãŠã³ãåãããšåææªå®ã®ãŸãŸæ¬¡å·¥çšãžå¶åŸ¡ãæ»ããIssue ãæªçæã»ç©ºã®ãŸãŸå®äºæ±ãã«ãªãäºæ
ãèµ·ãããæ¬ã¹ãã«å
éšã§åŒã³åºã Agent / Skill / Bash ã絶察ã«ããã¯ã°ã©ãŠã³ãå®è¡ããªãããšã
Agent ããŒã«ã¯æ¢å®ã run_in_background: trueïŒããã¯ã°ã©ãŠã³ãïŒãåŒã³åºãããšã« å¿
ã run_in_background: false ãæç€ºæå® ãããã©ã¢ã°ã©ãŠã³ãã§åæçã«çµæãåãåã£ãŠããæ¬¡ã®åŠçã«é²ããç¹ã« Explore ãµããšãŒãžã§ã³ãèµ·åæã¯æå®ãçç¥ããªãããš
Skill ã« run_in_background: true ãæå®ããªãïŒæ¢å®ã¯åæïŒãç¹ã« post-issue-body / inspect-pencil-node ã¯è¿åŽå®äºã確èªããŠããæ¬¡ã®ãã§ãŒãºã«é²ã
Bash ã«ã run_in_background: true ãæå®ããªã
- åäžã¡ãã»ãŒãžå
ã§è€æ°ã®
Agent / Skill ã䞊åã«æããã®ã¯ã䞊åå®è¡ãã§ãã£ãŠãããã¯ã°ã©ãŠã³ãå®è¡ãã§ã¯ãªããã蚱容ãããããã ã Agent ã¯åå¥ã« run_in_background: false ãæå® ããããš
ãã§ãŒãº0: äºåãã§ãã¯
0-1. åŒæ°ã®åŠ¥åœæ§ç¢ºèª
$ARGUMENTS ã以äžã«è©²åœããå Žåã¯äžæããïŒãã®ã¹ãã«ã¯æ°èŠäœæå°çšïŒãå€å®ã¯æ©æ¢°çã«è¡ãããŠãŒã¶ãŒãžã®ç¢ºèªã¯äžèŠã
- æ°å€ã®ã¿ïŒäŸ:
123ïŒ
#ä»ãæ°å€ïŒäŸ: #123ïŒ
- GitHubã®Issue URLïŒ
.../issues/<çªå·>ïŒ
è©²åœæã¯ãããã®ã¹ãã«ã¯æ°èŠäœæå°çšã§ããæ¢åIssueãèµ·ç¹ã«ååæããã«ã¯ /create-issue-from-issue-number <çªå·> ããã³ã¡ã³ãããæªåæ äºé
ãåæ ããã«ã¯ /update-issue <çªå·> ã䜿ã£ãŠãã ããããšåºåããŠçµäºããã
åŒæ°ã空ããŸãã¯æå³ã®ããã¿ã¹ã¯èª¬æãå«ãŸãªãå Žåãäžæããã
0-2. äœæ¥ãã£ã¬ã¯ããªã®ç¢ºèª
pwd ãå®è¡ããçµæã«å¿ããŠä»¥äžãå€å®ãããworktreeãæ°ãã«äœæããªãããšã
.claude/worktrees/ é
äžã«ãã â ãã®worktreeå
ã§äœæ¥
- ãã以å€ïŒãªããžããªã®ã«ãŒãçïŒâ ãã®å Žã§äœæ¥
0-3. ããã©ã«ããã©ã³ãã®å®å
šãªåæïŒfail-safeã«ã¹ãããå¯ïŒ
以äžã詊è¡ãã倱æããŠãäžæããã¹ãããããŠç¶è¡ããïŒæ¬ã¹ãã«ã¯ã³ãŒã倿Žã䌎ããªããããææ°åã«å€±æããŠãäœæ¥ç¶ç¶ã§ããïŒã
git fetch --prune || true
git rebase ã git pull ã¯å®è¡ããªãïŒæªã³ããã倿Žã conflict ã«ããäžæãé¿ããããïŒã
å®äºæ¡ä»¶: åŒæ°ãã¿ã¹ã¯èª¬æãšããŠæå¹ãšç¢ºèªã§ããäœæ¥ãã£ã¬ã¯ããªãç¹å®ãããŠããããšã
1. ã¿ã¹ã¯ã®åæïŒåèæ
å ±ã®åéïŒ
ã¿ã¹ã¯ã®èæ¯ãçè§£ããããã«ãååšãããã®ã®ã¿ãèªã¿èŸŒããååšããªããã¹ã¯é»ã£ãŠã¹ãããããã
docs/ é
äžã®ããã¥ã¡ã³ããã¡ã€ã«: ls docs/ 2>/dev/null ã§ååšç¢ºèªããäžã§ãã¿ã¹ã¯ã«é¢ä¿ããããªãã¡ã€ã«ãèªã
design/ é
äžã® Pencil ãã¡ã€ã«ïŒ.penïŒ: ls design/ 2>/dev/null ã§ååšç¢ºèªããäžã§ãinspect-pencil-node ã¹ãã«ã§å¯Ÿè±¡Nodeã®å±æ§ããŒã¿ãšã¹ã¯ãªãŒã³ã·ã§ãããååŸããŠå
容ã確èªããïŒ.pen ã¯æå·åãã€ããªã®ãã Read/Grep ã¯äœ¿ããªãïŒã.pen ã®ç·šéãå¿
èŠãšå€æããå Žåã¯æ¬ã¹ãã«å
ã§ã¯ç·šéãããpost-issue-body ãžæž¡ããå®è£
ãã©ã³ãã確èªäºé
ãã«ãpencil-design-updater ãšãŒãžã§ã³ãã§ <察象 .pen> ãæŽæ°ãããæšãæèšããŠåŸç¶ã¿ã¹ã¯ãžå§è²ãã
ã¿ã¹ã¯å
容
$ARGUMENTS
2. ã³ãŒãã®åæïŒExplore ãµããšãŒãžã§ã³ãã䜿çšïŒ
Explore ãµããšãŒãžã§ã³ããèµ·åãã以äžãååŸããã
- 圱é¿ç¯å²ãšãªãäž»èŠãã¡ã€ã«ã»ãã£ã¬ã¯ããªïŒæå€§10ä»¶ïŒ
- æ¢åã®é¡äŒŒå®è£
ã®åç
§å
ïŒæå€§5ä»¶ããã¡ã€ã«ãã¹ãšåœ¹å²ã®1è¡èª¬æïŒ
- ã¿ã¹ã¯éæã«å¿
èŠãªå€æŽã®æŠç¥ïŒãã§ãŒãºåãå¯èœãªã3段é以å
ïŒ
- äžç¢ºå®æ§ã»ç¢ºèªäºé
ã®ãªã¹ãïŒæšæž¬ã§åãããIssueã«æ®ãåæïŒ
ãµããšãŒãžã§ã³ããžã®ããã³ããã«ã¯ããŠãŒã¶ãŒã«ã¯è³ªåããã調æ»çµæãè¿åŽããŠçµäºãããããšãšãäžèšã®åºåãã©ãŒããããæç€ºããã
çŽè¿é¢é£å€æŽã®ç¢ºèªïŒå¿
é ïŒ
é²è¡äžã»çŽè¿å®äºæžã¿ã®é¢é£äœæ¥ãèŠèœãšããæ¢åå®è£
ãšéè€ãããŽãŒã¹ãã¿ã¹ã¯ãå«ãã Issue ã起祚ããªããããExplore ãç¹å®ãã察象ãã¡ã€ã«äžèЧã«ã€ããŠçŽè¿ã® commit å±¥æŽãšé¢é£ PR ãå¿
ã確èªããã
- 察象ãã¡ã€ã«ããšã«
git log --oneline -10 <file> ãå®è¡ããçŽè¿ commit ã®ãµããªãææ¡ãã
gh pr list --search "<file>" ã§æªããŒãžã®é¢é£ PR ã確èªãã
- çŽè¿ commit ã«å€§èŠæš¡ãªãã¡ã¯ã¿ã»å
±éãã«ããŒè¿œå ãªã©ã®å€§ããªå€æŽãå«ãŸããå ŽåããæªããŒãžã®é¢é£ PR ãããå Žåã¯ããã®å
容ã
post-issue-body ã«æž¡ããçŽè¿é¢é£å€æŽãã»ã¯ã·ã§ã³ïŒå¿
èŠã«å¿ããŠãåç
§æ
å ±ãã«ãïŒã«å¿
ãèšèŒããå®è£
ãã©ã³ãæ¢åå®è£
ãšéè€ããŠããªããæ€èšŒãã
- git å±¥æŽã®ãªãæ°èŠæ©èœèŠæ±ãªã©ç¢ºèªãå°é£ãªã±ãŒã¹ã§ã¯ã該åœãªãããšèšèŒããŠã¹ãããããŠãã
å®äºæ¡ä»¶: äžèš4é
ç®ãæãã察象ãã¡ã€ã«ã®çŽè¿é¢é£å€æŽãææ¡ã§ããŠããããšãæããªãå Žåã§ã远å 調æ»ãããäžè¶³åã¯ãäžæããšããŠæ¬¡ã«é²ãã
3. post-issue-body ã¹ãã«ã§ Issue ãäœæ
ã¹ããã1ã»2ã®åæçµæã 以äžã® YAML ãããã¯ã®åœ¢ã§ãã®ãŸãŸ args ãšã㊠Skill tool ã§ post-issue-body ãèµ·åããïŒpost-issue-body 㯠args ã YAML ãšããŠæ©æ¢°çã«ããŒã¹ããèŠçŽïŒã
mode: create
title: <ã¿ã¹ã¯ã®ç®çãåããç°¡æœãªã¿ã€ãã«>
sections:
æŠèŠ: |
ïŒ1-3è¡ïŒ
èŠä»¶: |
- ...
ïŒç¡ããã° "ãªã"ïŒ
åç
§æ
å ±: |
- ããã¥ã¡ã³ã: `<path>` â <説æ>
ïŒã¹ããã1ã§èªãã åç
§ãç¡ããã° "ãªã"ïŒ
çŽè¿é¢é£å€æŽ: |
- `<commit hash>` <subject> â <圱é¿>
ïŒã¹ããã2ã§ç¢ºèªããçµæãç¡ããã° "該åœãªã"ïŒ
å®è£
ãã©ã³: |
1. ãã§ãŒãº1
2. ãã§ãŒãº2
圱é¿ç¯å²: |
- `<path>` â <æŠç¥>
new_changelog_entry: åçäœæ â <ã¿ã¹ã¯ã®æŠèŠãäžèš>
labels:
- cc-triage-scope
- cc-issue-created
confirmation_items:
- <ã¹ããã2ã§æœåºããæªç¢ºèªäºé
1>
- <ã¹ããã2ã§æœåºããæªç¢ºèªäºé
2>
labels ã«ã¯ cc-triage-scope ãš cc-issue-created ã®2ã€ãå¿
ãå
¥ããïŒãã®ã¹ãã«ã§äœæãã Issue ã¯ãExplore åææžã¿ïŒcc-issue-createdïŒããã€ã人éã® triage åŸ
ã¡ïŒcc-triage-scopeïŒãã®äž¡æ¹ã®æ§è³ªãæã€ãããåŸç¶ã¹ãã«ãäž¡æ¹ã®ã©ãã«ã§æŸããããã«ããïŒãassignee 㯠post-issue-body ã gh api user --jq '.login' ã§ååŸãã gh ãã°ã€ã³ãŠãŒã¶ãŒãèªåã§çŽã¥ãããããæ¬ã¹ãã«ããæž¡ãå¿
èŠã¯ãªãã
Skill tool åŒã³åºã㯠Skill(skill='post-issue-body', args=<äžèšYAMLæåå>)ïŒå¿
èŠãªã plugin namespace ä»ãã§ base-tools:post-issue-bodyïŒãargs ã¯æ¹è¡ãå«ãè€æ°è¡æååãšããŠãã®ãŸãŸæž¡ããæ¬ææŽåœ¢ã»æçš¿åãã§ãã¯ã»gh issue createïŒ--label cc-triage-scope --label cc-issue-created --assignee <gh ãã°ã€ã³ãŠãŒã¶ãŒ> ä»ãïŒã®å®è¡ã確èªäºé
ãããã°ã³ã¡ã³ãæçš¿ãŸã§ã post-issue-body ãæ
ããå®äºåŸãIssue URL ãšç¢ºèªäºé
ã³ã¡ã³ãã®æç¡ãè¿ã£ãŠããã
post-issue-body ã®å€±æïŒgh ã³ãã³ã倱æã»æ¬æãã§ãã¯äžééã®è§£æ¶äžèœçïŒã¯ãã®ãŸãŸæ¬ã¹ãã«ã®äžææ¡ä»¶ãšãªãããšã©ãŒã¡ãã»ãŒãžãæçµå ±åã«å«ããŠäžæããã
4. æçµå ±å
post-issue-body ããè¿ã£ãŠãã Issue URL ãšã確èªäºé
ã³ã¡ã³ãã®æç¡ã1-3è¡ã§å ±åããŠçµäºããã
äžææ¡ä»¶
以äžã®ããããã«è©²åœããå Žåã®ã¿ãçç±ãåºåããŠå³äžæããããã以å€ã¯èªåŸçã«å€æããŠç¶è¡ããã
- åŒæ°ã空ããŸãã¯æå³ã®ããã¿ã¹ã¯èª¬æãå«ãŸãªã
- åŒæ°ãIssueçªå·ïŒæ°å€ã®ã¿ã»
#ä»ãæ°å€ã»Issue URLïŒâ /create-issue-from-issue-number ãŸã㯠/update-issue ãæ¡å
ããŠçµäº
post-issue-body ã倱æããå詊è¡ããŠãè§£æ¶ããªã
泚æäºé
- ãã®ã¹ãã«ã¯ã³ãŒããäžå倿ŽããªããIssue ã®äœæã»ã³ã¡ã³ãã¯
post-issue-body çµç±ã§è¡ããæ¬ã¹ãã«å
ã§çŽæ¥ gh issue create ãåŒã°ãªã
- äœæãã Issue ã«ã¯åžžã«
cc-triage-scope ãš cc-issue-created ã®2ã©ãã«ãä»äžãããpost-issue-body ãžã® YAML ãã labels ããŒãèœãšããã2ä»¶ãšãå
¥ã£ãŠããããšãæ¯å確èªããããš
- éäžã§ãŠãŒã¶ãŒã«è³ªåããªãã確èªãããããšã¯
post-issue-body ãžã確èªäºé
ããšããŠæž¡ããã³ã¡ã³ããšããŠæ®ã
- Pencil ãã¡ã€ã«ïŒ
.penïŒã®èªã¿èŸŒã¿ã¯ inspect-pencil-node ã¹ãã«çµç±ã§ã®ã¿è¡ãïŒæå·åãã€ããªã®ãã Read/Grep ã¯äœ¿ããªãïŒ
.pen ã®ç·šéã¯æ¬ã¹ãã«ã§ã¯çµ¶å¯Ÿã«è¡ããªããå¿
èŠãšå€æããå Žå㯠pencil-design-updater ãšãŒãžã§ã³ãã§å¯Ÿå¿ããæšã post-issue-body çµç±ã§ãå®è£
ãã©ã³ããŸãã¯ã確èªäºé
ãã«æèšããŠåŸç¶ã¿ã¹ã¯ãžå§è²ããïŒ.pen ç·šé㯠pencil-design-updater å°ä»»ã»edit-pencil-design ã¹ãã«çµç±ã®éçšã«éçŽãããŠãããæã§ pencil ã³ãã³ããçŽæ¥çµã¿ç«ãŠãã frontend-implementer/general-purpose-assistant çã§ä»£çšãããããªãïŒ