Skip to main content

code-review

Use when the user says review this, check my changes, look at this PR or diff, or before merging. Reviews a concrete change across correctness, security, performance, and test coverage, then adversarially verifies each finding before reporting it. Part of codex-goat.

Informações da origem

Repositório
hypnguyen1209/codex-goat
Última atividade na origem
15 de setembro de 2026 às 08:14
Idioma detectado do SKILL.md
inglês
Estrelas
1
Forks
0

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
code-review
description
Use when the user says review this, check my changes, look at this PR or diff, or before merging. Reviews a concrete change across correctness, security, performance, and test coverage, then adversarially verifies each finding before reporting it. Part of codex-goat.
# $code-review Find defects in a change and report only the ones that survive an attempt to refute them. ## Entry contract `$code-review` is independently invocable. It needs a change, never a plan. | Requirement | How it can be satisfied | | --- | --- | | `changed-scope` | Uncommitted changes in the working tree, **or** a commit range, branch, or explicit file list given inline | ```sh goat contract code-review ``` If nothing is uncommitted and no scope was given, ask which scope to review. Do not default to reviewing the entire repository — a review with no boundary produces a list nobody reads. ## Method ### 1. Fix the scope ```sh git status --porcelain git diff --stat # uncommitted git diff --stat main...HEAD # branch scope goat state set --stage code-review --status active --summary "<scope>" ``` State the scope in the report. Every finding must sit inside it. ### 2. Read the change with intent Read the full diff plus enough surrounding context to judge it. A hunk read in isolation produces confident nonsense. ### 3. Review each dimension Run all five. Skipping one silently is worse than reporting it as not applicable. | Dimension | Looking for | | --- | --- | | **Correctness** | Wrong logic, unhandled cases, off-by-one, null/undefined, race conditions, error paths that swallow failures, resource leaks | | **Security** | Injection, path traversal, unvalidated input crossing a trust boundary, secrets in code or logs, authz gaps, unsafe deserialization | | **Performance** | N+1 queries, work inside loops that belongs outside, unbounded growth, blocking I/O on a hot path, missing pagination | | **Test coverage** | New behavior with no test, changed behavior with unchanged tests, tests asserting mocks instead of behavior, deleted assertions | | **Omission** | What the diff implies but does not contain: a mirrored implementation left unsynced (a second runtime, a generated copy), a doc row or changelog entry that now lies, a sibling script whose regex no longer matches, a caller of a changed signature. Refuting a finding catches false positives; this row is the only one that hunts false negatives | ### 4. Refute every finding before reporting it For each candidate, argue **against** it before you write it down: - Is this reachable in real usage, with real inputs? - Is it already handled by a caller, a type, or a framework guarantee? - Can I write the concrete failing input? Drop anything you cannot give a concrete failure scenario for. A review of six real defects beats a review of thirty maybes, and the thirty-item list trains people to ignore reviews. ### 5. Report Save to `.goat/reviews/<slug>.md`, ordered most severe first: ```markdown ## <severity>: <one-line claim> - Where: `path/to/file.ts:123` - Failure: <concrete inputs or state -> wrong output, crash, or exposure> - Why real: <why the obvious defense does not cover it> - Fix: <smallest correct change> ``` Severities: **critical** (data loss, security, corruption) · **high** (wrong behavior on a real path) · **medium** (wrong behavior on an edge path) · **low** (maintainability). Then close: ```sh goat state set --stage code-review --status complete --artifact .goat/reviews/<slug>.md \ --summary "<n> findings across <scope>" ``` The report file **is** the proof for this stage — `goat status` opens the path you recorded, and a path that is not on disk reports `complete*`. You also ran the project's linter (see [Out of scope](#out-of-scope)), so record that too; a command is stronger proof than a document: ```sh goat ledger evidence --stage code-review --exit <code> -- <the linter you ran> ``` ### 6. Say so when it is clean "No findings that survived verification across correctness, security, performance, and test coverage in `<scope>`" is a complete, valuable review. Do not invent findings to justify the run. ## Out of scope Style and formatting the project's own linter already enforces. Run the linter; do not hand-review what a tool decides. Report a lint failure as one finding, not thirty. ## Handoff - `$ultragoal` — fix the findings with evidence per fix. - `$ultraqa` — when findings point at runtime behavior rather than code shape.
Ver no GitHub