| name | pr |
| description | Generate a GitHub pull request title and body from the current branch and let the user review before creation. Use when the user wants to create a pull request. |
| allowed-tools | AskUserQuestion, Bash(git status:*), Bash(konoka-pr-editor:*), Bash(prepare-editmsg:*), Bash(sync-and-push:*), Edit, Read, Skill(pr-style), Write, mcp__github__create_pull_request, mcp__github__issue_write |
| model | opus |
| effort | medium |
GitHubã®pull requestãäœæããŸãã
AIãã¿ã€ãã«ã𿬿ãçæãã
ãŠãŒã¶ã確èªããŠããäœæããŸãã
ãã®ã¹ãã«ã¯æ°èŠäœæã®ã¿ãæ±ããŸãã
æ¢åPRã®æŽæ°ã¯å¯Ÿè±¡å€ã§ãã
ã¹ã¿ã€ã«ã¬ã€ãã©ã€ã³ã®é©çš
Skill(pr-style)ãåŒã³åºãã
ã¹ã¿ã€ã«ã¬ã€ãã©ã€ã³ã«åŸã£ãŠãã ããã
ãã®ã¹ãã«ããªããžããªåºæã®CONTRIBUTINGãšpull requestãã³ãã¬ãŒããæ¢çŽ¢ããŠèªã¿èŸŒãããã
ãã®ã¹ãã«å
ã§æ¹ããŠèªã¿èŸŒãå¿
èŠã¯ãããŸããã
baseãšã®åæãšremoteãžã®push
!sync-and-push
äžèšã®åã蟌ã¿ã³ãã³ãã¯ã
baseãã©ã³ããšã®åæ(å¿
èŠãªãrebase)ã«ç¶ããŠã
headãã©ã³ããremoteãžåæããŸãã
ãã®ã¹ã¯ãªããã¯ä»¥äžãè¡ããŸãã
- çŸåšã®ãã©ã³ããbaseãã©ã³ãã§ãªãããšã確èªããŸãã
- baseãã©ã³ãã«åãæ¿ããŠpullããå
ã®ãã©ã³ãã«æ»ããŸãã
- baseãã©ã³ããé²è¡ããŠããå Žåã¯å
ã®ãã©ã³ããbaseã®äžã«rebaseããŸãã
PRäœæåŸã«baseãé²è¡ãããšGitHubäžã§update baseã®äœæ¥ãå¿
èŠã«ãªããŸããã
äœæåã«rebaseããŠããããšã§ãããåé¿ããŸãã
PRäœæåãªã®ã§rebaseã§å±¥æŽãæžãæãã£ãŠãä»è
ã«åœ±é¿ããŸããã
- upstreamæªèšå®ãªã
git push -u origin <current>ã§ååpushããŸãã
- upstreamãšå®å
šäžèŽãªãäœãããŸããã
- ããŒã«ã«ãå
è¡(fast-forwardå¯èœ)ãªã
git push origin <current>ã§éåžžpushããŸãã
- å±¥æŽãåå²(force pushãå¿
èŠ)ãªã±ãŒã¹ã§ã¯ã
ãŸãååãã©ã³ããheadãšããopen PRãååšããªãããšã
gh pr listã§ç¢ºèªãã
ååšããªãå Žåã®ã¿git push --force-with-lease origin <current>ã§äžæžãããŸãã
ã¹ã¯ãªããã®åºåã¯key=value圢åŒã§ã
current
base
owner
repo
rebased
action
ã1ãããã¯ã«ãŸãšãŸã£ãŠå«ãŸããŸãã
actionã¯ã
none
initial
normal
force
ã®ããããã§ãã
ãããã®å€ã以éã®ã¹ãããã§äœ¿çšããŠãã ããã
ã¹ã¯ãªããã®å®è¡ã倱æããŠããå Žåã¯ãšã©ãŒã¡ãã»ãŒãžããã®ãŸãŸãŠãŒã¶ã«å ±åãã
PRã®äœæã¯äžæ¢ããŠã¹ãã«ãçµäºããŠãã ããã
rebaseãã³ã³ããªã¯ãçã§å€±æããå Žåã¯ã
ã¹ã¯ãªããå
ã§git rebase --abortãåŒã°ããŠrebaseç¶æ
ã¯å·»ãæ»ãããŠããŸãã
ç¹ã«force pushãå¿
èŠã ã察象ãã©ã³ãã«å¯ŸããŠopen PRãæ¢ã«ååšããã±ãŒã¹ã§ã¯ã
ã¹ã¯ãªããã¯force pushãè¡ããã«ãšã©ãŒçµäºããŸãã
ãã®ã¹ãã«ã¯æ°èŠPRäœæã®ã¿ãæ±ãããã
æ¢åPRãããå Žåã¯ã¹ãã«ã®å®è¡ããã£ã³ã»ã«ãã
ãŠãŒã¶ã«æ¢åPRã®æŽæ°ãä¿ããŠãã ããã
PRå
å®¹ã®æºå
pr-styleã¹ãã«ã®ã¬ã€ãã©ã€ã³ã«åŸãã
ã³ãããå±¥æŽãšdiffã®ææ¡ã
ã¿ã€ãã«ã𿬿ã®çæã
ã¢ãµã€ã³ãšã©ãã«ã®æ±ºå®ãæžãŸããŠãã ããã
PRã«å«ãŸããã³ãããã1ã€ã ãã®å Žåã¯ã
ãã®ã³ãããã¡ãã»ãŒãžã®ã¿ã€ãã«ã𿬿ããã®ãŸãŸæµçšããŠãã ããã
è€æ°ã³ããããããå Žåã¯ã
PRå
šäœã®å€æŽãèŠçŽããã¿ã€ãã«ãšæ¬æãæ°ãã«æžããŠãã ããã
äžæãã¡ã€ã«ãžã®æžãåºã
以äžã®ã¹ã¯ãªããã§ã»ãã·ã§ã³åºæã®äžæãã£ã¬ã¯ããªãäœæãã
PULLREQ_EDITMSGãã¡ã€ã«ã®ãã«ãã¹ãååŸãããŸãã
!prepare-editmsg
ã¹ã¯ãªããã¯$XDG_RUNTIME_DIR/coding-agent-work/pr/é
äžã«ãã£ã¬ã¯ããªãäœãã
ååšããªãå Žåã¯ååž°çã«äœæããŸãã
æªèšå®ç°å¢ã§ã¯os.tmpdir()ã«ãã©ãŒã«ããã¯ããŸãã
åŸããã¹ã«WriteããŒã«ã§å
å®¹ãæžãåºããŠãã ããã
ãã¡ã€ã«ã¯1è¡ç®ãã¿ã€ãã«ã
空è¡ãæãã§æ¬æãšããæ§é ã«ããŸãã
ãŠãŒã¶ã«ãã確èª
AskUserQuestionããŒã«ã䜿ã£ãŠã
çæããã¿ã€ãã«ãæ¬æãã¢ãµã€ã³ãã©ãã«ã®æ±ãããŠãŒã¶ã«ç¢ºèªããŠãã ããã
質åæã«ã¯ã¿ã€ãã«ã𿬿ã®å
šæã«å ããŠã
ã¢ãµã€ã³ãããŠãŒã¶ãšä»äžããã©ãã«ãå«ããŠãã ããã
æ¬æãé·ãå Žåã§ãçç¥ããå
šæãæç€ºããŠãã ããã
ãŠãŒã¶ãå
容ãèŠãŠå€æã§ããããã«ããããã§ãã
éžæè¢ã¯ä»¥äžãèšå®ããŠãã ããã
- ãã®ãŸãŸäœæãã(Recommended): çæãããå
容ã§äœæããã
- ããã¹ããšãã£ã¿ã§ç·šéãã: ãšãã£ã¿ã§ç·šéããŠããäœæããã
AskUserQuestionããŒã«ã¯ãããã«å ããŠOther(èªç±ããã¹ãå
¥å)ã®éžæè¢ãèªåçã«è¿œå ããŸãã
Otherãéžã°ããå Žåã¯ãŠãŒã¶ã®ä¿®æ£æç€ºã«åŸã£ãŠå
容ãä¿®æ£ãã
確èªã¹ãããã«æ»ã£ãŠãã ããã
ãã®ãŸãŸäœæããå Žå
äžæãã¡ã€ã«ã®å
容ããã®ãŸãŸäœ¿çšããŠã
PRäœæã«é²ãã§ãã ããã
ããã¹ããšãã£ã¿ã§ç·šéããå Žå
以äžã®ã³ãã³ãã§ãŠãŒã¶ã«ç·šéããŠããããŸãã
ã¿ã€ã ã¢ãŠãã¯æå€§ã®600ç§ã«èšå®ããŠãã ããã
konoka-pr-editor <PULLREQ_EDITMSGã®ãã¹>
ãšãã£ã¿ãæ£åžžçµäºãããã
ReadããŒã«ã§ãã¡ã€ã«ãèªã¿çŽããŠå
容ãååŸãã
PRäœæã«é²ãã§ãã ããã
ãšãã£ã¿ãç°åžžçµäºããå Žåã
ãŠãŒã¶ãPRäœæããã£ã³ã»ã«ããããšããææè¡šç€ºã§ãããšè§£éããŠã
äœæ¥ããã£ã³ã»ã«ããŠãã ããã
éžæããã£ã³ã»ã«ãããå Žå
ãŠãŒã¶ãPRäœæããã£ã³ã»ã«ããããšããææè¡šç€ºã§ãããšè§£éããŠã
äœæ¥ããã£ã³ã»ã«ããŠãã ããã
PRã®äœæ
mcp__github__create_pull_requestã䜿ã£ãŠPRãäœæããŠãã ããã
åŒæ°ã¯ä»¥äžã®éãã§ãã
owner: sync-and-pushã®åºåã®owner
repo: sync-and-pushã®åºåã®repo
head: sync-and-pushã®åºåã®current
base: sync-and-pushã®åºåã®base
title: çæããã¿ã€ãã«
body: çæããæ¬æ
draft: ãŠãŒã¶ãæç€ºçã«æç€ºããå Žåã®ã¿trueããã以å€ã¯çç¥
GitHubã®PRäœæAPIã¯assigneesãšlabelsã®åæèšå®ã«å¯Ÿå¿ããŠããªãããã
ãããã¯äœæåŸã«å¥ã¹ãããã§èšå®ããŸãã
äœæã«æåãããšPRçªå·ãšURLãè¿ããŸãã
ããããæ¬¡ã®ã¹ãããã§äœ¿çšããŠãã ããã
ã¢ãµã€ã³ãšã©ãã«ã®äžæ¬èšå®
PRäœæããã¢ãµã€ã³/ã©ãã«èšå®ãŸã§ã®ã¿ã€ã ã©ã°ãæå°åããããã
ãã®ã¹ããããšPRã®äœæã®éã«ä»ã®åŠçãæãŸãªãã§ãã ããã
ã¢ãµã€ã³ãšã©ãã«ã®éžå®ã¯äºåã«æžãŸããŠããåæã§ãã
mcp__github__issue_writeãupdateã¡ãœããã§åŒã³åºãã
äœæããPRã®çªå·ãissue_numberã«æž¡ãã
assigneesãšlabelsã1åã§èšå®ããŠãã ããã
method: "update"
owner: sync-and-pushã®åºåã®owner
repo: sync-and-pushã®åºåã®repo
issue_number: äœæããPRã®çªå·
assignees: pr-styleã¹ãã«ã§æ±ºå®ããloginã®é
å
labels: éžå®ããã©ãã«(該åœãªãã®å Žåã¯çç¥å¯)
æš©éäžè¶³ã®å Žå
ä»äººã®ãªããžããªã«PRãäœæããããšããŠããå Žåãªã©ã
æš©éäžè¶³ã§ã¢ãµã€ã³èšå®ãã©ãã«ã®èšå®ãåºæ¥ãªãå ŽåããããŸãã
ãã®å Žåã¯ãšã©ãŒãæ€ç¥ããŠã
PRèªäœã¯äœæãããããšãå ±åããŠãã ããã
å®äºå ±å
PRã®URLãã¢ãµã€ã³ãããŠãŒã¶ãä»äžããã©ãã«ãå«ããŠå®äºå ±åããŠãã ããã