.agents/skills/gh-pr-review/references/code-checklist.md
Review in priority order: A (highest impact) → B → C. The reviewer prompt specifies which levels to check. Test code: only check for obvious implementation errors.
Project rules loaded in context override this checklist.
For React component and performance reviews, also consult
vercel-react-best-practices skill (../../vercel-react-best-practices/SKILL.md).
It provides 62 detailed rules covering re-render optimization, bundle size,
async patterns, rendering performance, and advanced React patterns. The checklist
items below (B1, B8, A5, A6) are high-level checks — the Vercel rules provide
specific patterns and code examples for deeper analysis.
For Cherry Studio modules, also apply cherry-review-guidance.md. It contains
project-specific rules for DataApi scope, handler/service boundaries, service
ownership, cross-table access, renderer data hooks, React Hooks, UI conventions,
and type contracts. Treat it as project rules loaded in context.
Issues that directly affect runtime behavior.
For internal (non-public-API) functions: if callers provably guarantee a precondition (e.g., non-null, non-empty, within range), the guard is unnecessary — do not flag. Verify the guarantee by reading actual callers.
DataApiErrorFactory
rather than exposing raw database or IPC failuresOnly flag when the access pattern is clearly unsafe.
Improvements to code quality, performance, and maintainability.
Only flag when the diff introduces a new dependency or moves code across module boundaries.
IpcChannel entries
are migration residue, not precedentFlag only — describe the change and its scope for the coordinator to assess.
Flag only — report for awareness, do not auto-fix.
Flag only — report for awareness, do not auto-fix.
main;
v1 maintenance belongs on the v1 branchCoding standards and documentation consistency.
docs/references/naming-conventions.md, based on path zone and
primary export role rather than nearby legacy precedentloggerService with proper context — no console.logPascalCase.tsx; class-primary files use
PascalCase.ts; hooks/functions use camelCase.ts; packages/ui and route
files follow their documented kebab-case rules*.test.ts(x), never .spec.*, alongside source or in
__tests__/any types where a proper type existsProject rules override this exclusion list. If project rules have explicit requirements for an excluded issue type, that type is not excluded — review per project rules.