← ClaudeAtlas

false-green-testslisted

Find out why the tests pass but the app is broken. Catches false greens: a green suite over a feature that does not work, a mocked API standing in for a real one, an assertion that holds no matter what the app does, a click handler wired to nothing. Use when the suite is green and the user says it is broken, when a test never fails, when coverage looks fine but bugs still ship, or before trusting a passing run you did not watch.
reticlehq/reticle · ★ 445 · Testing & QA · score 80
Install: claude install-skill reticlehq/reticle
# The suite is green and the app is broken A green test is evidence about the test, not about the app. This skill separates the two by running the real app and comparing what it _does_ against what the test _claims_. It uses **Reticle**, which observes the running app from the inside: DOM, network, console, routing, and framework state. Not installed? `RETICLE_INSTALL_SOURCE=npx_skill npx @reticlehq/server@latest init`, then see the [`install-and-verify`](https://github.com/reticlehq/reticle/blob/main/skills/install-and-verify/SKILL.md) skill. ## The five shapes, in the order they are worth checking **1. The assertion cannot fail.** Read the test the user trusts. If it only asserts absence (no console error, no thrown exception, no rejected promise) it passes on a control wired to nothing. A dead button throws nothing, fires nothing, and changes nothing. Prove it in the app instead: ``` reticle_act_and_wait({ sessionId, ref, action: "click", until: { kind: "allOf", predicates: [ { kind: "net", method: "POST", urlContains: "/api/...", status: 200 }, { kind: "signal", name: "..." }, ]}}) ``` A verdict of `no` here, against a green suite, is the false green. **2. The test drove a mock and the app drives an API.** Compare what the app actually requested with what the test stubbed: ``` reticle_network({ sessionId, since }) ``` No request where the test asserted one means the suite verified a fixture. A stale client cache is the same failure with no request at all t