Use when reviewing a PR, API, IPC channel, endpoint, parameter, type, config, or architectural extension point that adds or expands shared surface area, especially when consumers are absent, exports are unused or speculative, existing consumers are hack-heavy, forward compatibility is claimed, or multiple similar APIs may express one demand.
77
96%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Audit this causal chain before implementation quality:
root outcome or invariant → normalized demand → owning layer → contract → consumer
A call site proves usage, not legitimacy or shape. No call site raises the burden of proof, not an automatic rejection. Real demand may still have the wrong consumer or abstraction.
Apply every step to each added API, channel, parameter, type, field, config, or extension point.
List every new surface and exact consumed dimension; one valid consumer does not justify unused fields. Trace current and linked consumers to their user outcome, business rule, or system invariant. Inspect adjacent implementations, then ask: without the current API and history, would the demand remain and would this contract still be natural? Do not rely only on the PR description.
Parsing, retries, sequencing, duplicated state, check-then-act, or cross-layer access signal compensation. Treat these as unmet upstream demand, never endorsement of the current surface.
Strip names, historical formats, and workarounds from demand statements. Cluster by outcome, source of truth, owner, transaction, security, and lifecycle. Consolidate historical or caller-specific differences; keep contracts separate for genuine ownership, permission, atomicity, lifecycle, side-effect, or failure differences. Prefer a stable core with thin adapters, not duplicated workflows or a lowest-common-denominator API.
Direct consumption proves pressure, not placement or shape.
For a surface without a legitimate current consumer, require all five:
Reject "future features", "flexibility", "centralization", "technical constraints", or "migration risk" without linked evidence and a causal failure. If the test fails, defer or remove. If it passes, preserve only the minimal paved road and remove guessed dimensions.
Place behavior by ownership, not line count. Centralize security, permissions, transactions, invariants, and shared policy; leave presentation and caller-specific composition in consumers. Prefer try-the-operation when the owner can enforce atomically.
Compare contracts by semantics, owner, permissions, exposure, atomicity, lifecycle, failure model, and cost. Shared data alone does not prove duplication; reuse only when these are equivalent.
Choose one outcome per surface or normalized group:
Report root outcome, evidence, consumer legitimacy, essential differences, owner, alternatives, and decision first. Review implementation quality only for survivors.
| Claim | Response |
|---|---|
| "The API is clean; the types are elegant." | Quality cannot justify existence. |
| "It has consumers." | Verify legitimacy and exact consumption; workarounds endorse nothing. |
| "It has no consumers." | Run the five-part architectural test; absence alone decides nothing. |
| "The export is unused; add a test." | Tests verify behavior; they do not create demand. |
| "The architecture will need it." | Name the invariant, causal omission cost, consumer class, why now, and minimal seam. |
| "A technical constraint requires it." | Trace the constraint to root demand; constraints are not axioms. |
| "Existence is the architect's call." | Authority neither exempts demand review nor reduces it to a nit. |
| "The caller can compute it in one line." | Place policy by ownership and invariants, not code length. |
| "The existing API returns the same data." | Compare full semantics before declaring duplication. |
| "These consumers differ slightly." | Prove differences are semantic, not historical or caller-specific. |
| "It is forward-compatible or additive." | Keep only concrete needs; additive contracts carry permanent cost. |
Pause and restart from Step 1 when:
f7139a2
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.