agentleFS
orbit-collectiveorbit-collective/orbit-skills/skills/review/SKILL.md

review

Skill1 starsChanged 42 days agoMITView on GitHub

Review code changes in the Orbit repository (working tree, branch, or PR) and report confirmed bugs, regressions, and significant risks without editing code. Use for /review and for requests to review code or assess changes before merging.

192 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use close-spec, design-with-images and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • dzhngSkill

    close-spec

    When a spec under specs/<feature>/ is done shipping (a write-spec build, or any planned task that produced a spec), archive it to specs/done/ and rewrite it from a build-plan into a durable rationale — the why, the principles, the invariants — pointing back to the real code for the how. Use when implementation has landed and the plan no longer matches what shipped, or the user says a feature/spec is finished. Pairs with [write-spec](../write-spec/SKILL.md) (the plan this closes) and [review](../review/SKILL.md) (run before closing).

    Also in 5 projects that use this

  • dzhngSkill

    design-with-images

    Explore UI and visual design with image generation, then iterate the real implementation against the user-selected concept. Use when brainstorming visual directions, offering mockup variants, or implementing an approved generated design; do not stop at the mockups or the first code approximation.

    Also in 5 projects that use this

  • LambenthanSkill

    daily-arxiv

    每日从 arXiv 拉取新论文,过滤相关性,auto-ingest 高优先级论文,检测 SOTA 更新

    Also in 5 projects that use this

  • LambenthanSkill

    exp-eval

    实验判决门:Review LLM 独立评判实验结果 → 4 种判决路径 → 自动更新 claims confidence、ideas status、graph edges

    Also in 5 projects that use this

  • +3 more from dzhng
  • +5 more from Lambenthan

The file

Show its rules and text

We split this skill into the rules it gives an agent

16 rules. 0 are common, 12 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 157 edited versions we read keep these.

  • 12

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Distinctive:

    Do not commit, push, merge, check out, or run any other operation that changes branch state.

    line 13
  2. Distinctive:

    Do not post comments, approvals, or change requests to a remote PR unless the user explicitly asked you to publish the review.

    line 14
  3. Very specific:

    Do not fix the problems you find.

    line 16
  4. Very specific:

    Follow CLAUDE.md and .github/copilot-instructions.md.

    line 17
  5. Distinctive:

    Read CLAUDE.md and check the Git state.

    line 21
  6. Very specific:

    If a PR is given, read its description, actual base/head, and diff (gh pr view, gh pr diff).

    line 22
  7. Very specific:

    If a branch or commit range is given, use the stated base.

    line 23
  8. Distinctive:

    If no range is given, review staged and unstaged changes against HEAD plus relevant new untracked files.

    line 24
  9. Distinctive:

    If there are no local changes, derive the base from known PR context or ask for a branch, PR, or range.

    line 25
  10. Distinctive:

    Read the diff and the full context of changed code.

    line 31
  11. Distinctive:

    Check the edge cases and failure scenarios that apply to this change.

    line 32
  12. Distinctive:

    Verify potential findings by reading code, existing tests, or running safe commands.

    line 33
  13. Distinctive:

    Never present an uncertain suspicion as fact.

    line 72
  14. Distinctive:

    Start with the findings. For each one give:

    line 76
  15. Distinctive:

    After the findings, briefly state the review range, the checks you ran and their results, and significant limitations.

    line 88
  16. Distinctive:

    If you found no problems, write: "I found no concrete problems in the reviewed range", then list the checks and limitations.

    line 90

“Common” is measured: kept by at least 6 in 10 of the 157 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Review

Assess the specified changes in the Orbit repository (Laravel + Inertia.js + React/TypeScript monolith) and report concrete, actionable problems. Focus on correctness and user impact.

Boundaries

  • Work in review mode: do not edit code, tests, configuration, or documentation. Do not run auto-fixers or formatters that write files — in particular npm run lint (it runs ESLint with --fix) and vendor/bin/pint without --test. Use npx eslint resources/js and vendor/bin/pint --test instead.
  • Do not commit, push, merge, check out, or run any other operation that changes branch state.
  • Do not post comments, approvals, or change requests to a remote PR unless the user explicitly asked you to publish the review.
  • You may run relevant existing checks as long as they do not modify tracked files or user data. Do not run php artisan migrate, migrate:fresh, make fresh, make clean, or anything that touches database/database.sqlite or real external services (GitHub, Jira, Discord webhooks, Orbit Relay).
  • Do not fix the problems you find. Hand findings off to a separate task, e.g. the fix-review skill.
  • Follow CLAUDE.md and .github/copilot-instructions.md; judge the code against its real contracts and the project's conventions.

Establish the comparison range

  1. Read CLAUDE.md and check the Git state.
  2. If a PR is given, read its description, actual base/head, and diff (gh pr view, gh pr diff). Do not assume the base is master; stacked PRs (gh-stack) often target another feature branch.
  3. If a branch or commit range is given, use the stated base. For a branch review, compare its HEAD with the merge-base against the base (git diff <base>...HEAD); do not include unrelated changes from the base itself.
  4. If no range is given, review staged and unstaged changes against HEAD plus relevant new untracked files. Do not include committed changes without establishing the goal.
  5. If there are no local changes, derive the base from known PR context or ask for a branch, PR, or range. Never review the whole repository by default.
  6. State the range you used and any significant access limitations. If the PR cannot be fetched, do not pretend that the local diff represents its current version.

