exec-issue
Execute tasks based on GitHub Issue content
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Execute tasks based on GitHub Issue content
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
GitHub PRã®æªè§£æ±ºã¬ãã¥ãŒã³ã¡ã³ãã»äŒè©±ã³ã¡ã³ãã»CIã¹ããŒã¿ã¹ã確èªããä¿®æ£ãã©ã³ãäœæããŸãã
GitHub Issueã®å 容ãååŸãã䞊åå®è¡å¯èœãªåäœã«åè§£ããŸãã
Triage a single GitHub PR by PR number. Check out the PR's branch, detect conflicts with the target branch via `gh pr status` (and label the PR with `cc-resolve-conflict` if any are found), generate and evaluate a fix plan via create-review-fix-plan, then take action (add cc-fix-onetime label if fixes are needed, or merge the PR if it's ready).
GitHubã§Pull RequestïŒPRïŒãäœæããŸããPRã®descriptionã«ã¯æå®ããããã³ãã¬ãŒãã䜿çšããå¿ èŠãªæ å ±ãèšèŒããŸããPRäœæåŸãPRã®URLãå ±åããŸãã
ã³ãŒã倿Žãé©åãªgitã³ãããæŠç¥ã§git commitããpushããŸããåºæ¬çã«ã¯æ¢åã®gitã³ããããžã®squashæŠç¥ãæ¡çšããå¿ èŠã«å¿ããŠãã©ã³ãå šäœã®gitã³ãããå±¥æŽãåæ§æããŸããå®è£ å®äºæããŠãŒã¶ãŒãgit commitãäŸé Œããæã«äœ¿çšããŸãã
Update an existing GitHub Issue's description based on the issue number. Reads all issue comments and reflects any items not yet captured in the description. After refreshing the description, reviews it for remaining ambiguities or unclear requirements and posts any open questions as a follow-up 確èªäºé comment.
| name | exec-issue |
| description | Execute tasks based on GitHub Issue content |
| argument-hint | [issue-number] |
| hooks | {"Stop":[{"matcher":"","hooks":[{"type":"command","command":"docker compose down --volumes --remove-orphans"}]}]} |
GitHub Issue $0 ã®å
容ãèªã¿åããå®è£
ããPRäœæãŸã§ãå®éããã¹ãã«ã§ãã
Instructionsã«åŸã£ãŠé ã«å®è¡ããåãã§ãŒãºã®ãå®äºæ¡ä»¶ããæºãããªããŸãŸæ¬¡ã®ãã§ãŒãºã«é²ãŸãªãããšã
èªåŸå®è¡åå: ãŠãŒã¶ãŒãžã®ç¢ºèªã¯è¡ããã倿ã¯ãã¹ãŠæ¬ã¹ãã«å ã®ã«ãŒã«ã«åŸã£ãŠèªåã§æ±ºå®ãããäžææ¡ä»¶ã«è©²åœããå Žåã®ã¿ãçç±ãåºåããŠçµäºããã
æ¬ã¹ãã«ã¯ claude-task-worker ã® cc-exec-issue ã©ãã«ãããªã¬ãŒã«èªåèµ·åãããæ³å®ã§ãã¯ãŒã«ãŒã¯ã¹ãã«ããã»ã¹ã®åæå®äºãæ ¹æ ã« cc-in-progress ã®é€å»ã cc-pr-created ä»äžãšãã£ãã©ãã«é·ç§»ãé²ããããã®ãããæ¬ã¹ãã«å
éšã§åŒã³åºã Agent / Skill / Bash ã絶察ã«ããã¯ã°ã©ãŠã³ãå®è¡ããªãããšïŒ
Agent ããŒã«ã¯æ¢å®ã run_in_background: trueïŒããã¯ã°ã©ãŠã³ãïŒããã®ããåŒã³åºãããšã« å¿
ã run_in_background: false ãæç€ºæå® ãããã©ã¢ã°ã©ãŠã³ãã§åæçã«çµæãåãåã£ãŠããæ¬¡ã®åŠçã«é²ããæå®ãçç¥ããå Žåã¯ããã¯ã°ã©ãŠã³ãã§èµ°ããæ¬ã¹ãã«ãæªå®ã®ãŸãŸçµäºããSkill ããŒã«åŒã³åºãã«ã run_in_background: true ãæå®ããªãïŒæ¢å®ã¯åæïŒãåæå®äºãåŸ
ã£ãŠããæ¬¡ãžé²ãBash ããŒã«ã«ã run_in_background: true ãæå®ããªããæ¢å®ã®åæå®è¡ã§çµæãåãåã£ãŠããæ¬¡ã®åŠçã«é²ãAgent / Skill ã䞊åã«æããã®ã¯ã䞊åå®è¡ãã§ãã£ãŠãããã¯ã°ã©ãŠã³ãå®è¡ãã§ã¯ãªããã蚱容ãããããã ã Agent ã¯åå¥ã« run_in_background: false ãæå® ãããã®å Žã§åæçã«å®äºãåŸ
ã€& ãä»ããããnohup / disown / setsid ãªã©ã§ããã»ã¹ããã¿ãããããããªãScheduleWakeup ãªã©ã§åŠçãåŸåãã«ããªãçç±: ããã¯ã°ã©ãŠã³ãåãããšåŠçå®äºåã«æ¬ã¹ãã«ãçµäºããã¯ãŒã«ãŒããæ£åžžå®äºããšèª€èªããŠã©ãã«é·ç§»ãåŸç¶ã¯ãŒã«ãŒèµ·åã«é²ããããå®è£
æªå®ã®ãŸãŸã¯ãŒã«ãŒãäºéèµ·åãããããã¹ãã»PRäœææªå®ã®ãŸãŸ cc-pr-created ãä»äžããããããŠãIssue/PRã®ç¶æ
ãå£ãããAgent ããŒã«ã®æ¢å®ã background ã§ããããšãèŠèœãšã㊠run_in_background ãçç¥ãããšããã®äºæ
ã確å®ã«èµ·ããã
é²æç®¡çãªã©ã§ TaskCreate ã䜿ãå Žåã以äžã®ã«ãŒã«ãå³å®ããããšãéåãããšããªããŒã·ã§ã³ãšã©ãŒïŒmissing subject/description ã unexpected parameter tasksïŒã§äžæãããã§ãŒãºãæªå®ã®ãŸãŸå€åŽã®ã¯ãŒã«ãŒããæ£åžžå®äºããšèª€èªããã
tasks / todos ãªã©ã®é
åãã©ã¡ãŒã¿ã¯ååšããªããè€æ°ã¿ã¹ã¯ãç»é²ãããå Žåã¯ãåäžã¡ãã»ãŒãžå
ã§ TaskCreate ãè€æ°åçºè¡ããïŒäžŠåå¯ïŒsubjectïŒçãã¿ã€ãã«ïŒãš descriptionïŒäœããããïŒã®2ã€ããããããããã¬ãã«æååãšããŠæž¡ãããã¹ããããªããžã§ã¯ãã®äžã«å
¥ããªãTaskCreate 㯠deferred tool ã®ãããã»ãã·ã§ã³éå§æç¹ã§ã¯ã¹ããŒããããã³ããã«å«ãŸããªãã䜿çšåã«å¿
ã ToolSearch(query: "select:TaskCreate") ã§1åã ãã¹ããŒããããŒããããããŒãããã«åŒã¶ãš typed parameters ãæåååãããŠã¯ã©ã€ã¢ã³ãåŽã§ã匟ããã䞊åã§ä»¥äžã確èªãã倿ã¯èªåã§è¡ãããŠãŒã¶ãŒã«è³ªåããªãããšã
pwd ã§ .claude/worktrees/ é
äžã«ããããšã確èªãããworktreeå€ãªã äžæ ããçç±ãåºåããŠçµäºããïŒããã©ã«ããã©ã³ãã§äœæ¥ããŠã¯ãªããªãïŒgh repo view --json defaultBranchRef -q .defaultBranchRef.name ã§ããã©ã«ããã©ã³ãåãååŸããgit rev-parse --abbrev-ref HEAD ã®çŸåšãã©ã³ããšæ¯èŒãããäžèŽããå Žåã¯ äžæãããã©ã«ããã©ã³ãåã®ååŸã«å€±æããå Žåã äžæ ããïŒfail-safeïŒgh issue view $0 --json number,title,state,labels ã§Issueãååšã OPEN ã§ããããšã確èªãããCLOSEDãªã äžægit status --short ã§æªã³ããã倿Žã確èªãããååšããå Žåã¯ãŠãŒã¶ãŒã«ç¢ºèªãã git stash push -u -m "exec-issue auto-stash $0" ã§èªåéé¿ãããã®æšãæçµå ±åã«æèšããå®äºæ¡ä»¶: worktreeå ãããã©ã«ããã©ã³ã以å€ã®ãã©ã³ããIssue OPENãäœæ¥ããªãŒãã¯ãªãŒã³ã§ããããšã
read-github-issue skill ã $0 ã§åŒã³åºãã以äžãååŸããïŒ
è¿åŽå 容ã¯åŸç¶ãã§ãŒãºã§åãµããšãŒãžã§ã³ãã«æž¡ããããå šæãä¿æããŠããããšã
è¿åŽã«ã¹ãã«å®è¡ã¹ãããã®æç€ºããŒãã³ã°ãããã°ãããå°éãããããŒãã³ã°ãæ¬ ããŠããã»äžå®å šãšå€æãããå Žåã¯ãå®è£ ãã©ã³åã¹ããããèµ°æ»ãã以äžã®å åãããã¹ãããã远å ã§ã¹ãã«å®è¡ã¹ããããšããŠæœåºããïŒ
ââã¹ãã«ãå®è¡ãããã/ââ ãåŒã¶ããbase-tools/skills/ââ/SKILL.md ãçºç«ãããçã®æç€ºçãªåŒã³åºãæç€ºãããbase-tools/skills/*/SKILL.mdïŒãšäžå¯Ÿäžã§å¯Ÿå¿ããæœåºããã¹ããã㯠{ã¹ãããå, åŒã³åºãã¹ãã¹ãã«å, åŒæ°, äŸåé¢ä¿} ã®æ§é ã§ä¿æããéåžžã¿ã¹ã¯ãšåããŠç®¡çãããå€å®ã埮åŠãªã¹ãããã¯ãã¹ãã«å®è¡ã¹ãããåè£ããšããŠå¥ã«åæãããã§ãŒãº2ã§æçµå€å®ããïŒæšæž¬ã§éåžžã¿ã¹ã¯ã«å¯ããªãïŒã
å®äºæ¡ä»¶: å®è£ ã¿ã¹ã¯ãã䞊åå®è¡å¯èœãªã°ã«ãŒããã鿬¡ã°ã«ãŒãããã¹ãã«å®è¡ã¹ããããã®3åé¡ã«æŽçã§ããŠããããšã
ãã§ãŒãº1ã§æœåºãããã¹ãã«å®è¡ã¹ããããã¯ãååãšã㊠ã¡ã€ã³ãšãŒãžã§ã³ããçŽæ¥ Skill ããŒã«ã§çºç«ããããµããšãŒãžã§ã³ãã«å§è²ãããšã¹ãã«åºæã®å¯äœçšïŒããã¯ã»ã¬ãŒãã¬ãŒã«ã»PRäœæã»ã©ãã«é·ç§»ã»ã¹ãããã·ã§ããåºåçïŒãä¿èšŒããããç¬èªå€æã§åçåŠçãæäœæ¥å®è£
ããããªã¹ã¯ãããããã
Skill ããŒã«ã§åŒã³åºãSkill tool call ãçºè¡ããŠäžŠåå®è¡ããŠããSkill ããŒã«ã§çºç«ãã代æ¿å®è£
ã¯çŠæ¢ãããæšãæèšããbase-tools/skills/ââ/SKILL.md ã®ååšïŒã確èªããå®åšããã°ã¹ãã«å®è¡ã¹ããããšããŠç¢ºå®ãå®åšããªããã°éåžžã¿ã¹ã¯ãžå·®ãæ»ãéåžžã¿ã¹ã¯ïŒã¹ãã«å®è¡ã¹ããã以å€ïŒã¯ã以äžã®å€æè»žã§ãµããšãŒãžã§ã³ããéžå®ããå®è¡ãå§ä»»ããïŒ
.pen ãåç
§å
ãšããŠUIã«å€æããïŒå Žåã¯å¿
ããã®ãšãŒãžã§ã³ãã䜿ãããš.penïŒèªäœã®ç·šéã»æŽæ°ïŒèŠçŽ è¿œå ãã¬ã€ã¢ãŠã倿Žãã¹ã¿ã€ã«ä¿®æ£ãããã¹ãå·®ãæ¿ããªã©ïŒã.pen ãžã®ç·šéã¿ã¹ã¯ã¯å¿
ããã®ãšãŒãžã§ã³ãã«ä»»ããããšä»¥äžã®ããããã«è©²åœããã¿ã¹ã¯åå£«ã¯ éæ¬¡ ã§å®è¡ããïŒ
ãã以å€ã¯ 䞊å ã§å®è¡ããã䞊åå®è¡ããå Žåã¯ã1ã¡ãã»ãŒãžå ã§è€æ°ã®Agent tool callãçºè¡ããããšïŒé 次åŒã³åºãã§ã¯äžŠåã«ãªããªãïŒã
ãµããšãŒãžã§ã³ãã¯çŸåšã®äŒè©±å±¥æŽãæããªããããèµ·åæã«ä»¥äžã ãã¹ãŠ ããã³ããã«å«ããããšïŒèªå·±å®çµããããªãŒãã£ã³ã°ãåè³ªãæ±ºããïŒã
ãèæ¯ãIssue #$0ã<title>ã: <èŠçŽ 1-2è¡>
ãããªããæ
åœããã¿ã¹ã¯ã
<ã¿ã¹ã¯åãšç®ç>
ã察象ç¯å²ïŒç·šéå¯ãã¡ã€ã«/ãã£ã¬ã¯ããªïŒã
<å
·äœãã¹ãåæãç¯å²å€ãè§Šããªãããš>
ãè§ŠããŠã¯ãããªããã¡ã€ã«ã
<䞊åå®è¡äžã®ä»ã¿ã¹ã¯ãè§Šãäºå®ã®ãã¡ã€ã«>
ãå®äºæ¡ä»¶ã
- <åãå
¥ãåºæº1>
- <åãå
¥ãåºæº2>
- 該åœç®æã®ãã¹ãã远å ã»æŽæ°ããããã¹ãŠpassããããš
- `npm run lint`ïŒãŸãã¯ãããžã§ã¯ãæå®ã®lintïŒã«è©²åœãã¡ã€ã«ã§ãšã©ãŒããªãããš
ãã¹ãã«å®è¡ã®æ±ãã
æ¬ã¿ã¹ã¯å
ã§ä»ã®ã¹ãã«ïŒ`base-tools/skills/ââ/SKILL.md` ã«å®çŸ©ããããã®ïŒãåŒã³åºãå¿
èŠãããå Žåã¯ã**å¿
ã `Skill` ããŒã«çµç±ã§å¯Ÿè±¡ã¹ãã«ãçºç«ããããš**ã代æ¿å®è£
ïŒã¹ãã«æé ãèªåã§åçŸãããªã©ïŒã¯çŠæ¢ãããã¹ãã«åºæã®ããã¯ã»ã¬ãŒãã¬ãŒã«ã»åŸåŠçã倱ãããæåŸ
ãããå¯äœçšãä¿èšŒãããªããªããããåŒã³åºãã¹ãã¹ãã«åãæ¬ããªãŒãã£ã³ã°å
ã«æç€ºãããŠããå Žåã¯ããã®ååã§ `Skill` ããŒã«ãåŒã³åºãã察象ã¹ãã«åãäžæã»ååšããªãå Žåã¯èªåå®è£
ã§ä»£æ¿ããããã®æšãå ±åããŠåŒã³åºãå
ã®å€æãä»°ãã
ãåèæ
å ±ã
- Issueã®ãªã³ã¯ã»é¢é£ç»åãã¹
- æ¢åã®é¡äŒŒå®è£
ã®åç
§å
ïŒããã°ïŒ
ãäœæ¥ãã£ã¬ã¯ããªã
<worktreeã®çµ¶å¯Ÿãã¹>ããã¹ãŠã®ã³ãã³ãã¯ãããåºæºã«å®è¡ããããšã
ãµããšãŒãžã§ã³ããå®äºå ±åãè¿ããããæ¬äœåŽã§ git diff --stat ãå®è¡ããŠå€æŽç¯å²ã宣èšéããæ€èšŒãããç¯å²å€ã®å€æŽãããã°ãåœè©²ãµããšãŒãžã§ã³ããåèµ·åããŠä¿®æ£ãããã
ãã§ãŒãº2ã§ç¢ºå®ãããã¹ãã«å®è¡ã¹ããããããäŸåé¢ä¿ã«æ²¿ã£ãŠå®è¡ããã
Skill tool call ãçºè¡ããŠäžŠåå®è¡ãããã¹ãŠã®å®è¡å®äºåŸããã§ãŒãº1ã§æœåºãããã¹ãã«å®è¡ã¹ããããäžèŠ§ïŒæåŸ
åŽïŒãšãå®è¡æžã¿ã¹ãã«äžèЧãïŒå®æž¬åŽãã¡ã€ã³ãšãŒãžã§ã³ãçŽæ¥çºç«å + ãã§ãŒãº3ã§ãµããšãŒãžã§ã³ãã«å§è²ããåïŒãçªãåããããæåŸ
åŽã«ãã£ãŠå®æž¬åŽã«ãªãã¹ãããããŸãã¯æåŸ
ããå¯äœçšïŒPRäœæã»ã©ãã«é·ç§»ã»ã¹ãããã·ã§ããçïŒãçºçããŠããªãã¹ããã㯠æªå®è¡ ãšå€å®ããäŸåé¢ä¿ãå確èªããããã§æ¬ãã§ãŒãºå
ã§ Skill ããŒã«ã«ããåçºç«ããïŒãµããšãŒãžã§ã³ãã«åå§è²ããªãïŒã
åçºç«ããŠãã¹ãã«ã倱æããå Žåã倱æãã°ã»å¯Ÿè±¡ã¹ãã«åã»äŸåé¢ä¿ãæçµå ±åã«å«ããäžã§æ¬¡ãã§ãŒãºãžé²ãïŒãŠãŒã¶ãŒã«å€æãä»°ããªãïŒã
ãã§ãŒãº1ã§æœåºãããªãã£ãå Žåãæ¬ãã§ãŒãºã¯äœãããã¹ãããããŠããïŒãã®æšãæçµå ±åã«äžè¡ã§æèšããïŒã
å®äºæ¡ä»¶: æœåºãããã¹ãŠã®ã¹ãã«å®è¡ã¹ãããã宿ž¬åŽã§ç¢ºèªã§ããŠãããããããã¯åçºç«å€±æãšããŠæçµå ±åã«èšé²ãããŠããããšã
ãã¹ãŠã®ãµããšãŒãžã§ã³ããšã¹ãã«å®è¡ã¹ããããå®äºããããæ¬äœã§ä»¥äžãé ã«å®è¡ïŒ
package.json ã® scripts.test ã確èªïŒscripts.lintïŒgeneral-purpose-assistant 㫠倱æãã°å
šæãšè©²åœãã¡ã€ã«ãã¹ ãæž¡ããŠä¿®æ£ããããã¹ã/Lintã³ãã³ãããããžã§ã¯ãã«ååšããªãå Žåã¯ã¹ãããããŠããïŒãã®æšãæçµå ±åã«å«ããããšïŒã
ä¿®æ£ã«ãŒãã¯æå€§3åãŸã§èªåã§ç¹°ãè¿ãã3å詊è¡ããŠãåæããªãå Žåã¯ã倱æãã°ã»æ®èª²é¡ã»æšå®åå ããŸãšããŠæçµå ±åã«å«ããäžã§ãã§ãŒãº6ãžé²ãïŒãŠãŒã¶ãŒã«å€æãä»°ããªãïŒã
ãŸãå·®åã®åºæºãã©ã³ãïŒBASE_BRANCHïŒã決å®ãããIssue $0 ã parentïŒEpic IssueïŒãæã€å Žåãworktree 㯠cc-epic-<parentçªå·> ãã©ã³ãããæŽŸçããŠãããããepic ãã©ã³ããåºæºã«ãããããã©ã«ããã©ã³ããåºæºã«ãããšãepic ãã©ã³ããžããŒãžæžã¿ã®ä»ãµãIssueã®å·®åãæ··ããããæ¬Issueã§ã®ã³ãŒã倿Žã®æç¡ãã誀å€å®ããïŒcreate-pr ã¹ãã«ã®ããŒã¹ãã©ã³ã決å®ãšåã確å®çå°åºãçšããïŒã
BASE_BRANCH=$(git symbolic-ref --short refs/remotes/origin/HEAD | sed 's@^origin/@@')
if ! PARENT=$(gh issue view "$0" --json parent --jq '.parent.number // empty'); then
echo "failed to resolve issue parent" >&2
exit 1
fi
if [ -n "${PARENT}" ] && git rev-parse --verify --quiet "refs/remotes/origin/cc-epic-${PARENT}" >/dev/null; then
BASE_BRANCH="cc-epic-${PARENT}"
fi
git status --short
git diff "origin/${BASE_BRANCH}..HEAD" --stat
gh issue comment $0 --body-file - ã«ãã¢ããã¥ã¡ã³ãã§æž¡ãïŒMarkdownã®äœè£ãä¿ã€ããïŒã
## 調æ»çµæãµããª
<IssueèŠä»¶ã«å¯ŸããŠäœã確èªããã 1-3è¡>
## ã³ãŒã倿ŽãäžèŠãšå€æããçç±
<æ ¹æ ãæ¢ã«å®è£
æžã¿ã»èŠä»¶ãåçŸããªãã»å¥Issueã§ã«ããŒæžã¿çãå
·äœçã«>
## 確èªãããã¡ã€ã« / åèæ
å ±
- <ãã¹ããªã³ã¯ãåæããªããã°ã該åœãªãã>
gh issue close $0 --reason "not planned" ãå®è¡ãããã³ã¡ã³ãã«å€±æããå Žåã¯ã¯ããŒãºããã倱æãã°ãæçµå ±åã«å«ããŠçµäºããïŒèª¬æãªãã§ã¯ããŒãºããªãïŒcommit-push skill ãåŒã³åºãã倿Žãã³ãããã»pushcreate-pr skill ã $0 ã§åŒã³åºããPRãäœæpwd ãå確èªããããšãæšå¥šgit diff ã§å®éã®å·®åãå¿
ãæ€èšŒããSkill ããŒã«ã§çŽæ¥åŒã³åºãããµããšãŒãžã§ã³ãã«å§è²ããå ŽåãããªãŒãã£ã³ã°ã§å¯Ÿè±¡ã¹ãã«åãš Skill ããŒã«çºç«ãå¿
é æç€ºãšãã代æ¿å®è£
ã§èª€éåããªãããã§ãŒãº4ã®åãããŒãæ€ç¥ã§æªå®è¡ã®ã¹ãããããªããå¿
ã確èªãã--no-verify ããã¹ãã®ã¹ãããã§èª€éåããªããåå ãç¹å®ããŠããä¿®æ£ãã