| name | issue-pick |
| description | Use when the user has NOT yet decided which issue to work on and needs help choosing. This is the pre-decision advisory phase: the user is weighing multiple open issues and wants structured guidance â not implementation. Key triggers: asking which issue to prioritize or tackle next, identifying which issues are blocked vs. ready to start independently, selecting issues that fit limited capacity (small/high-impact), or finding independent issues for parallel worktree sessions. The user's state is "I have several candidates and don't know where to start." Provides ranked recommendation (1 pick + 1-2 alternates) across impact/dependencies/size/urgency â read-only, no state changes. |
| version | 1.0.4 |
Issue Pick Skill
è€æ°ã® open issue ãçµ±äžèгç¹ã§æŽçãããæ¬¡ã«çæãã¹ããã®ãã®å€æææããŠãŒã¶ãŒã«æç€ºãã read-only 㪠advisory skillãéã¿ä»ããåªå
åºŠã®æ°žç¶åã¯è¡ãããæçµå€æã¯äººéã«å§ããã
ã¹ã³ãŒã
- å«ã: open issue ã®äžèЧååŸã4 èŠ³ç¹ (圱é¿ç¯å² / äŸåã»blocker / èŠæš¡ / ç·æ¥åºŠ) ã§ã®æ§é åãæšå¥š 1 ä»¶ + è£æ¬ 1ã2 ä»¶ã®æç€ºã
- å«ãŸãªã:
- state 倿Ž: issue body / labels / assignees / Projects v2 çãžã®æžã蟌ã¿ã¯äžåè¡ããªãã
- ranking ã®æ°žç¶å: åºåã¯æ®çºç㪠advisory ã«çããåªå
床ãä¿åããä»çµã¿ãæããªãã
- éã¿ä»ã: 芳ç¹ããšã®éã¿ä»ããã¹ã³ã¢ãªã³ã°ã¯ããªããæèäŸåã®å€æ (奜ã¿ã»æ°åã»çŽè¿ã®é¢å¿) ã¯äººéã«å§ããã
- assigned filter: å人ãªããžããªã§ã¯ç¡æå³ã®ããé察å¿ã
- èªåçæ:
issuekit:issue-implement skill ãšã®é£æºã¯ user çµç±ã®ã¿ãAPM plain-skill mode ã§ã¯ issue-implement ãšããŠæ¡å
ãããskill å
ã§ chain ããªãã
äŸå
gh CLI: issue äžèЧååŸã»æ¬æååŸã«äœ¿çšããã
å
¥å
- åŒæ°ãªã: ããã©ã«ãã§ open +
Status: Ready ã® issue ã®ã¿ã察象ãšããã
--include-draft: Draft ã® issue ã察象ã«å«ããã
å®è¡æé
1. issue äžèЧã®ååŸ (æ¬æèŸŒã¿)
gh issue list ã§æ¬æ (body) ãå«ã㊠ãã¹ãŠã® open issue ãäžæ¬ååŸãããStatus: Ready 㯠issue æ¬æã®å
é ã«ãããªããã¿ã€ãã« / labels ã ãã§ã¯å€å¥ã§ããªããããããã§æ¬æãååŸããŠããå¿
èŠãããã
gh issue list --state open --limit 1000 --json number,title,labels,body,createdAt,updatedAt
泚æ 1: ã¿ã€ãã« / labels ã ãã§å
ã«äžäœ 10 ä»¶ãžçµã蟌ããšãèŠãç®ã urgent 㪠Draft issue ãæ®ã£ãŠæ¬æãèªã段éã§é€å€ãããæ¬æ¥å¯Ÿè±¡ã«ãã¹ã Ready issue ãäžåºŠãè©äŸ¡ããªããŸãŸãåè£ãªããã«ãªãå¯èœæ§ããããStatus å€å®ã¯å¿
ãåè£çµã蟌ã¿ãã å ã«è¡ãã
泚æ 2: --limit ãå°ããèšå®ãããšãå€ã Ready issue ã gh issue list ã®æ®µéã§ truncate ãããStatus ãã£ã«ã¿ãééããåã«æ¶ããããªããžããªã® open issue æ°ãäžåãåå倧ããªå€ (äŸ: --limit 1000) ãæå®ããã--limit äžéãè¶
ãããªããžããªã§ã¯ gh issue list --search "is:open sort:created-asc" çã§äžŠã¹æ¿ããŠããŒãžã³ã°ååŸããå
šä»¶è©äŸ¡ãæ
ä¿ããã
2. Status ãã£ã«ã¿ãªã³ã°
å issue ã®æ¬æå
é ã® Status: è¡ã確èªãã察象ãçµã蟌ãã
- ããã©ã«ã:
Status: Ready ã® issue ã®ã¿ãæ®ããStatus: 衚èšãç¡ã issue ã Status: Draft ã® issue 㯠é€å€ ãã (ããã㯠issuekit:issue-implementããŸã㯠APM plain-skill mode ã® issue-implement ã§ Ready ç¢ºèªæã«ã匟ããããããæšå¥šã«å«ãããšæŽåããªã)ã
--include-draft æå®æ: Status: Ready ãš Status: Draft ã® issue ãæ®ããStatus: 衚èšãç¡ã issue ã¯äŸç¶ãšããŠé€å€ããã
- ãã©ãŒãããäžå®å
šãª issue ããã£ãå Žåã¯ãåºåæ«å°Ÿã® hint ã«ã
/issuekit:issue-refine <çªå·> ã§æŽçãä¿ããæšãæ¡å
ããŠãã (æšå¥šåè£ãšããŠã¯æ±ããªã)ã
3. åè£ã®çµã蟌㿠(äžé 10 ä»¶)
Status ãã£ã«ã¿åŸã®å¯Ÿè±¡ issue ã 10 ä»¶ãè¶
ããå Žåã®ã¿ äžæ¬¡éžå¥ãè¡ããäžäœ 10 ä»¶ã«çµã蟌ããæé 1 ã§æ¬æãååŸããŠãããããæ¬æã®äžèº«ãå«ããŠå€æããŠãã (æ¬ææªèªã®ãŸãŸã¿ã€ãã« / labels ã ãã§åãè©°ãããšãæ¬æã«éèŠãªåãå
¥ãæ¡ä»¶ã»blocker æ
å ±ãæžããã issue ã deep-read 察象ããæ°žä¹
ã«å€ãããã)ã
äžæ¬¡éžå¥ã®èгç¹:
- ã¿ã€ãã«ã»æ¬æããæšæž¬ããã圱é¿ç¯å²ã»ç·æ¥åºŠ
- æ¬æã«æèšããã blocker / äŸåã®æç¡
- labels (äŸ:
bug, priority:high çãä»ããŠããã°åªå
)
- çŽè¿ã®
updatedAt (è°è«ã掻çºãªãã®ã¯æèãæ°é®®)
éžå¥åºæºã¯ æ©æ¢°çãªéã¿ä»ãã§ã¯ãªãã芳ç¹ãæç€ºããããã®åè£ããã¯ã¢ããã«çããã
4. deep-read (芪åé¢ä¿ã®ååŸ)
çµã蟌ãã åè£ã«ã€ããŠãã³ã¡ã³ããšèŠªåé¢ä¿ãååŸãããæé 1 ã§æ¬æã¯æ¢ã«ååŸæžã¿ã ããã³ã¡ã³ãã«ã¯æ¬ææªåæ ã®è£è¶³ã»ææ°æ¹éã»blocker ãæ®ãããšããããããdeep-read 察象ã§ã¯æ¬æã ãã§å€æããªãã
for N in <åè£çªå·>; do
gh issue view "$N" --comments
done
ã³ã¡ã³ãã«æ¬æãšççŸããå
å®¹ãæªè§£æ±º blockerãæ¹éä¿çãåãå
¥ãæ¡ä»¶ã®æªåæ 倿Žãããå Žåã¯ããã® issue ã Status: Ready ã®æšå¥šåè£ããå€ããåºåã§ã¯å¥æ ã®ãèŠç¢ºèªãåè£ãšããŠæ±ããæ¬æãšã³ã¡ã³ããççŸããå Žåã¯ãupdatedAt ãã³ã¡ã³ãæç³»åãèžãŸããŠææ°ã®æå³ãæšå®ãã倿ã§ããªããã®ã ããèŠç¢ºèªãšããŠæ±ããæšæž¬ã§æå®ãããã³ã¡ã³ãäžã®è£è¶³ / èŠç¢ºèªããšããŠçç±ãæç€ºããã
ç¶ããŠèŠª issue ã 2 系統ã§ååŸããã
- GitHub ã® sub-issue æ©èœ (æšå¥š): REST ã® sub-issues endpoint (
GET /repos/{owner}/{repo}/issues/{issue_number}/parent) ã䜿ãã芪 issue ãååšããªãå Žå㯠404 ã«ãªãããããã®å Žåã¯ç©ºæ±ãã«ã㊠fallback ãžé²ãã
- æ¬æäžã®
芪: #N èšèŒ (fallback): æ§åœ¢åŒã® issue ã sub-issue çŽã¥ããæŒããŠãã issue ã§ã¯ãæ¬æã® èŠª: #<çªå·> ãªã³ã¯ããæ®ã£ãŠããªãã±ãŒã¹ããããæ¬æãæ£èŠè¡šçŸã§èµ°æ»ãã芪çªå·ãæœåºããã
REPO=$(gh repo view --json nameWithOwner --jq '.nameWithOwner')
for N in <åè£çªå·>; do
gh api "repos/${REPO}/issues/${N}/parent" \
--jq '.number' || true
gh issue view "$N" --json body --jq '.body' | grep -oE '芪: #[0-9]+' | grep -oE '[0-9]+'
done
䞡系統ã§åŸããã芪çªå·ã®åéåãåããéè€ãæé€ããã
芪åé¢ä¿ã®è§£éã¯ä»¥äžãšãããissuekit:issue-create skill ã®éçšã§ã¯å issue ã¯ã芪 epic é
äžã®ç¬ç«ããå®è£
ã¿ã¹ã¯ããšããŠèµ·ç¥šããããããopen ãªèŠª issue ããã£ãŠã å³ blocker ãšã¯éããªãã
- 芪ã closed: äŸåã¯è§£æ¶æžã¿ãblocker æ±ãããªãã
- 芪ã open ãã€
Status: Draft: 芪åŽã®åãå
¥ãæ¡ä»¶ã確å®ããŠããããå issue ã®åæãæºããå¯èœæ§ããããblocker åè£ ãšããŠæ³šèšããã
- 芪ã open ãã€
Status: Ready / ãã以å€: 芪ã倧ã㪠epic ãšã㊠open ã®ãŸãŸæ®ã£ãŠããã ãã®ã±ãŒã¹ãå€ããblocker ã§ã¯ãªã æèæ
å ± ãšããŠã芪: #NããèšèŒããã«çããã
芪 issue æ¬æã®ååŸã«ã¯å¥é gh issue view <芪çªå·> ãå¿
èŠãblocker å€å®ãåºåã«å¹ãå Žåã®ã¿ååŸããäžèŠãª fetch ã¯é¿ããã
5. 4 芳ç¹ã§ã®æ§é å
ååè£ issue ã«ã€ããŠãä»¥äž 4 芳ç¹ã§å€æææãæŽçããã
| èŠ³ç¹ | å
容 |
|---|
| 圱é¿ç¯å² | 倿Žãåã¶ããã±ãŒãž / ãã¡ã€ã« / ãŠãŒã¶ãŒäœéšã®åºã |
| äŸåã»blocker | 芪 issueã»å
è¡ issueã»å€éšãªãœãŒã¹çãžã®äŸåãblocker ãããã°æç€º |
| èŠæš¡ | æ³å®ããã倿Žè¡æ°ã»ãã¡ã€ã«æ°ã»å®è£
ã¹ãããæ°ã®ç®å® |
| ç·æ¥åºŠ | æéã»é害圱é¿ã»ä»äœæ¥ã®ãããã«ãŒæ§ãªã©ã®æéçèŠçŽ |
å芳ç¹ã¯ issue æ¬æã»ã³ã¡ã³ãã»labelsã»èŠªåé¢ä¿ããèªã¿åããç¯å²ã§æŽçããæšæž¬ãå¿
èŠãªå Žåã¯ã(æšæž¬)ããšæç€ºãããã³ã¡ã³ãäžã®èŠç¢ºèªç¹ããã issue ã¯ãæšå¥š / è£æ¬ ã§ã¯ãªãèŠç¢ºèªåè£ãšããŠåé¢ããã
6. æšå¥šãšè£æ¬ ã®æç€º
æŽççµæãã æšå¥š 1 ä»¶ + è£æ¬ 1ã2 ä»¶ ãéžã³ãçç±ãšãšãã«æç€ºããã
- ranking å
šä»¶ (3 ä»¶è¶
ã®é äœä»ã) ã¯åºããªããadvisory ã«åŸ¹ããåªå
åºŠã®æ°žç¶åãšçŽããããããªãããã
- æšå¥šçç±ã¯ 4 芳ç¹ã®ã©ããéèŠããããæèšãã (äŸ: ã圱é¿ç¯å²ãåºããblocker ããªãããã)ã
- ã³ã¡ã³ãäžã®èŠç¢ºèªç¹ããã issue ã¯æšå¥š / è£æ¬ ã«å«ããªããåºåã«å«ããå Žåã¯ãèŠç¢ºèªãã»ã¯ã·ã§ã³ãžåé¢ããå
ã«ã³ã¡ã³ãå
容ã®ç¢ºèªãŸãã¯
issue-refine ãå¿
èŠãªããšã瀺ãã
- éã¿ä»ãã¯ããªã: ãç·åã¹ã³ã¢ããåªå
床ãã€ã³ããã®ãããªæ°å€åã¯ããã芳ç¹ããšã®ç¶æ
ã䞊ã¹ãäžã§ãããã劥åœããšèª¬æãã圢ã«çããã
7. åºåãã©ãŒããã
markdown æ£æ + 芳ç¹å¥ã®ç®æ¡æžãã§åºåãããåºåæ«å°Ÿã«ã¯æ¬¡ã®ã¢ã¯ã·ã§ã³ãä¿ã hint è¡ ãå¿
ãå«ãããæšå¥š issue ã® Status ã«ãã hint ãåå²ããã:
- æšå¥šã
Status: Ready: plugin mode ã§ã¯ /issuekit:issue-implement <çªå·>ãAPM plain-skill mode ã§ã¯ issue-implement <çªå·> ãæ¡å
ããã
- æšå¥šã
Status: Draft (--include-draft æå®æã®ã¿): plugin mode ã§ã¯ /issuekit:issue-refine <çªå·>ãAPM plain-skill mode ã§ã¯ issue-refine <çªå·> ã§å
ã« Ready åãä¿ã (issuekit:issue-implement / issue-implement 㯠Draft ã匟ããã)ã
## çæåè£
### æšå¥š: #<çªå·> <ã¿ã€ãã«>
- 圱é¿ç¯å²: ...
- äŸåã»blocker: ...
- èŠæš¡: ...
- ç·æ¥åºŠ: ...
çç±: <4 芳ç¹ã®ã©ããéèŠããããå«ããæ£æã®èª¬æ>
### è£æ¬ : #<çªå·> <ã¿ã€ãã«>
- 圱é¿ç¯å²: ...
- äŸåã»blocker: ...
- èŠæš¡: ...
- ç·æ¥åºŠ: ...
çç±: <ãªãæšå¥šã§ã¯ãªãè£æ¬ ãªã®ã>
(è£æ¬ ã¯æå€§ 2 ä»¶ãŸã§)
### èŠç¢ºèª: #<çªå·> <ã¿ã€ãã«>
- ã³ã¡ã³ãäžã®è«ç¹: <æ¬ææªåæ ã®è£è¶³ / æ¬æãšã®ççŸ / æªè§£æ±º blocker / æ¹éä¿ç / åãå
¥ãæ¡ä»¶ã®æªåæ 倿Ž>
- å¿
èŠãªç¢ºèª / æŽç: <ãŠãŒã¶ãŒç¢ºèªããŸã㯠`/issuekit:issue-refine <çªå·>` / APM plain-skill mode ã§ã¯ `issue-refine <çªå·>` ã§æ¬æãžåæ >
---
çæããå Žå㯠`/issuekit:issue-implement <çªå·>` ãåŒãã§ãã ããã
APM plain-skill mode ã§ã¯ `issue-implement <çªå·>` ãåŒãã§ãã ããã
(æšå¥šã Draft ã®å Žåã¯ä»£ããã« `/issuekit:issue-refine <çªå·>`ãAPM plain-skill mode ã§ã¯ `issue-refine <çªå·>` ãæ¡å
)
éã¿ä»ãã«ã€ããŠ
æ¬ skill 㯠éã¿ä»ããè¡ããªããçç±ã¯ä»¥äž:
- ãèŠæš¡ãå°ãããã°åªå
ããç·æ¥åºŠãé«ããã°åªå
ãã®ãããªåçŽãªã«ãŒã«ã§ã¯ããŠãŒã¶ãŒã®çŽè¿ã®é¢å¿ (奜ã¿ã»æ°åã»ä»äœæ¥ãšã®é¢é£) ãåæ ã§ããªã
- éã¿ä»ãã skill å
ã§åºå®ãããšããŠãŒã¶ãŒãã仿¥ã¯è»œãäœæ¥ãããããã仿¥ã¯ãŸãšãŸã£ãæéãåã£ãŠå€§ç©ã«åãçµããã®ãããªæèäŸåã®å€æãã§ããªããªã
skill 㯠芳ç¹ãçµ±äžãã©ãŒãããã§æç€ºãããšãããŸã§ ãæ
ããæçµå€æã¯äººéã«å§ããã
å©çšã¿ã€ãã³ã°
- è€æ°ã® open issue ãæºãŸã£ãŠããŠã次ã©ã?ããšå€æææãæŽçããããšãã
- ãŠãŒã¶ãŒããissue æŽçããŠããæ¬¡ã®äœæ¥åè£åºããŠãçãäŸé Œãããšãã
倱ææã®å¯Ÿå¿
gh issue list ã倱æãã (èªèšŒãšã©ãŒç) å Žåã¯ããã®æšãå ±åããŠçµäºããã
- 察象 issue ã 0 ä»¶ã®å Žåã¯ã察象 issue ããªããæšãå ±åããŠçµäºãã (
--include-draft ãä¿ãæ¡å
ãããŠãã)ã
ãããªãããš
- issue body / labels / Projects v2 çã® state 倿Ž: æ¬ skill ã¯å®å
šã« read-onlyã
- ranking å
šä»¶ã®åºå: æšå¥š 1 + è£æ¬ 1ã2 ä»¶ã®ã¿ãåªå
åºŠã®æ°žç¶åãšçŽããããããªãããã
- éã¿ä»ã / ã¹ã³ã¢ãªã³ã°: 芳ç¹ãæç€ºããã«çããæ°å€åã¯ããªãã
issuekit:issue-implement ãžã®èªå chain: åºåæ«å°Ÿã® hint è¡ã®ã¿ãAPM plain-skill mode ã§ã¯ issue-implement ãšããŠæ¡å
ãããskill å
ã§èªååŒã³åºãã¯ããªãã
- assigned filter: å人ãªããžããªã§ã¯ç¡æå³ã®ãããµããŒãããªãã