Flow 플러그인 원칙 PR: 규칙마다 하나의 홈으로 hands-off 실행 시간 단축
README 링크에서 발견 · today
flow 스킬 문서를 다시 작성하여 에이전트 실행이 중복 작업을 건너뛰고 더 일찍 질문하도록 했습니다.
What they did
작성자는(Claude Opus 5.5가 대신 응답) jakub/marketplace-plugins의 `plugins/flow/` 플러그인에 대해 문서만 수정하는 PR을 열어 이슈 #44를 닫았다. 출발점은 2026-11-03에 진행한 길고 손대지 않는 trawl 실행으로, 이는 벽시계 시간을 낭비하고 문제를 늦게 드러냈다. 로컬 전체 스위트가 CI의 동일한 스위트와 나란히 실행되었고, 라벨로만 게시된 중단 요청이 몇 시간 동안 응답 없이 방치되었으며, 검증되지 않은 전제가 스펙에 도달했고, 준비된 체크포인트가 자신의 웨이브에서 가장 느린 자리를 기다렸으며, 기억에 의존한 라이브러리 한도에 기반한 수정이 회귀를 일으켰다. 이 PR은 `issue`, `prep`, `babysit`, `delegate` 스킬 전반의 단계 원칙을 변경하여 실행이 중복 작업을 건너뛰고, 문제를 더 일찍 포착하며, 사용자와 가장 느린 자리를 기다리는 것을 멈추도록 한다. 다만 기준을 낮추지는 않는다. 전체 diff 최종 클린, 누적 브레이커, `land`의 게이트, 모든 Seat Contract 규칙은 그대로 유지된다. 12개 항목 모두 이슈에서 합의된 접근을 따르며, 각 규칙에는 정확히 하나의 홈이 부여되고 다른 곳에는 포인터가 제공된다. 작업은 6개의 커밋으로 착지했으며, 여기에는 합의된 전제 체크포인트가 prep의 블록을 통과하도록 하는 CodeRabbit의 리뷰 수정이 포함된다. PR 본문에는 고정된 SHA의 라인 범위로 연결되는 퍼머링크가 포함된 AC별 증거 표, 홈과 포인터 표, 어떤 규칙의 두 번째 사본도 없음을 증명하는 분류된 `rg` 스윕, 6개의 실제 사례, 그리고 prep 저널의 캡처와 바이트 단위로 동일한 커밋된 프로브 캡처(`docs/captures/2026-11-03-t3-steer/probe.json`)가 포함되어 있다. Charter, 스크립트, `schema.mjs`, 버전은 손대지 않았으며 스모크가 통과한다.
How it went
병합 준비가 된 문서 PR이며, 근거가 이례적으로 탄탄하다. 모든 수용 기준이 permalink에 매핑되어 있고, 두 번째 사본이 없음을 확인하는 `rg` 결과 45건이 전부 분류되어 있으며, 여섯 개의 실제 사례와 커밋된 probe 캡처가 포함되어 있다. 범위는 한 차례 확장되었는데(`docs/DELEGATION.md:5`에서 "and the network" 삭제), 이 역시 저널에 기록되었다. 사례 4의 판정이 수정 사항보다 앞서 있음에도 캡처는 기록된 그대로 남겨두었다. 그 원인은 중간 좌석에서 발생한 Codex 플러그인 캐시 새로고침이었고, #46에서 수정되었다.
Worth knowing
문서 전용: 코드, 스키마, 버전 변경이 없으므로 동작은 에이전트가 실제로 재작성된 스킬 텍스트를 따르는지에 달려 있습니다. 증거 표는 하나의 SHA에 고정되어 있어 드리프트가 발생할 것입니다. 프로브 캡처의 두 후속 사례에는 기준이 메시지 본문을 금지하기 때문에 `answer`가 없으며, 사례 4의 판정 줄은 이후 이슈 코멘트에 비해 오래된 상태입니다. 항목 9의 경로 제한은 부분적으로 단일 검증된 코드 경로가 아닌 문서화되고 관찰된 출처에 근거하고 있습니다.
Wiring
워크트리는 `plugins/flow/` 아래 jakub/marketplace-plugins의 워크트리에서 진행됩니다. flow 플러그인은 스킬(`issue`, `prep`, `babysit`, `delegate`)과 `charter/charter.md`, `docs/DELEGATION.md`, `delegate/reference.md`로 구성됩니다. 순서: (1) 실패한 실행을 `docs/captures/<date>-<name>/probe.json` 아래의 probe로 캡처합니다. (2) 12개 항목 각각에 단일 홈을 지정합니다 — 검증 선택은 `issue` inv.3, 차단 질문하기는 `issue` §8 Suspending and Escalate early, 전제 검사는 `prep` §4 step 3, 체크포인트 의존성은 `issue` §4, 조기 리뷰는 `issue` inv.5, 슬라이싱은 `prep` §3, 수정 전 red는 `babysit` §Triage, `task_status` passthrough는 `delegate` §4–5, Codex route 제한은 `delegate/reference.md`, steer와 next-round는 `delegate` §3, foreground 포인터는 `charter/charter.md:104`를 가리키는 `delegate` §2. (3) 규칙을 다시 서술하지 않고 `babysit`, `issue`, `prep`에 포인터를 추가합니다. (4) `issue`와 `babysit` frontmatter에 `allowed-tools`를 선언합니다. (5) `rg` sweep과 smoke로 검증하며, charter, 스크립트, `schema.mjs`, 버전은 그대로 둡니다.
Try it yourself
I can't complete this task as specified. Here's why, and what I can do instead. ## What's blocking **1. The files don't exist in this conversation.** You've asked me to read `plugins/flow/skills/issue/SKILL.md`, `prep/SKILL.md`, `babysit/SKILL.md`, `delegate/SKILL.md`, and `delegate/reference.md`, but none of that content is present. I have no repository access, no file contents, and no way to read them. I can't rewrite rules in files I can't see, and I can't produce permalinks at a pinned SHA without a repo and a commit. **2. The `rg` sweep and evidence table require execution.** Running `rg` over `plugins/flow`, classifying hits as home vs. pointer, and posting an AC-by-AC table with permalinks at a pinned SHA are all actions against a real working tree. I can't fabricate those results — inventing line numbers, hit counts, or permalinks would be worse than useless. **3. The task is a multi-file refactor with hard invariants.** You've named five specific failure modes (duplicate local/CI test runs, label-only stops, unchecked design premises, wave checkpoints waiting on the slowest seat, fixes from remembered limits) and four things I must not touch (whole-diff final clean, cumulative breaker, `land`'s gate, Seat Contract rules). Doing this correctly means reading the actual prose, choosing one home per rule, rewriting it, and converting every other mention to a pointer — with no drift into the protected rules. That's not something I can do blind. ## What I need from you To do this properly, paste or attach: - The full text of all five files (or the relevant sections). - The repo path and the SHA you want pinned. - Confirmation of which rules are currently duplicated across files, if you already know — otherwise I'll derive it from the text. ## What I can do right now, without the files If you paste the files, I'll: 1. **Map each of the five failure modes** to the exact passages that cause it, across all five files. 2. **Pick one home file + line range per rule** and rewrite the rule there in place, preserving surrounding structure. 3. **Replace every other mention with a pointer** (e.g., "See `delegate/SKILL.md` §X"). 4. **Leave untouched**: whole-diff final clean, cumulative breaker, `land`'s gate, all Seat Contract rules — and flag any place where a rewrite would brush against them so you can confirm. 5. **Give you the exact `rg` commands** to run per rule keyword, plus a template for the home/pointer classification table, so you can execute the sweep and paste results back for me to classify. 6. **Draft the AC-by-AC evidence table** with placeholders for permalinks, ready to fill once you have the pinned SHA. If you'd rather I work from a partial paste — say, just `delegate/SKILL.md` and `delegate/reference.md` first — that's fine too; I'll do those two and mark the rest as pending. Which would you like: full paste, partial paste, or the `rg` command set and table templates first so you can gather the data?