← ClaudeAtlas

harden-issueslisted

Attack acceptance criteria at authoring time — a blind-spot pass over issue files that sharpens criteria with evidence, names invariants, and routes open forks to the human. EXPLICIT INVOCATION ONLY. Use this skill only when the user types the command /harden-issues, or when an upstream issue-drafting pass calls it on freshly drafted slices. Never infer it from wording such as "harden these issues", "pre-batch pass" or "attack the criteria".
roufmlp/agent-skills · ★ 0 · AI & Automation · score 75
Install: claude install-skill roufmlp/agent-skills
# Harden issues Attack acceptance criteria before anyone builds to them. An issue whose criteria are wrong when written passes every gate — the implementer builds to the bad spec and both gates grade against that same bad spec. This pass is the early fix. Provenance and the incident record live in this directory's `decisions.md`; read it when changing this skill, not when running it. Two entry points, same pass: - **From an upstream issue-drafting pass, if the project has one** — runs on the drafted slices before the user quiz; the pass's questions join that quiz. - **Standalone, pre-batch** — runs over any set of `ready-for-agent` or `needs-harden` issue files before a `/run-issues` batch; questions come back as one numbered list. `needs-harden` is what a run sets when it finds criteria that are wrong or stale, so those issues return here rather than resting. ## Write authority — the one rule that matters The pass may edit an issue file **only where it can cite verification**: a file:line in current code, a query against real data, or a measured value. The same bar the run gates use. Everything else — and **every open fork** — becomes a numbered question for the human. The pass never settles a fork by choice. Any road-shaped statement it writes ("the rule is X", "the cause is Y") is a hypothesis unless its premise was tested. Untested → write it as a hypothesis with an explicit premise-check clause for the implementer, testing the premise itself, not a narrow q