Issue Graph Sync
issue-onboard에서 GitHub 이슈는 정본이고 .issue/graph.json은 재생성 가능한 캐시다.
이 스킬은 상태 라벨을 직접 바꾸거나 그래프 파일을 부분 수정하지 않는다. 성공한 상태 전이를
GitHub에서 다시 읽어 캐시를 갱신한다.
입력
$issue-graph-sync <이슈 번호> <open|plan|in-process|review|close>
첫 번째 인자는 #82, 82, 이슈 URL을 받는다. 두 번째 인자는 방금 성공한 진행 상태다.
상태 전환 자체가 실패했거나 --no-status로 생략됐으면 호출하지 않는다.
절차
<repo>/.issue/graph.json이 있는지 확인한다. 없으면GRAPH_SYNC=skipped와REASON=graph-absent를 남기고 종료한다. 그래프 기능을 새로 켜거나 파일을 만들지 않는다.존재하면 현재 저장소의
issue-onboard스킬을 찾아 아래를 실행한다.node <issue-onboard>/scripts/issue-onboard.mjs sync --state all결과가 완전한 스냅샷인지 확인한다. 성공하면
GRAPH_SYNC=ok, 이슈 번호, 상태, 그래프 경로를 보고한다.issue-onboard를 찾지 못했거나 sync가 실패·partial이면 경고와 사유만 남기고GRAPH_SYNC=skipped또는GRAPH_SYNC=failed로 종료한다. 원래 issue-* 단계는 되돌리거나 막지 않는다.
호출 계약
호출자는 트래커 상태 전환이 성공한 뒤에만 이 스킬을 호출한다.
issue-create 등록 직후 → open
issue-start 이슈 수집 직후 → plan
issue-start 워크트리 생성 직후 → in-process
issue-end PR 생성 직후 → review
issue-merge 통합 검증 후 이슈 close 직후 → close
여러 이슈를 처리할 때는 성공한 이슈마다 한 번씩 호출한다. 한 번의 sync 실패가 다음 이슈나
원래 워크플로를 막아서는 안 된다. 결과는 각 스킬의 마무리 보고에 그래프 동기화 항목으로 남긴다.