api-review — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited api-review (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
@rules/api/general.mdc — this skill is the focused review lens for that rule.@rules/php/core-standards.mdc@rules/security/backend.md — for the error-text and authorization-leak surface of API responses (401/403/404 wording, no internal-detail leak).@rules/laravel/architecture.mdc and @rules/laravel/laravel.mdc — validation belongs in FormRequest / Data Validator, controllers stay slim.@rules/reports/general.mdc — when the findings are folded into the GitHub PR comment by a CR wrapper they stay in canonical English per the rule's Exception — technical CR findings on the GitHub PR; a non-technical mirror on a linked issue / JIRA ticket follows the language of the source assignment. HTTP verbs, status codes, header names, and code identifiers stay verbatim regardless of the surrounding prose language.git pull to read the latest diff are allowed; mutating the working tree or pushing is not.@skills/code-review/SKILL.md (Specialized Reviews → Always run).Review only the API surface on the diff — never untouched endpoints. Detect the surface from any of: route definitions, controller/__invoke request handlers, API Resources / DTOs serialized into responses, FormRequests, response() / abort() / status-code calls, and Idempotency-Key handling. If the diff touches no API surface, return no findings.
Walk the diff against each pillar of @rules/api/general.mdc and raise one finding per match.
/getUser, /createUser, /users/{id}/delete, /doPayment) instead of a resource noun + HTTP method./users/{id}/orders) reads clearer.GET that mutates state, PUT/DELETE not idempotent on repetition.PUT used for a partial update or PATCH used for a full replacement.Idempotency-Key handling, so a client retry can double-execute.200 for a creation (201), for an async hand-off (202), or where 204 (no body) is correct; a body returned alongside 204; a missing Location header on 201.400/401/403/404/409/422/429).401 for an authorization failure or 403 for a missing/invalid credential.@rules/security/backend.md Safe Validation & Error Messages and do not duplicate a finding @skills/security-review/SKILL.md already owns.@rules/php/core-standards.mdc).Use the severity scale of @skills/code-review/SKILL.md so findings fold cleanly into the code review:
@rules/api/general.mdc CR Severity Rules.Each finding includes:
file:line)@rules/api/general.mdc#Resource-Oriented REST)Each Critical and Moderate finding additionally includes:
@rules/api/general.mdc, @rules/php/core-standards.mdc, and on Laravel projects @rules/laravel/architecture.mdc. Use n/a — <reason> only when a snippet adds nothing over the one-line fix.Minor findings may omit these fields when no behavior change is implied.
These fields exist so @skills/process-code-review/SKILL.md can turn each finding into a reproducer test and apply the fix without re-deriving context.
Use the template defined in templates/review-output.md. Omit any severity section that has no findings; never emit None. / n/a placeholders.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.