Evaluate and carry out non-trivial software-system changes from first principles. Use when assessing RFCs, issues, designs, features, refactors, migrations, dependency changes, or proposed fields, events, APIs, modules, and services whose need, consumers, system fit, validation, or rollback require scrutiny. Read the actual system, identify the concrete problem and named semantic consumers, choose the smallest sufficient solution, reject pseudo-requirements and speculative abstractions, and require evidence proportional to risk. Do not use for mechanical edits, source-code explanation, or a dedicated review of an already-complete diff.
80
100%
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
Treat every proposed change as a hypothesis about a real system, not as an implementation checklist. Establish whether the change should exist before designing or building it, then keep the solution and the process proportional to the risk.
Return STOP only when evidence affirmatively shows that no change is needed or the affected workflow already achieves the outcome. Return NEEDS_EVIDENCE when an unverified fact prevents the decision.
For every proposed durable field, event, API, table, store, module, service, or workflow, establish:
| Question | Required answer |
|---|---|
| Producer or lifecycle owner | What creates, updates, or owns it? |
| Committed consumer | Which named caller, component, operator, or user reads or acts on it now or as part of this same accepted slice? |
| Semantic use | What behavior, decision, or externally visible result changes after consumption? |
| Reachable path | Where does production reach consumption in the current system or proposed slice? |
| Absence test | Which verified scenario or accepted outcome fails if the addition is removed? |
Accept a proposed consumer only when it is tied to a verified current need and committed integration in the same change. Do not accept a roadmap, possible future evaluator, generic read/debug API, storage alone, or “future flexibility” as a semantic consumer. If an addition has no such consumer, remove or defer it. Treat a public or externally consumed contract as a compatibility boundary even when no in-repository caller is visible. Absence of a discoverable caller is uncertainty, not proof that no consumer exists.
Consider solutions in this order and stop at the first one that fully satisfies the verified outcome and invariants without shifting disproportionate recurring cost, coupling, or risk downstream:
Inspect only relevant dimensions, but do not omit a dimension merely because the proposal omits it:
For state replay or retry features, explicitly distinguish restored application state from external side effects that cannot be undone.
Label material risk claims as VERIFIED, INFERENCE, or UNKNOWN. Use an inference to request a focused check, not to require new architecture as though the claim were already proven.
Evidence labels classify individual claims; verdicts classify the overall decision. An UNKNOWN requires NEEDS_EVIDENCE only when the unknown blocks a material decision.
Before implementation, require observed evidence for the current-system claims that justify the decision and a proportional, executable verification plan. Treat proposed checks as a verification plan, not observed evidence.
When implementation is authorized:
STOP: evidence affirmatively shows that no current change is needed, or that existing capability already achieves the accepted outcome.REDUCE: the problem is real, but the proposed scope or abstraction exceeds the evidence.REVISE: the problem and approximate scope are justified, but a correctness, contract, or failure-semantics defect must change before proceeding.PROCEED: the problem, consumers, minimum solution, consequences, and proportional verification plan are sufficiently established.NEEDS_EVIDENCE: a decision would be guesswork until a specific fact, code path, incident, or consumer is verified.Do not force a binary approve/reject judgment when evidence is incomplete.
Choose the verdict from the condition blocking the earliest gate, not from the gate number: affirmative evidence that no change is needed maps to STOP; a decision-blocking unknown maps to NEEDS_EVIDENCE; a real problem with unsupported scope or no committed consumer maps to REDUCE; and a confirmed correctness, contract, or failure-semantics defect maps to REVISE. Use PROCEED only when no gate is blocked.
When more than one condition applies, give one primary verdict and list the other required changes without inventing a compound status.
A verdict records the decision gate and never expands authorization. After authorized implementation, separately report the implemented slice, observed verification, and remaining uncertainty.
For a simple change, report only:
For a cross-boundary change or RFC, add:
Do not create ceremonial documents or exhaustive matrices when a short evidence-backed answer is sufficient. The workflow itself must not become overengineering.
5f0108f
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.