| name | km:github-workflow |
| description | Reference and orchestrate the GitHub PR delivery workflow. Consult for branch, commit, PR, issue linkage, follow-up issue, and completion-report rules; use directly when the user clearly wants to finish with a PR. |
| argument-hint | [issue-number] |
GitHub Workflow
GitHub 管çãªããžããªã§ãPlan / Develop / Record / Review / Report ã®é ã«é²ããããã®éçšã«ãŒã«ãå®çŸ©ãããCLAUDE.md / AGENTS.md ã«ã¯ workflow ã®æŠèŠã ãã眮ãã詳现ãªå®è¡å€æã¯æ¬ã¹ãã«ãåç
§ããã
å®è£
èšç»ã issue æ¬æãšããŠç®¡çãã責å㯠km:planãæªã³ããã倿Žã®ã¬ãã¥ãŒè²¬å㯠km:reviewãæ¬ã¹ãã«ã¯ããããéè€å®è£
ãããGitHub delivery ã®å®è¡é åºãæ¹åç¹ã®èšé²ãå¿
èŠæã® follow-up issueãPR å ±åãæ±ãã
Context
- Branch: !
git branch --show-current
- Status: !
git status --short
- Upstream: !
git rev-parse --abbrev-ref @{u} 2>/dev/null || echo "(none)"
- Unpushed: !
git log --oneline @{u}..HEAD 2>/dev/null
- Remote: !
git remote -v 2>/dev/null | head -1
Success Criteria
- GitHub 管çãªããžããªã§ããããšã確èªããŠããé²ãã
- issue èŠæ±ãããå Žåã ã issue 飿ºãæ±ã
- issue 飿ºãããå Žåã ã PR æ¬æã«
Closes #<num> ãŸã㯠Refs #<num> ãå
¥ãã
- èšç»ã issue æ¬æãšããŠç®¡çããäœæ¥ã¯
km:plan ã«å§ãããæ¬ã¹ãã«ã§ã¯ plan æ¬æãæžããªãã»æŽæ°ããªã
- ã¬ãã¥ãŒã¯
km:review ã«å§ãããæ¬ã¹ãã«ã§ã¬ãã¥ãŒèгç¹ãææå€å®ãçŽæ¥è¡ããªã
- PR äœæåŸã¯ PR ãå®è£
ææç©ã®æ£ãšããissue ã®è©³çްåæãç¶ããªã
- çŸ PR ã¹ã³ãŒãå€ã®æ¹åç¹ãèŠã€ããããçŸäœæ¥ã«æ··ããèšé²ããå®äºå ±åã§å
±æããããŠãŒã¶ãŒæç€ºãããå Žåã ã follow-up issue åãŸãã¯æ¢å issue åç
§ãè¡ã
- äœæ¥æ¹æ³ã®æ¹åç¹ãèŠã€ããã
.plan/ é
äžã®äœæ¥ã¡ã¢ãžè¿œèšããå®äºå ±åã§å
±æããããŠãŒã¶ãŒæç€ºãããã° follow-up issue åãã
- PR URLã倿ŽèŠçŽãæ€èšŒçµæãèŠãŠã»ããè«ç¹ãèšé²ããæ¹åç¹ãå
±æãã
Reference Timing
GitHub 管çãªããžããªã§äœæ¥ããæçµçã« branch / commit / PR / issue 飿º / å®äºå ±åãžé²ãå Žåã¯åç
§ãããçŽæ¥å®è¡ããã®ã¯ãPR / delivery ã®å®äºèŠæ±ãæç¢ºãªãšãã«éãã
- çŽæ¥å®è¡ããäŸ:
PRã«ã㊠/ æåŸã¯PRã«ãã / /km:github-workflow 123 / ãã®ãã°ã® issue ãèµ·ãã㊠PR ãŸã§
- åç
§ããäŸ: éåžžå®è£
åŸã« branch / commit / PR / follow-up issue / å®äºå ±åã®ã«ãŒã«ã確èªãã
- çŽæ¥æ±ããªãäŸ: åç¬ã®
issue ã«ã㊠/ èšç»ã issue ã«ã㊠/ Issueã§èšç»ã㊠㯠km:plan ã«å§ãã
- èšç» + PR delivery ãåæã«äŸé Œãããå Žåã¯ããŸã
km:plan ã§ issue çªå·ã確å®ããããã® issue çªå·ã䜿ã£ãŠæ¬ã¹ãã«ãåç
§ãã
- åç¬ã®ãã¬ãã¥ãŒããŠãã¯
km:review ã«å§ãã
Entry Point
gh auth status ã§èªèšŒã確èªããã倱æãããèªèšŒãšã©ãŒãšããŠåæ¢ãã
gh repo view --json nameWithOwner,defaultBranchRef ã§ GitHub 管ç repo ã確èªããã倱æããã non-GitHub repoãæš©éäžè¶³ãnetwork 倱æãåºå¥ããŠåæ¢ãã
$ARGUMENTS ã« issue çªå·ãããã° existing-issue mode ãšãã
- ãŠãŒã¶ãŒèŠæ±ã PR delivery ãšäžäœã® ad-hoc issue äœæãªã
issue-first mode ãšãã
- issue 飿ºãªãã§ PR / delivery ã·ã°ãã«ãæç¢ºãªã
standard-pr mode ãšãã
- åç¬ã® issue äœæã»èšç» issue åã»ã¬ãã¥ãŒäŸé Œã¯æ¬ã¹ãã«ã§çŽæ¥æ±ãããè©²åœ skill ãæ¡å
ããŠåæ¢ãã
çŸåšç¶æ
ããéå§äœçœ®ã決ãã:
| ç¶æ
| éå§äœçœ® |
|---|
| æ¢å® base branch äž | Phase 1 |
| äœæ¥ãã©ã³ã + æªã³ããã倿Žãã | Phase 3 |
| äœæ¥ãã©ã³ã + æª push ã³ããããã | Phase 4 |
| push æžã¿ã§ PR æªäœæ | Phase 4 |
| push æžã¿ã§æ¢å PR ãã | Phase 4 |
ç¡é¢ä¿ãªæªã³ããã倿Žãå¥ä»¶ãã©ã³ãã®çããããã°ãå
ã«ãŠãŒã¶ãŒãžç¢ºèªãããpush æžã¿ã§æ¢å PR ãããå Žåããã¬ãã¥ãŒæžã¿ã»æ€èšŒæžã¿ã確èªã§ããå Žåã ã Phase 5 ããåéããã
Phase 1: Plan
äœæ¥åã«ãç®çãèŠæ±ãå®äºæ¡ä»¶ãæ€èšŒæ¹æ³ãissue 飿ºã®æç¡ãåºãããå
¥å¿µãªèšç»ãå¿
èŠãªå Žå㯠km:plan ã«å§ãã軜埮ãªãã®ã¯ issue åããç®çã»æ¹éã»å®äºæ¡ä»¶ã»æ€èšŒæ¹æ³ã ãåºã㊠Develop ãžé²ãã
- ãŠãŒã¶ãŒèŠæ±ããç®çãå®äºæ¡ä»¶ãå¶çŽãæ€èšŒæ¹æ³ãçãæŽçãã
- èšç» issue åã
.plan/ ãžã® materialize ãå¿
èŠãªã km:plan ãå
ã«å®è¡ããissue çªå·ã確å®ããŠããæ¬ã¹ãã«ã«æ»ã
- PR delivery ãšäžäœã® ad-hoc issue äœæãªã
issue-first mode ãšãã
- æ¢å issue çªå·ãããå Žåã¯
existing-issue mode ãšãã
- issue 飿ºãªãã§ PR / delivery ã·ã°ãã«ãæç¢ºãªã
standard-pr mode ãšãã
Issue æ¬æã PR æ¬æãæžãåã« references/body-writing-principles.md ãš references/gh-body-file-rules.md ãèªããæ¬ãã§ãŒãºã§ã¯èšç» issue ã®äœæã»æ¬ææŽæ°ã¯æ±ããªããèšç» issue ãå¿
èŠãªå Žå㯠km:plan ã«å§ããã
issue-first mode
PR delivery ãšäžäœã® ad-hoc issue äœæã ããæ±ãã
- ãŠãŒã¶ãŒèŠæ±ãèšç» issue ã®äœæããŸã㯠PR delivery ã䌎ããªãåç¬ã® issue äœæã®å Žåã¯ãããã§åæ¢ããŠ
km:plan ã®å©çšãæ¡å
ãã
- äž»ããŒã¯ãŒã 1-3 èªã§
gh issue list --state open --search ... ãå®è¡ãããçµæã 10 ä»¶è¶
ãŸãã¯åŒ±äžèŽã°ãããªã 1 åã ãçµãçŽã
- 1 ä»¶äžæãªãåå©çšã0 ä»¶ãªãæ°èŠäœæã2 件以äžãŸãã¯ææ§ãªãäœæãããŠãŒã¶ãŒã«ç¢ºèªãã
- issue æ¬æã«ã¯çŸç¶ã®åé¡ã»åœ±é¿ã»æ³å®å¯Ÿå¿ãæäœéæžããèšç»ã¬ãã«ã®è©³çްã»ã¬ãã¥ãŒå±¥æŽãæžããªã
- issue / PR æ¬æã¯
--body-file - <<'EOF' ã§æµã蟌ã
- å®è£
ããŸã çµãã£ãŠããªããã°ãissue ãçšæããæç¹ã§äžåºŠæ¢ãããåéæã¯
/km:github-workflow <issue-number> ãåç
§ãã
existing-issue mode
- æå®ããã issue çªå·ã open ã§ååšããããšã確èªãã
- issue æ¬æã¯æ¬ã¹ãã«ã§ã¯ç·šéããªããæ¬æã®æŽæ°ãå¿
èŠãªå Žåã¯
km:plan ã«å§ãã
- PR äœæåã§å®è£
äžã®è£è¶³ãæ®ãããå Žåã ã issue comment ã«çã远èšãããã¬ãã¥ãŒçµæã¯
km:review ã®ã¬ããŒãã§æ±ããã issue comment ãžæžãåããªã
- PR æ¬æã«ã¯ãã® issue çªå·ã ãã飿ºå¯Ÿè±¡ãšããŠäœ¿ã
standard-pr mode
- issue 飿ºã¯è¿œå ããªã
- æ¢åã® issue ãåæã«æ¢çŽ¢ã»äœæããªã
Phase 2: Develop
äœæ¥ãã©ã³ããçšæããäŸé Œç¯å²å
ã§æå°éã®åã倿Žãå®è£
ããããã©ã³ããåãããšã ãã§ãªããæ¢åã³ãŒãã«åãããŠå®éã«äœæ¥ãé²ãããšãããŸã§ã Develop ãšããã
- çŸåšãã©ã³ãã確èªãã
- base branch ã®æç€ºæå®ã¯
<branch> ãã ãŸã㯠base 㯠<branch> ã®ããã« branch åãçŽæ¥ç€ºãããå Žåã ãæ¡çšãã
- base branch æå®ããªããã°ãEntry Point ã§ååŸãã
defaultBranchRef ãæ¢å® base branch ãšãã
- æç€ºããã base branch ãååšããªããæå®ãææ§ããŸãã¯
defaultBranchRef ãååŸã§ããªãå Žåã¯ç¢ºèªãã
- base branch äžã«ãããªã
type/short-description 圢åŒã§æ°ãã©ã³ããåã
- æ¢åäœæ¥ãã©ã³ããªããä»åã®ã¿ã¹ã¯çšãããã©ã³ãåãšæè¿ã®ã³ãããã§å€æãã
- issue-first / existing-issue mode ã§ãããã©ã³ãåã« issue çªå·ã¯å¿
é ã«ããªã
- æ¢åã³ãŒãã®æ§åŒã責åå¢çãåšèŸºèšèšã«åãããŠå®è£
ãã
- éå°ãªæ©èœãæœè±¡åãé²åŸ¡çåŠçãæ©ãããæé©åãè¶³ãããå®äºæ¡ä»¶ãæºããæå°éã®åã倿Žãåªå
ãã
- å®è£
äžã«èŠã€ããçŸ PR ã¹ã³ãŒãå€ã®æ¹åç¹ã¯ Develop ã«æ··ãããPhase 3 ã§èšé²ãã
Phase 3: Record
äœæ¥äžã«ãä»åã®å®è£
ææç©ãã®ãã®ã§ã¯ãªãæ¹åç¹ãèŠã€ããå Žåã¯ãçŸäœæ¥ã«æ··ããèšé²ãããäœæ¥æ¹æ³ã®æ¹åããæ©èœã»ãªãã¡ã¯ã¿ãªã³ã°ã»ä¿®æ£ã»èšèšèª²é¡ã»éçšèª²é¡ã Record 察象ã«å«ããã
- äœæ¥æ¹æ³ã®æ¹åç¹ã¯
.plan/ é
äžã®äœæ¥ã¡ã¢ãžéæè¿œèšããã察象ã¯ãèšç»ã®ç«ãŠæ¹ãç¢ºèªæ¹æ³ãã¬ãã¥ãŒæé ãããŒã«éçšãåå²å€æããŠãŒã¶ãŒãžã®ç¢ºèªæ¹æ³ãšãã
- ã¿ã¹ã¯ãšç¡é¢ä¿ãªæ¹åé
ç®ã¯ãçŸ PR ã® diff ã«æ··ãããå®äºå ±åã§ãŠãŒã¶ãŒãžå
±æãã
- äœæ¥æ¹æ³ã®æ¹åãå«ãããŠãŒã¶ãŒãæç€ºããå Žåã ã follow-up issue åãŸãã¯æ¢å issue åç
§ãè¡ã
- äœæ¥ã¡ã¢ã¯ããŒã«ã«äžæäœæ¥å Žã§ãããissue / PR ã® source of truth ã«ããªã
Phase 4: Review
ã¬ãã¥ãŒèгç¹ã»ææå€å®ã»é倧床ã®éçšã¯ km:review ã®è²¬åãæ¬ãã§ãŒãºã§ã¯ km:review ã®çµæãåããŠä¿®æ£ã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã ããæ
ãã
- å®è£
åŸã«äž»èŠååãæåã®èŠæ±ãå®äºæ¡ä»¶ãæ€èšŒæ¹æ³ã«ç«ã¡è¿ã
- è€éãªå€æŽã§ã¯
/km:review ãå®è¡ãã
CRITICAL ã¯åæã«ä¿®æ£ããããŸãå
±æãã
- ãã以å€ã¯åå察å¿ããããå€§èŠæš¡ä¿®æ£ã仿§å€æŽã¯å
ã«ç¢ºèªãã
- ä¿®æ£åŸã«å¿
èŠãªæ€èšŒãåå®è¡ãã
/km:review ãå®è¡ããå Žåã¯ãä¿®æ£åŸã«ããäžåºŠ /km:review ãè¡ããæªè§£æ±ºã®é«é倧床ããªãããšã確èªãããã¬ãã¥ãŒã¯æå€§ 2 åãŸã§ã2 åç®ã§ã BLOCKED ãè§£æ¶ããªãå Žåã¯ãŠãŒã¶ãŒã«å€æãå§ãã
Phase 5: Report
- Phase 4 ã®ã¬ãã¥ãŒãšæ€èšŒãå®äºããŠããããšã確èªããŠããé²ã
/km:commit ã§ã³ããããã
- ãã©ã³ãã push ãã
- PR æ¬æãæžãåã«
references/pr-conventions.md ãš references/gh-body-file-rules.md ãèªã
- issue ã 1 ä»¶ã«æ±ºãŸã£ãŠããå Žå:
- åäž PR ãªãç¬ç«è¡ã§
Closes #<num> ãå
¥ãã
- è€æ° PR ã«åå²ããå Žåã¯ãäžé PR ã§ã¯
Refs #<num>ãæçµ PR ã ã Closes #<num> ãå
¥ãã
- æ¢å PR ãããã°æŽæ°ãããªããã°æ°èŠäœæãã
- PR äœæã»æŽæ°æã¯
--body "..." ã䜿ããã--body-file - <<'EOF' ã䜿ã
- PR URLã倿ŽèŠçŽãæ€èšŒçµæãèŠãŠã»ããè«ç¹ãèšé²ããæ¹åç¹ãå
±æãã
Out-of-Scope Findings
äœæ¥äžã«çŸ PR ã®ã¹ã³ãŒãå€ã®æ¹åç¹ã»èšèšèª²é¡ã»æªè§£æ±ºåé¡ãèŠã€ããå Žåã¯ãçŸäœæ¥ã«æ··ãã Record 察象ãšããŠæ±ããäœæ¥æ¹æ³ã®æ¹åãããŠãŒã¶ãŒå€æã§ follow-up issue ã«ããå¯èœæ§ãããããåãæ±ãã«ããã
- çŸ PR ã® diff ã«ã¯å«ããªããå¥ PR / å¥äœæ¥ã§å¯Ÿå¿ãã
- å®äºå ±åã§ã¯ãåé¡ã»åœ±é¿ã»æ³å®å¯Ÿå¿æ¡ïŒTBD ã§ããïŒã»åªå
床ãå¿
èŠãªç²åºŠã§å
±æãã
- ãŠãŒã¶ãŒã issue åãæç€ºããå Žåã¯ãäž»ããŒã¯ãŒã 1-3 èªã§æ¢å open issue ã軜ã確èªãããæãããªæ¢å issue ãããã°æ°èŠäœæããåç
§ãã
- æ°èŠã«æ®ã䟡å€ãããå Žåã¯
gh issue create --body-file - <<'EOF' ... ã§èµ·ç¥šãã
- issue body ã«ã¯æäœéãåé¡ / åœ±é¿ / æ³å®å¯Ÿå¿æ¡ïŒTBD ã§ããïŒ/ åªå
床ããèšé²ãããçºèŠã®æèïŒã©ã® PR/ãã¡ã€ã«/è¡ã§èŠã€ãããïŒãç°¡æœã«æ®ã
- ã³ãŒãç®æã«ããŒã«ãŒãæ®ãå Žåã¯
FIXME(issue #N) 圢åŒã§è©²åœ issue çªå·ãå
¥ãããgit grep ã§è¿œè·¡å¯èœã«ãã
- ãªããžããªå
ã«
backlog.md ãªã©ã®è¿œè·¡ãã¡ã€ã«ãäœããªããæ¹åããã¯ãã°ã¯ãå¿
èŠã«ãªã£ãæç¹ã§ GitHub issue ã«éçŽãã
- 起祚åŸãŸãã¯æ¢å issue åç
§åŸã¯ issue URL ããŠãŒã¶ãŒã«å
±æããçŸ PR ã®äœæ¥ã«æ»ã
Decision Rules
- ãŸã è°è«ã远å ä¿®æ£ãæ®ããªã Draft PR ã䜿ã
- ã¬ãã¥ãŒå¯Ÿå¿ãŸã§æžãã§ããã°éåžž PR ã䜿ã
- PR ã¿ã€ãã«ã¯ Conventional Commits 圢åŒã«åããã
- PR 説æã¯æ¥æ¬èªã§æžã
- issue æ¬æã»PR æ¬æã®ç« ç«ãŠã¯åºå®ãã³ãã¬ãŒãã«çžãããã¿ã¹ã¯ã®é£ããã«å¿ããŠå¿
èŠãªæ
å ±ãéäžè¶³ãªãå«ãã
- issue ã 1 ä»¶ã«å®ãŸããªãç¶æ
ã§
Closes ãåæã«æ±ºããªã
- èšç» issue ã®æ¬æç®¡çã¯
km:plan ã«å§ããæ¬ã¹ãã«ã§ã¯ PR æ¬æãš ad-hoc issue æ¬æã ãæžã
- ã¬ãã¥ãŒææã®æ€åºã»é倧床å€å®ã¯
km:review ã«å§ããæ¬ã¹ãã«ã§ã¯çµæãåããŠä¿®æ£ã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã ãè¡ã
.plan/ ã¯ããŒã«ã«äžæäœæ¥å Žãå
±æãããææç©ïŒPR æ¬æã»issue æ¬æã»commit messageã»PR/issue commentsïŒãã .plan/ é
äžã®å
·äœçãªãã¡ã€ã«ã source of truth ãšããŠåç
§ãããªãã.plan/ ãšããæ©èœãæŠå¿µã«è§Šããå¿
èŠãããã°æžããŠãããå
±æçšã®æ£æ¬ã¯ GitHub issue / PR ã® URL ã«éçŽãã
- PR ãäœæãããã以åŸã®å®è£
ç¶æ
ã詳现ãªå·®å㯠PR ãæ£ãšãã
- æç€º base branch æå®ã¯æ°èŠãã©ã³ãäœææã ãã«å¹ãããæ¢åäœæ¥ãã©ã³ãã®å±¥æŽãæžãæããçç±ã«ã¯äœ¿ããªã
Safety Rules
- GitHub 管çãªããžããªã§ãªãå ŽåããŸãã¯
gh èªèšŒã»ã¢ã¯ã»ã¹ãäžè¶³ããŠããå Žåã¯äœã倿Žãã忢ãã
- èªèšŒå€æŽãæš©éä»äžãremote 倿Žã¯åæã«è¡ããªã
- branch äœæ / push / PR äœæã®èŠæ±ãææ§ãªå Žåã¯ãworkflow éå§åã«ãŠãŒã¶ãŒãžç¢ºèªãã
- issue äœæã®èŠæ±ãææ§ãªå Žåããworkflow éå§åã«ãŠãŒã¶ãŒãžç¢ºèªãã
--body "..." ãéã¯ã©ãŒã heredoc ã§ issue / PR æ¬æãæµã蟌ãŸãªã
--force push ã¯ããªã
- PR äœæãå®äºãããäž»äœçãªäœæ¥ã¯æ¢ãã