Appearance
Skill / /znf:ci-watch
/znf:ci-watch
Theo dõi CI GitHub Actions của commit vừa push ở chế độ nền và đánh thức phiên khi CI chạy xong; nếu fail, tự giao run lỗi cho /znf:fix rồi theo dõi commit mới.
Cách gọi
text
/znf:ci-watchKhi nào dùng
Sau khi push một branch, khi bạn muốn Claude tự biết CI xanh hay đỏ mà không phải chép log vào: gõ /znf:ci-watch, nhờ "theo dõi CI branch này", hoặc chạy /znf:ship --watch để ship tự gọi skill sau khi mở PR.
Cách hoạt động
- Skill xác định repo, branch và commit
HEAD, kiểm commit đã có trên remote. Chưa push thì dừng và báo. Repo không có file nào trong.github/workflows/thì báo không có CI; branch có PR mở thì sang bước chờ PR (bước 6), không thì dừng. - Skill chạy một vòng lặp ở chế độ nền: cứ 20 giây gọi
gh run list --commit <sha>một lần, chờ mọi workflow của commit đó chạy xong. Chỉ báo xanh khi danh sách run đứng yên ít nhất 60 giây, vì runpull_requestcó thể xuất hiện sau khi runpushđã xong. Vòng lặp chỉ in bảng kết quả cuối, mỗi run một dòng. - Khi vòng lặp kết thúc, Claude Code đánh thức phiên, kể cả khi phiên đang rảnh.
- CI xanh: báo một dòng, rồi nếu branch có PR mở thì sang bước 6. Có run
failure,timed_outhoặcstartup_failure: skill không tự đọc log hay sửa, mà gọi luôn/znf:fixvới URL các run lỗi (không hỏi)./znf:fixđọc log, chẩn đoán, sửa và đi qua gate của/znf:shipđể push; PR đã có thì push cập nhật vào PR đó. - Sau khi
/znf:fixpush, skill theo dõi commit mới. Vòng 2 vẫn đỏ, hoặc/znf:fixdừng mà không push (nguyên nhân nằm ngoài repo, cần/znf:cook), skill dừng và báo từng vòng. - Chờ PR merge được: CI xanh chưa chắc PR merge được (còn review bắt buộc, review thread, check của app khác). Skill chạy thêm một vòng lặp nền, cứ 30 giây đọc
mergeStateStatuscủa PR (chỉ gọi thêmgh pr checkskhi trạng thái làBLOCKEDhoặcUNSTABLE), tối đa 60 phút. Kết quả:CLEAN: báo URL PR đầy đủ và lệnh merge để bạn tự chạy:! gh pr merge -R <owner/repo> <n> --merge.UNSTABLE(check không bắt buộc fail, không còn check chờ): báo check fail kèm lệnh merge, bạn tự quyết.BLOCKED(không còn check chờ): liệt kê review thread chưa resolve (path + URL comment); không có thread thì báoreviewDecisionvà check bắt buộc đang fail. Skill không tự resolve thread và không chờ tiếp.DIRTY(conflict),BEHIND(tụt base),DRAFT, hết 60 phút, hoặcghlỗi 3 lần liên tiếp: báo trạng thái và dừng.
Lưu ý
- Skill chỉ canh CI và chuyển việc: chẩn đoán, sửa và push là việc của
/znf:fixvà/znf:ship. - Chỉ giao cho
/znf:fixkhi branch đang theo dõi chính là branch của worktree hiện tại. Theo dõi PR hay commit của branch khác, được gọi vớireport-only(ví dụ caller theo dõi PR của người khác), hoặc gặp deploy branch, thì chỉ báo URL run lỗi. - Skill không chạy lại, huỷ hay duyệt workflow, không resolve review thread, không merge — lệnh merge chỉ được in ra cho bạn chạy.
- Mỗi lần theo dõi gắn với một commit. Bạn tự push thêm (ngoài
/znf:fix) thì gọi lại skill cho commit mới. - Sau 5 phút mà commit không có run nào, skill dừng và báo (thường do repo không có workflow cho branch hoặc event đó). Chờ quá 90 phút thì dừng và báo trạng thái hiện tại. Commit có từ 1000 run trở lên thì báo không xác định, không báo xanh. Commit không có run nào mà branch có PR mở thì vẫn sang bước chờ PR.
- Phiên đóng thì vòng lặp nền dừng theo.