Loading...
Loading...
Judge a change before it lands: a branch, a pull request, a diff against a base point, or uncommitted work. Says what was not inspected rather than calling it clean. Covers what was actually asked for, security and abuse paths, whether the tests prove what they claim, broken contracts and callers outside this repository, and stale docs. Every finding at file:line, and it never edits. Use when the user says "review this", "check this before I commit", "does this hold up", or hands over a branch before opening it. Not for explaining code, formatting-only passes, running the linter or tests, or responding to a review of your own work.
npx skill4agent add gabrielmoreira/skills evidence-backed-review| Mode | The request looks like | Budget and output |
|---|---|---|
| judging a change that already exists as commits: a branch, an open change request, "review since | every gated axis → verify each finding → severity-ordered, for a reader who did not write the code |
| work not yet committed: "check this before I commit", a dirty or staged tree | every gated axis, most reshapable first → re-verify after each code move → blocking-first actions |
| another task surfaced one review risk and nobody asked for a review | 1 rule → no status → findings plus the axes left uninspected |
focused<point>...<tip>pre-commitrules/execution-and-pipeline.mdfocused| If you see... | Read |
|---|---|
| the request is "before I commit" / "check this first"; nothing pushed, tree dirty or staged | |
| authentication, a permission or role check, user input reaching a query, path, command or template, a file upload, an ownership check, a secret-shaped literal, or a new outbound call | |
| any hunk changing a condition, a bound, an assignment, or an error path; lines deleted or replaced | |
| the range is pushed or open as a change request, the repository declares a workflow, build, or deploy, or the request named execution, a run, or a pipeline | |
| the diff adds a capability nobody asked for in the request, issue, or spec | |
| one diff both restructures and adds behaviour; unrelated files, or ~1000 changed lines in one change | |
| new code deviating from a written convention, in this repository or one the organisation documents elsewhere | |
| a quoted requirement with no matching code, code no requirement mentions, or a changed behaviour whose only proof is that a test did not throw | |
| a changed exported signature, route, schema, event payload, config key, or a removed field | |
| a README, doc page, example, comment, or repository-local instruction file still describing behaviour this diff changed | |
| callers of that changed contract living outside this package who must act, or feature-specific logic landing in a shared module | |
| a security, network, data-handling, or cost question this repository never answers; a surface another team documents or consumes elsewhere | |
file:lineconfirmed-with-code-pathplausible-mechanismnot-reproducedinsufficient-detailplausible-mechanismnot-reproducedinsufficient-detailfile:lineanyrules/contracts-and-consumers.mdrules/external-sources.mdfile:linePASSISSUES_FOUNDINCOMPLETEPASSISSUES_FOUNDfocusedreview Scope: base…tip, file count, commit summary
Axes: reviewed | not-applicable + the absent signal | evidence-unavailable
Findings: severity · file:line · impact path · fix
Gaps: each stating the next observation that would close it
Teams to notify: who and why, identified, not notified
Sound: what was checked and found sound
pre-commit Actions: blocking first, each with file:line
Draft description: claim · source of the requirement · alternative rejected · what is out of scope
focused Risk inspected, findings, and the axes left out: no verdict
hard-gate