From 260ed1ede6a98e5f545655263835a53ab6010f15 Mon Sep 17 00:00:00 2001 From: Mike Crowe Date: Mon, 17 Aug 2026 07:08:06 -0400 Subject: [PATCH] Offer the loop before starting it, and let a scheduled run answer for itself The description says to load this skill on a high-stakes heuristic even when the user did not ask, and then says nothing about what to do next -- so the loop auto-fires and a wrong guess costs a spec, a setup plan and an approval request that nobody wanted. An offer costing one sentence is the right shape. Five rules, ten lines, placed after the thesis paragraph so the first thing an agent reads is still what the skill is for rather than a routing decision: offer and stop when nobody asked; create nothing before the answer; a configured invocation naming this skill is itself the ask; never stall when there is nobody to answer; and the offer is not spec approval. The supporting argument for each is gone -- the rules carry themselves. The fourth rule is the one that is easy to leave out. A gate that assumes a live human deadlocks every cron run, loop prompt and agent-to-agent task, and a gate that cannot be answered and proceeds anyway is another mechanism reporting success while doing nothing. So an unanswerable offer falls through to the autonomous rules already in step 1, where spec approval is recorded as `not obtained (autonomous run)` and EVIDENCE claims correspondingly lower confidence. The frontmatter description gains the same qualifier, so it cannot promise an offer-and-stop that the body then says not to perform on an autonomous run. Co-Authored-By: Claude Opus 5 --- skills/old-coder/SKILL.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/skills/old-coder/SKILL.md b/skills/old-coder/SKILL.md index a2b1351..80d1b2d 100644 --- a/skills/old-coder/SKILL.md +++ b/skills/old-coder/SKILL.md @@ -1,6 +1,6 @@ --- name: old-coder -description: Evidence-first development — surround the implementation with an executable spec and a gauntlet of constraints (tests, types, coverage, mutation) so line-by-line review becomes optional. Use when the user explicitly asks for high-assurance or evidence-first work ("reliable", "TDD", "prove it works", "I won't read the code"), or when the change touches high-stakes domains (money, auth, data loss, concurrency, public API). For routine changes where the user just wants normal tests, write good tests directly instead of invoking this loop. +description: Evidence-first development — surround the implementation with an executable spec and a gauntlet of constraints (tests, types, coverage, mutation) so line-by-line review becomes optional. Use when the user explicitly asks for high-assurance or evidence-first work ("reliable", "TDD", "prove it works", "I won't read the code"). Also load it when the user did NOT ask but the change touches a high-stakes domain (money, auth, data loss, concurrency, public API) — in that case the first and only act is to OFFER the loop in one sentence and stop, so a wrong guess costs a sentence and no files; but only where a reply is possible — an autonomous run records the domain and proceeds. For routine changes where the user just wants normal tests, write good tests directly instead of invoking this loop. --- # Old Coder: Reliable Coding Under Constraint and Test @@ -11,6 +11,18 @@ you write code, and (2) an **evidence report** proving the code ran the gauntlet Your job is to make those two artifacts trustworthy enough that line-by-line review becomes optional within the spec's boundaries. +## First: was this loop asked for? + +- **Nobody asked; you loaded this on the high-stakes heuristic** (money, auth, + data loss, concurrency, public API): offer in one sentence — name the domain, + give two choices (the full loop, or a normal fix with good tests) — then stop. +- **Create nothing before the answer**: no spec, no setup plan, no branch. +- **A configured invocation naming this skill IS the ask** (a scheduled wake, a + loop prompt, another agent's task) — start at step 1, do not re-offer it. +- **Nobody to answer?** Never stall. Record the domain and proceed under step 1's + autonomous rules, with spec approval `not obtained (autonomous run)`. +- **The offer is not spec approval** — a yes authorizes the loop, not the spec. + This inverts the normal review model: **trust moves from inspection to constraints.** Be honest about what that buys: the gauntlet turns the constraints the spec expresses into executable evidence — it cannot show the