fix-review-point
Address unresolved review comments on specified PR
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
Address unresolved review comments on specified PR
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ã®å 容ãååŸãã䞊åå®è¡å¯èœãªåäœã«åè§£ããŸãã
Execute tasks based on GitHub Issue content
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ãäŸé Œããæã«äœ¿çšããŸãã
| name | fix-review-point |
| description | Address unresolved review comments on specified PR |
| argument-hint | [pr-number] |
| hooks | {"Stop":[{"matcher":"","hooks":[{"type":"command","command":"docker compose down --volumes --remove-orphans"}]}]} |
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 ããã¹ãã®ã¹ãããã§èª€éåãããåå ãç¹å®ããŠããä¿®æ£ãã