本文へ移動
cccskills
無料GitHub で公開

builder-blocking-loop

Get told the moment a live Builder session is blocked (five refused submits in a row, a repeated findings set, twelve checks without acceptance, two environment previews in a row, two hours since a submit or rehearsal last returned) and fix the owner iteratively: read, fix on the owning PR, then keep the run or kill it and relaunch on the upgraded system, and rearm. Use while a paid run is live and the operator wants blocking caught and repaired, not only reported.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md5.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Builder blocking loop

The improvement loop's watch step, narrowed to one question: is the Builder still getting closer to an accepted submit? One watcher owns detection (run-improvement-campaign/scripts/campaign.ts --state); this skill owns what happens when it fires.

Arm

One Monitor per wave, never a polling turn:

bun .claude/skills/run-improvement-campaign/scripts/campaign.ts \
  --campaigns <run-worktree>/campaigns --run <runId> \
  --state /private/tmp/ana-block-<runId>.json \
  --every 290 --stall-minutes 45 --max-seconds 21600

Exit 3 prints the rows to read; exit 0 means closed or a quiet window, and a quiet window is rearmed as-is. Reuse the same --state on rearm so a row already read stays silent.

Limits

Each sits one step above the worst a session that still reached acceptance recorded across the 40 truss epochs of 2026-09-13..15, so a healthy session does not fire:

rowfires athealthy worststalled example
refused submits in a row54 (-12, rrrrA)none
same findings on consecutive refusals21none
correctness_check without an accepted submit1211 (-11)none
preview environment non-results in a row21 (-7)7d433e (-16), census wall
Builder minutes since its last submit or harness_trial returned120353 (3fd52f9e-3)none surveyed
no campaign evidence and no session write45 minexisting stall rownone

The minutes row no longer meets the sentence above it. It used to count every Builder minute until the first submit row, and a submit a review holds unread records no row, so on 2026-09-28 it stopped three live sessions, one of them after four held submits and nine rehearsals. It now counts from the last submit of any outcome or harness_trial to return. Over the 167 epochs recorded 2026-09-22..28, that reading reaches 120 in 18 of the 140 that reached acceptance, against 50 under the old one, and the worst of them spent 150 of its 353 quiet minutes in 84 bash calls. So 120 is a lead that still fires on healthy sessions, and moving it is the operator's survey to make.

A row is a lead, not a verdict. Change a limit only with a new survey of recorded epochs, in BUILDER_LIMITS and this table together.

When it fires

  1. Read the recorded bytes named by the row: the newest builder-execution*.json submits (stage, findingCodes, repeatedFindings), trials/*/environment-non-result.json, the safeguard log, then campaign.ts --campaigns <dir> --run <id> --json. Builder prose comes last.

  2. Name the owner.

    • environment: a census or verifier wall, provider, sandbox. The fix belongs to the host path, never to the Builder.
    • gate or contract: a finding the Builder cannot act on, or one it acts on correctly that still refuses. Fix the gate, starter or shared contract.
    • Builder behaviour: refusals it could act on but did not. The fix is prompt or starter text only when the same failure repeats across runs (rule 14); a single session is no owner.
    • progressing: the row fired but the next checkpoint moved on. Record this and rearm.
  3. Fix on the owning PR as stack-hop prescribes: the focused test for the defect, the smallest change, simplify, and one push through the gate. Protected verifier detail never enters a fix aimed at the Builder.

  4. Decide the run yourself. A live run keeps its opening bytes, so a source fix never reaches it. The operator authorises a judgement call here (operator decision 2026-09-15):

    • Kill and upgrade when the run is heading the wrong way and the fix changes what a new run would measure. Examples: an environment wall that will cut every preview again, a gate defect the Builder cannot work around, or refusals that keep repeating a defect the system owns. Stop only this run, with launch-run's immediate-stop procedure, and keep every receipt. Land the fix, restack and relaunch fresh from the new head through launch-run, with the same model and prompt.
    • Keep running when the session can still reach acceptance, the owner is Builder behaviour inside one session, or the fix would not change the remaining work. More evidence is worth more than a restart.

    Neither the number of rows nor elapsed time decides; which direction the run is heading and what the fix would change do. Record the choice and the reason in one line.

  5. Rearm on the surviving or relaunched run, using the same state file for a survivor and a fresh one for a relaunch. Tell the operator in one line: the row, the owner, the fix head, and whether the run was kept or relaunched.

Every cycle ends at a rearm or a closed run, never at a report alone.

Observe-only

When the operator says to let the run finish, skip steps 3 and 4. Append each row, then one line naming the owner and the evidence read, to <run-worktree>/.scratch/quick-run/blocking-log.txt, and rearm. The run goes to its terminal. Afterwards the log is the list of failure modes to fix before the next launch.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use when deciding which Anabasis stage owns a change, when carrying one bounded build/measure slice from the user's prompt to evidence, or when deciding what may enter a run: the exact one-line prompt, context files, public catalogues, research and solve-side public data. Maps the product loop, the input contract, the authoring sessions, the adoption gates, the four owners, and validate-or-reopen behaviour. Not a long-running campaign controller.

日本語の概要は準備中です。原文の説明を表示しています。

s-smits/anabasis612026年10月8日 更新

Use after an Anabasis run, comparison, or system change and before claiming improvement. Attributes movement to one owner, reports identities and censored denominators, separates deterministic proof from model judgement, keeps measurement validity apart from observed exploitation, and states what remains unrun or provisional.

日本語の概要は準備中です。原文の説明を表示しています。

s-smits/anabasis612026年10月8日 更新

Use for 1-7 independent read-only sessions investigating one bounded Anabasis failure, diff, or design question before a fix. Defines non-leading prompts, evidence packets, symmetric fault hypotheses, self-falsification, source adjudication, and concise synthesis. Do not use for whole-run coverage at any session count; use whole-run-investigation instead.

日本語の概要は準備中です。原文の説明を表示しています。

s-smits/anabasis612026年10月8日 更新

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

日本語の概要は準備中です。原文の説明を表示しています。

s-smits/anabasis612026年10月8日 更新

Launch, start, monitor, and collect independent Codex subagents (gpt-6-luna at high, xhigh or max; gpt-6.1-sol for small review batches) for bounded parallel work, from Codex or from Claude Code, including requests supplied as a Markdown file of session prompts. This skill owns Codex subagent transport even when another investigation or review skill defines the questions. Use whenever the user asks for Luna or Sol agents, a swarm, many sessions, a concurrency test, a particular reasoning effort, a Codex subagent from Claude Code, or later collection of reports. Distinguish launch-only requests from requests to wait, collect, or synthesise. Route high and xhigh through the direct launcher; for 16 or more sessions, also invoke the direct launcher instead of native spawn_agent.

日本語の概要は準備中です。原文の説明を表示しています。

s-smits/anabasis612026年10月8日 更新

commit-r

無料

The commit-R protocol — test-driven rewrite of one compartment. Commit, remove the compartment's tests ("R:" commit), rewrite them from a stated hypothesis so production fails on purpose, remove the production files ("R:" commit), then rewrite production and patch or delete the outdated adjacent functions. Use when the operator says "commit R", "commit-R protocol", "remove and rewrite the tests", or asks for a TDD pass that looks for a faster, simpler path to the same outcome.

日本語の概要は準備中です。原文の説明を表示しています。

s-smits/anabasis612026年10月8日 更新

s-smits のスキルをすべて見る

このスキルの問題を報告する