Review process

  1. Understand the expected behavior from the task, the PR description, tests, and existing contracts.
  2. Read the diff and the full context of changed code. Trace relevant callers, consumers, validation, and data flow beyond the diff — e.g. Controller → Service → Repository, the Inertia props a controller passes to resources/js/Pages/**, and the types in resources/js/types/.
  3. Check the edge cases and failure scenarios that apply to this change. Do not mechanically apply the whole checklist to every file.
  4. Verify potential findings by reading code, existing tests, or running safe commands. Drop a suspicion if further context explains it.
  5. Review the tests in the change: do they assert behavior, and do they cover the main risks? Report a missing test as a finding only with a concrete unverified scenario and why it matters.
  6. Merge duplicates that share a root cause. Order findings from most to least severe.

What to assess

  • Correctness: conditions, boundary values, null/undefined, empty data, types, order of operations, mismatch with requirements.
  • Regressions: changed existing contracts, unintended behavior changes, backward compatibility — including changed Inertia prop shapes that existing pages or components still consume.
  • State and async: races, stale data, wrong effect dependencies, double execution, optimistic updates without rollback, data loss after an error. Remember mutating routes return redirect()->back() and Inertia re-fetches props — check for stale local state that ignores the new props.
  • Backend architecture: query logic belongs in Repositories, orchestration and side effects (e.g. ActivityLogService writes, events) in Services, validation/HTTP in Controllers and Form Requests. Flag a violation only when it has a concrete consequence (missed side effect, duplicated logic that already diverges, untested path).
  • Backend: validation, authorization via Policies ($this->authorize(...)) and the App\Enums\Permissions\Permission enum, project scoping (a user must not reach another project's issues, labels, members, or integrations), transactions, idempotency, redirect/response shape, and HTTP status codes.
  • Security: IDOR across projects, injection, XSS (e.g. rendered markdown), secret exposure, mass assignment ($fillable/$guarded), and webhook/relay signature verification when the change touches those mechanisms. Never quote the values of any secrets you find.
  • Database: data loss, constraints, migrations that work with existing rows (including SQLite limitations on altering columns), indexes, and N+1 queries in a realistic usage scenario. Remember Issue.labels is a JSON array validated per project against real labels rows.
  • Frontend: accessibility of important actions, keyboard use (including conflicts with ShortcutContext shortcuts), forms, error/loading states, both themes (data-theme dark/light via CSS variables), responsiveness, and atomic-design placement (Atoms/Molecules/Organisms). Do not present a visual assessment as verified without actually viewing the UI.
  • Performance: concrete extra requests, queries, blocking operations, or cost that grows with data size. Do not propose speculative optimizations.
  • Maintainability: report complexity only when it has a concrete consequence for correctness or for compliance with required project rules (e.g. a genuinely new extensibility point shipped without the en/pl guide that CLAUDE.md requires). Skip personal style preferences.

Useful safe checks

Pick only what is relevant to the change:

  • npx tsc --noEmit
  • npx eslint resources/js (no --fix)
  • npx vitest run <path> for affected frontend tests
  • php artisan test --filter=<TestName> for affected backend tests (Pest, in-memory SQLite — safe)
  • vendor/bin/pint --test on changed PHP files
  • In Docker: make test, make test-js, make type-check (not make lint — it may fix files)

Finding criteria

Report a problem when you can name the cause, a realistic trigger condition, and the impact. For a diff review, focus on problems introduced or exposed by the change; do not mix in unrelated pre-existing bugs.

Assign a priority:

  • P0 — critical: blocks release or causes a widespread serious incident; use only with strong evidence and without relying on unconfirmed assumptions.
  • P1 — high: serious regression, security violation, data loss, or a broken key path under realistic conditions.
  • P2 — medium: a real bug with limited reach, or a problem in a significant edge case.
  • P3 — low: a smaller, concrete defect worth fixing but not blocking release. Skip cosmetic preferences.

Never present an uncertain suspicion as fact. Put significant unknowns that need a decision or missing context separately under questions or limitations.

Response format

Start with the findings. For each one give:

[P1] Short title describing the problem
Location: path/to/file:line-or-short-range
Trigger: the concrete action or data that causes the problem.
Impact and evidence: what breaks and why it follows from the code or a check.
Fix direction: a short suggestion, without implementing the fix.

Point to the smallest possible range of changed lines and confirm the line numbers. Never invent paths, line numbers, or test results.

After the findings, briefly state the review range, the checks you ran and their results, and significant limitations. Separate pre-existing problems if mentioning them is necessary.

If you found no problems, write: "I found no concrete problems in the reviewed range", then list the checks and limitations. Do not treat an absence of findings as proof that the code is bug-free.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.