gh-flow:issue
이슈 번호 1건을 받아 리뷰 게이트까지 통과한 열린 Pull Request 1개와, 어느 단계까지 갔는지를 담은 [OK]/[FAIL] 리포트를 산출한다. 머지는 하지 않는다.
01
언제 쓰고, 언제 안 쓰는가
형제 스킬과의 경계목적지 remote 에 이슈가 이미 있고, git push 가 정상 동작
gh-flow:issue
이 스킬. 이슈 번호 하나로 PR URL 까지 한 번에.
이슈가 아직 없고 승인된 spec 만 있다
gh-flow:autopilot한 단계 앞에서 시작해 계획과 이슈까지 직접 만든다.
목적지 remote 가 프록시로 push 차단
범위 밖이 플러그인에 해당 스킬이 없다 — push 프로브가 정책 위반이라 relay 스킬은 삭제되었다(#55).
커밋 전 검토 / plan · brainstorming 모드 필요
원자 스킬을 따로gh-issue:implement + gh-pr:commit + gh-pr:create
이 스킬은 구현을 direct 모드로만 돌린다. plan/brainstorming 이 필요하면 이 스킬이 아니라 gh-issue:implement 를 직접 부르는 것이 맞다.
02
호출 형식
/gh-flow:issue <issue-number> [remote] /gh-flow:issue -h | --help | help
| # | 인자 | 기본값 | 설명 |
|---|---|---|---|
| 1 | <issue-number> | — | 구현할 GitHub 이슈 번호 |
| 2 | [remote] | origin | 이슈를 소유한 git remote. 하위 스킬 전부에 그대로 전달되어 implement / commit / PR / review 가 모두 이 remote 를 향한다 (#1405) |
-h 경로는 references/help.md 를 그대로 출력하고 멈춘다 — API 호출이 전혀 없다.
03
동작 단계
각 단계는 직전 단계 성공 시에만Step 1 에서 remote URL 로부터 TARGET_HOST / TARGET_REPO 를 한 번 바인딩하고(#1403), START_TS 를 기록한다. 이후 Step 2 에서 원자 스킬 6개를 순서대로 체인한다.
| 단계 | 위임 대상 | 하는 일 |
|---|---|---|
| 2.1 | gh-issue:implement<N> direct <remote> --no-next-hint | 이슈를 읽고 파일 수정 + 테스트 실행 |
| 2.2 | gh-pr:commit<N> <remote> | 레포 스타일의 커밋 생성, ai-metrics / 보드 동기화 |
| 2.3 | gh-pr:create<N> <remote> | 브랜치 push + PR 개설, Closes #<N> 보장, PR_NUM 추출 |
| 2.4 | gh-verify:review-all<PR_NUM> <remote> --defer-reply 4 | 품질 게이트(agy ∥ codex ∥ /simplify) 병렬 실행, simplify 변경은 동기 커밋+push, gh-pr:reply 는 4분 뒤로 예약. soft-fail |
| 2.4.1 | aicron run merge-trainBash, 비치명 | merge-train 디스패처 백그라운드 기동. <remote> 가 $HOME/dotfiles 의 origin 과 같은 URL 일 때만 |
| 2.5 | gh-resolve:conflict<PR_NUM> | 리베이스로 충돌 해소. 신규 PR 이면 보통 skip |
| 2.5.1 | gh-resolve:outdated<PR_NUM> | base 가 앞서갔을 때 clean 리베이스 sync |
| 2.6 | 인라인 Bash | 이슈에 flow 단위 AI metrics 코멘트. soft-fail |
Step 3 은 [OK]/[FAIL]/[SKIP] 리포트를 평문 assistant 텍스트로 출력한다 — Bash heredoc 이나 Write 로 내보내지 않는다 (#1270).
04
주의사항 / 제약
조언이 아니라 인수 기준전제조건과 중단 규칙
- 전제조건 — 이미 전용 worktree 의 feature 브랜치 위, working tree 깨끗. 이 스킬은 worktree 도 브랜치도 만들지 않는다.
- 첫 실패에서 즉시 중단. 재시도 없음, 건너뛰기 없음.
- 부분 진행은 롤백하지 않는다. commit 이 성공하고 PR 이 실패했으면 커밋은 남는다 — 리포트의 재개 힌트로 수동 재개.
- soft-fail 예외는 정확히 3개 —
gh-verify:review-all, merge-train wake, metrics 코멘트. 네 번째를 추가하려면references/constraints.md를 함께 고쳐야 한다.
early-stop 가드와 hook 계약
- 체인된
Skill()호출 사이에 대화 텍스트를 넣지 않는다, 그리고 2.1 의--no-next-hint를 제거하지 않는다. 둘 다 기계적 가드이며 스타일 조언이 아니다. - 세 번째 가드인 하네스 Stop hook 은
dEitY719/dotfiles에 있다. - 리포트 문자열은 hook 계약이다.
gh-flow:issue complete (#<N>)/gh-flow:issue stopped at step <i>/6는 Stop guard 가 파싱하는 종료 마커다. - CI 실패는 해결하지 않는다.
$HOME/dotfiles의origin이 아닌 remote 에는 자동 CI-fail 재처리 트리거가 아예 없으므로/gh-pr:merge-train <remote>를 직접 돌려야 한다 (#1610). - 머지하지 않는다. 리뷰와 머지는 사람 몫이다.