Skip to content
Back to skills

Project Review

ASecurity

Review pending changes (working tree diff, a branch, or a PR) for correctness and for THIS repository's own invariants, listed in the Invariants section below. Use when asked to review changes, a diff, a branch or a PR in this repo, and before committing anything non-trivial.

  • 3 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added October 20, 2026
ai-agentsgitapisecurity

Works with

  • cli
  • api

Security analysis

A100/100

Scanned October 20, 2026

npx -y skills add oneafrikan/the-grid --skill project-review --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Project Review?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Project Review
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/oneafrikan-project-review/badge)](https://www.skillsdirectory.com/skills/oneafrikan-project-review)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: project-review
description: Review pending changes (working tree diff, a branch, or a PR) for correctness and for THIS repository's own invariants, listed in the Invariants section below. Use when asked to review changes, a diff, a branch or a PR in this repo, and before committing anything non-trivial.
---

# Project review

Review the target for correctness first, then for this repo's invariants. If the user
passed arguments, treat them as the target (a PR number, branch, or path); otherwise
review the working-tree changes (`git diff`, `git diff --staged`, and untracked files
from `git status`).

> **Seed file.** The "Invariants" and "Known deliberate gaps" sections below start empty
> on purpose. Fill them in with this repo's real rules (see `AGENTS-SETUP.md` for where
> they come from). While any `<fill>` marker remains, say so at the top of the report and
> run the generic passes only — never invent invariants.

## Ground rules

- Read enough surrounding code to judge each change in context; never review a hunk alone.
- Report findings ranked by severity, each with `file:line`, a one-sentence claim and the
  concrete failure scenario. Verify a finding is real before reporting it; drop what you
  cannot substantiate.
- Findings are the deliverable. Report them; do not fix them unless asked.
- If the diff is clean, say so plainly. Do not invent nitpicks.
- Say what you did NOT check (no tests run, no running app, file not read).

## 1. Correctness pass

Bugs, broken edge cases, error-handling gaps, type or contract mismatches, security issues
(secrets, injection, auth), and regressions to existing behaviour. Run what the diff
touches (tests, linter, type-check) rather than assuming; quote the command and output.

## 2. Generic invariants (apply to every repo)

1. **Hand-synced mirrors** — if the diff changes one side of a pair the repo keeps in sync
   by hand (API shapes vs client types, docs vs code, a generated file vs its source), the
   other side must change in the same diff.
2. **Generated files are not hand-edited** — a diff touching generated output without its
   source is a finding.
3. **Published/versioned artefacts are immutable** — a diff editing one in place instead of
   adding a new version is a finding.
4. **Secrets and personal data** — none in the diff, none in logs, none in test fixtures.
5. **Docs staleness** — if the diff changes commands, env vars, ports, routes or counts,
   the README and agent-guidance docs change in the same diff.
6. **Tests** — a changed behaviour without a test that would fail without the change is a
   finding; a test that cannot fail is a finding.

## 3. Invariants (this repo) — <fill>

List the repo's own rules, one per line, each checkable from the diff. Example shape:

| # | Invariant | Where it lives | A violation looks like |
|---|-----------|----------------|------------------------|
| 1 | <fill: e.g. "API shapes in A and B change together"> | <fill: files> | <fill: diff touches A only> |

## 4. Known deliberate gaps — <fill>

Things the repo knowingly does not have yet (CI, a test suite, an eval set). These are not
findings unless the diff claims otherwise. Delete an entry the day it ships.

## Report format

```
Review of <target> — <N> findings (<critical>/<high>/<medium>/<low>)
Not checked: <what you did not run or read>
1. [severity] file:line — claim
   Scenario: <concrete input/state -> wrong outcome>
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.