| name | post-scope-issue-body |
| description | INTERNAL/HELPER skill â do NOT invoke directly from a user query. This is the shared formatter/poster used by breakdown-issues. It formats a scope GitHub Issue body (label cc-triage-scope, used before code analysis), runs the pre-posting checklist, and executes `gh issue create`. Invoke this skill ONLY from one of the parent skills via the Skill tool, after the parent has finalized the task breakdown. If a user asks to 'create a scope issue' or similar, route them to the parent skill (/breakdown-issues) rather than invoking this one directly. |
| user-invocable | false |
| argument-hint | <YAML input â see SKILL.md> |
Post Scope Issue Body
åŒã³åºãå
ã¹ãã«ïŒbreakdown-issuesïŒããå§è²ãããã¹ã³ãŒãIssueæ¬æã®æŽåœ¢ãšæçš¿ãæ
ãå
±æã¹ãã«ã芪ã¹ãã«ã®ã¿ã¹ã¯åè§£çµæãåãåãã以äžãäžæ¬å®è¡ããã
- ãã¹ã³ãŒãIssueãã®æ£èŠãã©ãŒãããã«æŽåœ¢
- æçš¿åãã§ãã¯ã®å®æœ
gh issue create ã®å®è¡
ãŠãŒã¶ãŒããçŽæ¥åŒã³åºãããæ³å®ã§ã¯ãªãïŒèŠªã¹ãã«å
ã®ã¹ããããã Skill tool çµç±ã§èµ·åãããïŒãçŽæ¥åŒã°ããå
¥å YAML ã args ã«ç¡ãå Žåã¯ã芪ã¹ãã«ïŒbreakdown-issuesïŒã®äœ¿çšãä¿ããŠçµäºããã
芪ProjectçŽä»ããè€æ°Issueã®äœæé åºã»äŸåé¢ä¿Issueçªå·ã®ç¢ºå®ã¯åŒã³åºãåŽã®è²¬åãæ¬ã¹ãã«ã¯1åã®åŒã³åºãã§1ã€ã®Issueãäœæã㊠URL ãè¿ãã®ã¿ãè€æ°äœæãããå Žåã¯åŒã³åºãåŽãã«ãŒãããã
Instructions
å
¥åïŒargs çµç±ã® YAML ãããã¯ïŒ
åŒã³åºãèŠçŽ
åŒã³åºãå
ã®èŠªã¹ãã«ïŒbreakdown-issuesïŒã¯ãæ¬ã¹ãã«èµ·åæã® args ã«ä»¥äžã® YAML ãããã¯ãæååãšããŠæž¡ãããšãæ¬ã¹ãã«ã¯åãåã£ãå
¥åã YAML ãšããŠæ©æ¢°çã«ããŒã¹ããŠæ±ãã
mode: create
title: <Issueã¿ã€ãã«>
sections:
æŠèŠ: |
ïŒ1-3è¡ã®æŠèŠïŒ
èŠä»¶: |
- èŠä»¶1
- èŠä»¶2
åç
§æ
å ±: |
- ããã¥ã¡ã³ã: `<path>` â <説æ>
ïŒç¡ããã° "ãªã"ïŒ
åªå
床: High
èŠç©ããèŠæš¡: M
parent: <芪Issueã®çªå·>
blocked_by: [<Issueçªå·>, ...]
blocking: [<Issueçªå·>, ...]
args ã«æž¡ã YAML ã¯äžèšã®éããããã¬ãã«ããçŽæ¥æžãïŒã©ããããŒãªãïŒã
åãæ±ãèŠçŽ
- 空ã»ã¯ã·ã§ã³ãçç¥ããªããããªããã§åããïŒåŸç¶ã¹ãã«ããæªèšå
¥ããšåºå¥ã§ããªããªãããïŒã
parent / blocked_by / blocking ã® Issue çªå·ã¯åŒã³åºãåŽã§ç¢ºå®æžã¿ã®ãã®ãåæãæ¬ã¹ãã«ã¯æž¡ãããå€ããã®ãŸãŸ gh issue create ã®ãªãã·ã§ã³ã«æž¡ããå
è¡Issueã®çªå·ç¢ºå®ãåŸ
ã€é åºå¶åŸ¡ã¯åŒã³åºãåŽã®è²¬åã
- å
¥åã® YAML ãå£ããŠãããé
ç®ãæ¬ ããŠããå Žåã¯ã
mode 以å€ã§ããã°æäœéã®æšå®ã§åããïŒäŸ: åªå
床ã»èŠç©ããèŠæš¡ã空ãªã Medium / MïŒãmode ã ãã¯æšå®äžå¯ãªã®ã§æ¬ ããŠãããäžæããã
- args ããå
¥å YAML ãååŸã§ããªãå ŽåïŒçŽæ¥ãŠãŒã¶ãŒèµ·åãªã©ïŒã¯ã芪ã¹ãã«ïŒ
breakdown-issuesïŒã®äœ¿çšãä¿ããŠäžæããã
Issueãã©ãŒãããïŒå³å®ïŒ
ãã®ã¹ãã«ãæçš¿ããã®ã¯ãã³ãŒãåæåã®ã¹ã³ãŒãIssueãïŒã©ãã« cc-triage-scopeïŒã§ãããæ¬æã¯å¿
ã以äžã®æ£èŠãã©ãŒãããã«åŸããåŸç¶ã® Issue ã©ã€ããµã€ã¯ã«ã¹ãã«ã¯æ¬æãèªãã§ã©ããªã³ã°ã»ã¿ã¹ã¯åè§£ãè¡ããããã»ã¯ã·ã§ã³ã®éäžè¶³ã»é åºã®å
¥ãæ¿ãã»èŠåºãåã®ãããã¯åŸç¶ã¹ãã«ã®å€æãšäººã®ã¬ãã¥ãŒå¯èªæ§ãæãªããç¬èªã®ã¢ã¬ã³ãžã¯å ããªãã
äŸåé¢ä¿ã¯ GitHub ã® relationshipsïŒblocked-by / blockingïŒãš sub-issue é¢ä¿ã§ãã€ãã£ãã«è¡šçŸããæ¹éã®ãããæ¬æåŽã« ## äŸåé¢ä¿ ã»ã¯ã·ã§ã³ã¯æãããgh issue create ã® --parent / --blocked-by / --blocking ãªãã·ã§ã³ã§è²ŒãïŒGitHub UI ã§é¢ä¿æ§ã衚瀺ãããããæ¬æã§ã®éè€èšè¿°ã¯äžèŠããã€äºé管çã«ãããºã¬ãé¿ããããïŒã
æ¬æãã³ãã¬ãŒã
## æŠèŠ
ïŒãã®ã¿ã¹ã¯ãéæãã¹ããŽãŒã«ã1-3è¡ã§èšè¿°ïŒ
## èŠä»¶
- ïŒæ©èœèŠä»¶ã»éæ©èœèŠä»¶ãç®æ¡æžãã1é
ç®1è¡ïŒ
## åç
§æ
å ±
- ããã¥ã¡ã³ã: `<path>` â <é¢é£ç®æã®èª¬æ>
- ãã¶ã€ã³: `<path>` â <é¢é£ç®æã®èª¬æ>
ïŒè©²åœããåç
§æ
å ±ããªããã° `- ãªã` ã®1è¡ã ãæžãïŒ
## åªå
床
High / Medium / Low ã®ãããã1ã€
## èŠç©ããèŠæš¡
S / M / L / XL ã®ãããã1ã€
æçš¿åãã§ãã¯ïŒgh issue create å®è¡ã®çŽåã«å¿
ã確èªïŒ
æ¬æã gh ã«æž¡ãçŽåã«ä»¥äžã確èªãã1ã€ã§ãæºãããªãå Žåã¯æ¬æãçŽããŠããå®è¡ããã
- èŠåºãã
## æŠèŠ â ## èŠä»¶ â ## åç
§æ
å ± â ## åªå
床 â ## èŠç©ããèŠæš¡ ã®é ã§ãéäžè¶³ãªã䞊ãã§ãã
- ãã³ãã¬ãŒãå€ã®èŠåºãã远å ããŠããªãïŒç¹ã«
## äŸåé¢ä¿ 㯠GitHub relationships ã«ç§»è¡æžã¿ãªã®ã§æ¬æã«æžããªãïŒ
- åªå
床ã»èŠç©ããèŠæš¡ã¯èŠå®ã®éžæè¢ãã1ã€ã ãéžãã§ãã
- 空ã«ãªãã»ã¯ã·ã§ã³ãçç¥ããããªããã§åããŠãã
å®è¡ã¹ããã
1. å
¥å YAML ã®ååŸãšããŒã¹
äžèšã® args å
¥åã¹ãããã«åŒã³åºãæã® args ãå±éããããäžèº«ã YAML ãšããŠè§£éããå
¥åãšããã
args å
¥åã¹ããã:
$ARGUMENTS
確å®ããå
¥å YAML ãã mode / title / sections / parent / blocked_by / blocking ãåãåºããmode ãèªã¿åããªããããã㯠args ããå
¥åãåŸãããªããªãã°äžææ¡ä»¶ã«åŸã£ãŠçµäºããã
2. æ¬æã®çµã¿ç«ãŠãšæçš¿åãã§ãã¯
ãæ¬æãã³ãã¬ãŒããã«åŸã£ãŠæ¬æãçµã¿ç«ãŠãå¿
ããæçš¿åãã§ãã¯ãã®é
ç®ã1ã€ãã€ç¢ºèªããã1ã€ã§ãæºãããªãå Žåã¯æ¬æãçŽããŠããæ¬¡ãžé²ãã
3. gh issue create ã§æçš¿
--body "..." 圢åŒã¯äœ¿ããªããæ¬æäžã®ããã¯ã¯ã©ãŒãã»$ã»!ã»æ¹è¡ã§ãšã¹ã±ãŒããé »ç¹ã«å£ãããããå¿
ã --body-file - + heredocïŒ<<'EOF' ã§ã¯ã©ãŒããã·ã§ã«å±éãææ¢ïŒã䜿ãã
YAML å
¥åã« parent / blocked_by / blocking ãå«ãŸããŠããã°ããããã --parent <çªå·> / --blocked-by <çªå·,çªå·,...> / --blocking <çªå·,çªå·,...> ãšããŠãã©ã°ã«è¿œå ãããå€ãç¡ãé
ç®ã¯ãã©ã°ããšçç¥ããïŒç©ºæååãæž¡ããš gh ãåŒæ°ãšã©ãŒã§èœã¡ããããé
åã空 / null ã®å Žåã¯çµã¿ç«ãŠæç¹ã§é€å€ããïŒã--blocked-by / --blocking ã¯ã«ã³ãåºåãã§è€æ°çªå·ã1ã€ã®ãã©ã°ã«ãŸãšããã
ME=$(gh api user --jq '.login')
EXTRA_FLAGS=()
NEW_ISSUE_URL=$(gh issue create \
--title "<ã¿ã€ãã«>" \
--assignee "$ME" \
--label "cc-triage-scope" \
"${EXTRA_FLAGS[@]}" \
--body-file - <<'EOF'
...
- ...
- ...
...
...
EOF
)
æåæãã³ãã³ããæšæºåºåã«è¿ã Issue URL ãä¿æããã
--parent / --blocked-by / --blocking ã®æ€èšŒãšã©ãŒïŒååšããªã Issue çªå·ãæš©éäžè¶³ãgh ããŒãžã§ã³æªé çïŒã¯ gh issue create èªäœã倱æããããã®å Žå Issue ãäœæãããªãïŒãrelationship ã貌ããªããªãäœããªããšãã fail-fast ã®æå³çãªæåïŒã倱æãåŒã³åºãå
ã«äŒããŠäžæããïŒåŸè¿œãã® best-effort ãªã³ã¯ãå¿
èŠãªå Žåã¯ãåŒã³åºãå
åŽã§ parent ãæž¡ããäœæããå¥é gh issue edit --add-sub-issue çã§ãªã³ã¯ãããããŒã䜿ãããšïŒã
4. åŒã³åºãå
ãžã®è¿åŽ
以äžãåºåããŠãåŒã³åºãå
ã®èŠªã¹ãã«ããæçµå ±åãã芪ProjectçŽä»ãããæ¬¡ã®Issueäœæãã§äœ¿ããããã«ããã芪ProjectçŽä»ããè€æ°Issueäœæã®ã«ãŒãã¯æ¬ã¹ãã«ã®è²¬åå€ã§ãåŒã³åºãåŽã URL/çªå·ãåãåã£ãŠç¶ããåŠçããã
- äœæããã Issue ã® URL
- äœæããã Issue ã®çªå·ïŒåŸç¶Issueã®
blocked_by å
¥åã«äœ¿ããïŒ
äžææ¡ä»¶
以äžã®ããããã«è©²åœããå Žåã®ã¿ãçç±ã1-2è¡ã§åºåããŠå³äžæããã
mode ã create 以å€ïŒçŸç¶ edit ã¯ãµããŒãããªãïŒ
- args ããå
¥å YAML ãååŸã§ããªãïŒç©ºã»YAML è§£éäžèœïŒ
gh issue create ã倱æããå詊è¡ããŠãè§£æ¶ããªã
泚æäºé
- æ¬ã¹ãã«ã¯ã³ãŒããäžå倿ŽããªããIssue ã®äœæã®ã¿ãè¡ã
gh issue create ã®æ¬ææž¡ãã¯å¿
ã --body-file - + heredocïŒ<<'EOF' ... EOFïŒã䜿ã
- æ¬æã®ã»ã¯ã·ã§ã³ã空ã§ãçç¥ããããªããã§åãã
cc-triage-scope ã©ãã«ã¯ Issue ã©ã€ããµã€ã¯ã«äžã®éèŠã©ãã«ãæ¬ã¹ãã«ã¯ä»äžã®ã¿è¡ããåé€ã¯äžåè¡ããªãïŒåŒã³åºãåŽã§ã gh issue edit --remove-label ã®å¯Ÿè±¡ã«å«ããŠã¯ãªããªãïŒ
- ãã®ã¹ãã«ãç·šéããéã¯ããã©ãŒãããã®å€æŽã
breakdown-issues ã«å¹ãããšãæèããïŒãã®ã¹ãã«ã breakdown-issues ã®å¯äžã® format sourceïŒ