Address unresolved review comments on specified branch
GitHub PR $0 ã®æªè§£æ±ºã¬ãã¥ãŒã³ã¡ã³ãã«å¯Ÿå¿ããä¿®æ£ã®ã³ãããã»pushã»Resolveã»descriptionæŽæ°ãŸã§ãå®éããã¹ãã«ã§ããInstructionsã«åŸã£ãŠé ã«å®è¡ããåãã§ãŒãºã®ãå®äºæ¡ä»¶ããæºãããªããŸãŸæ¬¡ã®ãã§ãŒãºã«é²ãŸãªãããšã
èªåŸå®è¡ã¢ãŒã: ãŠãŒã¶ãŒãžã®ç¢ºèªãæ±ããã«æåŸãŸã§èªåŸçã«å®éããããšã倿ãå¿ èŠãªå Žé¢ã§ã¯æ¬ããã¥ã¡ã³ãã®æ¢å®æåã«åŸã£ãŠèªåçã«æææ±ºå®ããåŠçãç¶ç¶ããã確èªã®ããã«åæ¢ããããšã¯çŠæ¢ïŒãã§ãŒãº0ã®å®å šã¬ãŒãæ¡ä»¶ã«è©²åœããå Žåã®ã¿äžæå¯ïŒã
æ¬ã¹ãã«ã¯ claude-task-worker ã® cc-fix-onetime ã©ãã«ãããªã¬ãŒã«èªåèµ·åãããæ³å®ãã¯ãŒã«ãŒã¯ã¹ãã«ããã»ã¹ã®åæå®äºãæ ¹æ ã« cc-fix-onetime ã®é€å»ãã³ãŒã«ããã¯ã³ã¡ã³ãæçš¿ãé²ãããããããã¯ã°ã©ãŠã³ãåãããšä¿®æ£ã³ãããæª push ã®ãŸãŸ Resolve ã ãæžãŸãããããã¬ãã¥ãŒæªå¯Ÿå¿ã®ãŸãŸ fix ã©ãã«ãå€ããŠæŸçœ®ãããç¶æ
å£ããèµ·ãããå
éšåŠçã¯ãã¹ãŠåæå®è¡ã§å®çµãããããšã
Agent ããŒã«ã¯æ¢å®ã run_in_background: trueïŒããã¯ã°ã©ãŠã³ãïŒããã®ããåŒã³åºãããšã« å¿
ã run_in_background: false ãæç€ºæå® ãããã©ã¢ã°ã©ãŠã³ãã§åæçã«çµæãåãåã£ãŠããæ¬¡ã®åŠçã«é²ããæå®ãçç¥ããå Žåã¯ããã¯ã°ã©ãŠã³ãã§èµ°ããæ¬ã¹ãã«ãæªå®ã®ãŸãŸçµäºããSkill ããŒã«åŒã³åºãã«ã¯ run_in_background: true ãæå®ããªãïŒæ¢å®ã¯åæïŒãç¹ã« create-review-fix-plan / commit-push / resolve-pr-comments ã¯ãè¿åŽãããä¿®æ£ãã©ã³ã»pushå®äºã»resolveå®äºãåãåã£ãŠããæ¬¡ã®ãã§ãŒãºã«é²ãBash ããŒã«ã«ã run_in_background: true ãæå®ããªããæ¢å®ã®åæå®è¡ã§çµæãåãåã£ãŠããæ¬¡ã®åŠçã«é²ã& ãä»ããªããnohup / disown / setsid ã§ã®ãã¿ãããScheduleWakeup çã§ã®åŸåããçŠæ¢Agent / Skill ã䞊åã«æããã®ã¯ã䞊åå®è¡ãã§ãã£ãŠãããã¯ã°ã©ãŠã³ãå®è¡ãã§ã¯ãªããã蚱容ãããããã ã Agent ã¯åå¥ã« run_in_background: false ãæå® ãããã®å Žã§åæçã«å®äºãåŸ
ã€çç±: Agent ããŒã«ã®æ¢å®ã background ã§ããããšãèŠèœãšã㊠run_in_background ãçç¥ãããšãä¿®æ£ã³ãããæª push ã®ãŸãŸã¹ãã«ããã»ã¹ãçµäºããã¯ãŒã«ãŒããæ£åžžå®äºããšèª€èªã㊠cc-fix-onetime ãå€ããäºæ
ã確å®ã«èµ·ããã
é²æç®¡çãªã©ã§ TaskCreate ã䜿ãå Žåã以äžã®ã«ãŒã«ãå³å®ããããšãéåãããšããªããŒã·ã§ã³ãšã©ãŒïŒmissing subject/description ã unexpected parameter tasksïŒã§äžæãããã§ãŒãºãæªå®ã®ãŸãŸå€åŽã®ã¯ãŒã«ãŒããæ£åžžå®äºããšèª€èªã㊠cc-fix-onetime ãå€ããŠããŸãã
tasks / todos ãªã©ã®é
åãã©ã¡ãŒã¿ã¯ååšããªããè€æ°ã¿ã¹ã¯ãç»é²ãããå Žåã¯ãåäžã¡ãã»ãŒãžå
ã§ TaskCreate ãè€æ°åçºè¡ããïŒäžŠåå¯ïŒsubjectïŒçãã¿ã€ãã«ïŒãš descriptionïŒäœããããïŒã®2ã€ããããããããã¬ãã«æååãšããŠæž¡ãããã¹ããããªããžã§ã¯ãã®äžã«å
¥ããªãTaskCreate 㯠deferred tool ã®ãããã»ãã·ã§ã³éå§æç¹ã§ã¯ã¹ããŒããããã³ããã«å«ãŸããªãã䜿çšåã«å¿
ã ToolSearch(query: "select:TaskCreate") ã§1åã ãã¹ããŒããããŒããããããŒãããã«åŒã¶ãš typed parameters ãæåååãããŠã¯ã©ã€ã¢ã³ãåŽã§ã匟ããã䞊åã§ä»¥äžã確èªããã1ã€ã§ã倱æãããããã®å Žã§åå ãè§£æ¶ããŠããå ã«é²ãããšã
gh pr view $0 --json number,state,headRefName,isDraft ã§PRãååšã OPEN ã§ããããšã確èªãããCLOSED/MERGEDãªãåŠçãäžægh pr checkout $0 >/dev/null 2>&1 ã§PRãã©ã³ãããã§ãã¯ã¢ãŠãpwd ã§ .claude/worktrees/ é
äžã«ããããšã確èªãããworktreeå€ãªãå®å
šã®ããåŠçãäžæããïŒããã©ã«ããã©ã³ãã§äœæ¥ããŠã¯ãªããªãïŒgh repo view --json defaultBranchRef -q .defaultBranchRef.name ã§ããã©ã«ããã©ã³ãåãååŸããgit rev-parse --abbrev-ref HEAD ã®çŸåšãã©ã³ããšäžèŽããå Žåã¯å®å
šã®ããäžæãããããã©ã«ããã©ã³ãåã®ååŸå€±æãäžæããïŒfail-safeïŒgit status --short ã§æªã³ããã倿Žãããã° git stash push -u -m "fix-review-point auto-stash $0" ã§èªåéé¿ããŠããå
ã«é²ãïŒãŠãŒã¶ãŒãžã®ç¢ºèªã¯è¡ããªãïŒå®äºæ¡ä»¶: worktreeå ãPRãã©ã³ãïŒããã©ã«ããã©ã³ã以å€ïŒã«ãã§ãã¯ã¢ãŠãæžã¿ãPR OPEN ã確èªã§ããŠããããšã
create-review-fix-plan skill ã $0 ã§åŒã³åºãã以äžãååŸããïŒ
ä¿®æ£ç¹ããªãå Žå: gh pr merge $0 --merge --delete-branch ã§PRãããŒãžãããã®ã¹ãã«ã®åŠçãçµäºããã
è¿åŽå 容ã¯åŸç¶ãã§ãŒãºã§åãµããšãŒãžã§ã³ãã«æž¡ããããå šæãä¿æããŠããããšã
å®äºæ¡ä»¶: ä¿®æ£ã¿ã¹ã¯ãã䞊åå®è¡å¯èœãªã°ã«ãŒãããšã鿬¡ã°ã«ãŒããã«åé¡ã§ããŠããããšã
ã¿ã¹ã¯æ¯ã«ä»¥äžã®å€æè»žã§ãµããšãŒãžã§ã³ããéžå®ããã¿ã¹ã¯ã®å®è¡ã¯ãã®ãµããšãŒãžã§ã³ãã«å§ä»»ããããš
.pen ãåç
§å
ãšããŠUIã«å€æããïŒå Žåã¯å¿
ããã®ãšãŒãžã§ã³ãã䜿ãããš.penïŒèªäœã®ç·šéã»æŽæ°ïŒèŠçŽ è¿œå ãã¬ã€ã¢ãŠã倿Žãã¹ã¿ã€ã«ä¿®æ£ãããã¹ãå·®ãæ¿ããªã©ïŒã.pen ãžã®ç·šéã¿ã¹ã¯ã¯å¿
ããã®ãšãŒãžã§ã³ãã«ä»»ããããšä»¥äžã®ããããã«è©²åœããã¿ã¹ã¯åå£«ã¯ éæ¬¡ ã§å®è¡ããïŒ
ãã以å€ã¯ 䞊å ã§å®è¡ããã䞊åå®è¡ããå Žåã¯ã1ã¡ãã»ãŒãžå ã§è€æ°ã®Agent tool callãçºè¡ããããšïŒé 次åŒã³åºãã§ã¯äžŠåã«ãªããªãïŒã
ãµããšãŒãžã§ã³ãã¯çŸåšã®äŒè©±å±¥æŽãæããªããããèµ·åæã¯ä»¥äžã ãã¹ãŠ ããã³ããã«å«ããããšãèªå·±å®çµããããªãŒãã£ã³ã°ãåè³ªãæ±ºããã
ãèæ¯ãPR #$0 ã®ã¬ãã¥ãŒææå¯Ÿå¿: <PRã¿ã€ãã«èŠçŽ>
ãããªããæ
åœããææã
<ã¬ãã¥ãŒã³ã¡ã³ãæ¬æãåŒçš>
- 察象ãã¡ã€ã«: <path:line>
- ææè
ã®æå³: <create-review-fix-plan ãæœåºããèŠçŽ>
ã察象ç¯å²ïŒç·šéå¯ãã¡ã€ã«/ãã£ã¬ã¯ããªïŒã
<å
·äœãã¹ãåæãç¯å²å€ãè§Šããªãããš>
ãè§ŠããŠã¯ãããªããã¡ã€ã«ã
<䞊åå®è¡äžã®ä»ã¿ã¹ã¯ãè§Šãäºå®ã®ãã¡ã€ã«>
ãå®äºæ¡ä»¶ã
- ã¬ãã¥ã¢ãŒã®ææå
容ãè§£æ¶ãããŠããããš
- 該åœç®æã®ãã¹ãã远å ã»æŽæ°ããããã¹ãŠpassããããš
- `npm run lint`ïŒãŸãã¯ãããžã§ã¯ãæå®ã®lintïŒã«è©²åœãã¡ã€ã«ã§ãšã©ãŒããªãããš
- æ¢åã®æåãæå³ãã倿ŽããŠããªãããš
ãåèæ
å ±ã
- ã¬ãã¥ãŒã³ã¡ã³ããžã®çŽãªã³ã¯
- æ¢åã®é¡äŒŒå®è£
ã®åç
§å
ïŒããã°ïŒ
ãäœæ¥ãã£ã¬ã¯ããªã
<worktreeã®çµ¶å¯Ÿãã¹>ããã¹ãŠã®ã³ãã³ãã¯ãããåºæºã«å®è¡ããããšã
ãµããšãŒãžã§ã³ããå®äºå ±åãè¿ããããæ¬äœåŽã§ git diff --stat ãå®è¡ããŠå€æŽç¯å²ã宣èšéããæ€èšŒãããç¯å²å€ã®å€æŽãææãšç¡é¢ä¿ãªå€æŽãããã°ãåœè©²ãµããšãŒãžã§ã³ããåèµ·åããŠä¿®æ£ãããã
ãã¹ãŠã®ãµããšãŒãžã§ã³ããå®äºããããæ¬äœã§ä»¥äžãé ã«å®è¡ïŒ
package.json ã® scripts.test ã確èªïŒscripts.lintïŒgeneral-purpose-assistant 㫠倱æãã°å
šæãšè©²åœãã¡ã€ã«ãã¹ ãæž¡ããŠä¿®æ£ããããã¹ã/Lintã³ãã³ãããããžã§ã¯ãã«ååšããªãå Žåã¯ã¹ãããããŠããïŒãã®æšãæçµå ±åã«å«ããããšïŒã
commit-push skill ãåŒã³åºãã倿Žãã³ãããã»pushresolve-pr-comments skill ãåŒã³åºããå¯Ÿå¿æžã¿ã®ã¬ãã¥ãŒã³ã¡ã³ãããã¹ãŠResolveããgh pr edit $0 --body "<æŽæ°åŸã®æ¬æ>" ã䜿çš## ä¿®æ£å±¥æŽ ã»ã¯ã·ã§ã³ãå¿
ãèšãããæ¢åã®descriptionã«ç¡ããã°æ«å°Ÿã«æ°èŠè¿œå ããæ¢ã«ããã°è¿œèšããåœ¢ã§æ®ããåãšã³ããªã¯ä»¥äžã®ãã©ãŒãããã«åŸã:## ä¿®æ£å±¥æŽ
### YYYY-MM-DD: ã¬ãã¥ãŒææå¯Ÿå¿ïŒ<ä»¶æ°>ä»¶ïŒ
- <察å¿ããææã®èŠçŽ1>ïŒå¯Ÿå¿ã³ããã: <commit hash ççž®>ïŒ
- <察å¿ããææã®èŠçŽ2>ïŒå¯Ÿå¿ã³ããã: <commit hash ççž®>ïŒ
date +%Y-%m-%d ã§ååŸããå®è¡æ¥ã䜿çšããå®è¡äžã«äœããã®çç±ã§PRãã¯ããŒãºãã倿ã«è³ã£ãå ŽåïŒäŸ: ææãå¥ã¢ãããŒãã§ã®åå®è£ ãæ±ããŠãããèŠä»¶ã®é³è åãå¥PRã§å¯Ÿå¿æžã¿ãã³ã³ããªã¯ãè§£æ¶äžèœãªã©ïŒã¯ãPRãš é¢é£Issueãå¿ ãé£åããŠã¯ããŒãºãããPRã ãéããŠIssueãOPENã®ãŸãŸæ®ããšä»ã®äœæ¥è ãåãã¹ã³ãŒãã«éè€çæãããããçåŽã ãã®ã¯ããŒãºã¯çŠæ¢ãããã¯ããŒãºå€æã¯ãã§ãŒãº0ã®å®å šã¬ãŒããšã¯ç¬ç«ã«çºçãåŸãããã倿æç¹ã§ãã®ã«ãŒã«ãé©çšããããšã
æé :
gh pr close $0 --comment "<ã¯ããŒãºçç±ã代æ¿PR/Issueãããã°ãã®ãªã³ã¯ãå«ãã>"
gh pr view $0 --json closingIssuesReferences -q '.closingIssuesReferences[].number'ïŒGitHubãèªåèªèãããªã³ã¯ïŒgh pr view $0 --json body -q '.body' ã®æ¬æãã Closes #<n> / Fixes #<n> / Resolves #<n> ãæ£èŠè¡šçŸã§æœåºããgh issue view <n> --json state -q '.state' ã§ç¶æ
ã確èªããOPEN ã®å Žåã®ã¿ä»¥äžãå®è¡ãããgh issue comment <n> --body-file - <<EOF
## é¢é£PRã¯ããŒãºã«äŒŽãã¯ããŒãº
PR #$0 ã以äžã®çç±ã§ã¯ããŒãºããŸãããæ¬Issueã®äœæ¥ã¯ãã®PRå
ã§ã¯è¡ããŸããã
### ã¯ããŒãºçç±
<çç±>
### ä»åŸã®æ±ã
<代æ¿PR/Issueãããã°ãªã³ã¯ãåçæãå¿
èŠãªå Žåã¯ãã®æšãšæ°èŠIssueçªå·>
EOF
gh issue close <n> --reason "not planned"
pwd å確èªãæšå¥šgit diff ã§å®éã®å·®åãå¿
ãæ€èšŒãã--no-verify ããã¹ãã®ã¹ãããã§èª€éåãããåå ãç¹å®ããŠããä¿®æ£ãã