Agent skill

Code Review

by maotoumao in maotoumao/Cebian

A skill your agent uses when completing a coding task to perform senior-level code review.

AGPL-3.0Auto-check passedDevelopment

Install Code Review

skills CLI
$ npx skills add maotoumao/Cebian --skill code-review -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install maotoumao/Cebian code-review --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/maotoumao/Cebian.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/code-review .claude/skills/code-review && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
code-review
GitHub stars
163
Token cost
~3.6k tokens
SKILL.md length
1,960 words
Files
2
Skills in repo
7
Repo updated
First seen
Licence
AGPL-3.0

At a glance

A skill your agent uses when completing a coding task to perform senior-level code review.

  • Works in 12 steps: Best practices — idiomatic… → Dead code & single source of truth — no… → Correctness — logic is correct, edge… → …
  • Completing a coding task to perform senior-level code review
  • SKILL.md covers Scope, Review Checklist, Constraints and Approach, plus 1 more section
  • Calls git

What it does

Code Review is an agent skill from maotoumao/Cebian. Use when completing a coding task to perform senior-level code review. Triggers on: code review, post-task review, review changes, check code quality, review my code.

Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Development, covering Code review and Code quality. It works with Chrome Extensions. The repository describes itself as: An AI assistant that lives in your browser side panel. The licence is AGPL-3.0.

When your agent uses it

  • Completing a coding task to perform senior-level code review
  • Post-task review
  • Check code quality

Example prompts

  • “/code-review”

Workflow steps

12 steps, taken from the first numbered list in SKILL.md.

  1. Best practices — idiomatic React/TypeScript, proper hook usage (dependencies, rules of hooks), correct WXT patterns
  2. Dead code & single source of truth — no unused imports, variables, functions, unreachable branches, or unused re-exports. Also flag any…
  3. Correctness — logic is correct, edge cases handled at system boundaries
  4. Architecture — evaluate cohesion, coupling, file size, and placement
  5. Error handling — no silent failures, no swallowed exceptions
  6. Performance — no unnecessary re-renders, no expensive operations in hot paths, proper memoization where needed
  7. Deprecation — no use of deprecated APIs, functions, props, or patterns from any dependency (React, WXT, AI SDK, etc.). If a deprecated…
  8. Code duplication & reuse — actively scan for repeated logic, copy-pasted blocks, or near-identical patterns both within the changed code…
  9. Design quality & abstraction — proactively ask "is there a better design?" for every non-trivial change
  10. Naming & module API integrity — names carry the design, and the project enforces objective naming rules (see the "Naming & module API"…
  11. Comment quality — comments on changed code must stand on their own for a future reader who never saw the authoring discussion. Flag…
  12. Changelog gate — if the reviewed task carries user-visible changes (new feature, behavior change, bug fix, user-facing breaking change)…

What it can do on your machine

Read from SKILL.md and the folder at commit d566708. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Code Review loads about 3.6k tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 1,960 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~45
When it runs · the whole SKILL.md, loaded when a task matches
~3.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from maotoumao/Cebian at commit d566708, republished under its AGPL-3.0 licence (© maotoumao). 1,960 words, ~3,565 tokens.

Download SKILL.mdSave it as .claude/skills/code-review/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
code-review
description
Use when completing a coding task to perform senior-level code review. Triggers on: code review, post-task review, review changes, check code quality, review my code.

You are a senior code reviewer specializing in React/TypeScript browser extensions built with WXT. Your job is to perform a thorough, critical review of recently changed code and report all issues found.

Scope

Default to subtask scope, not full-branch scope. When reviewing as part of the gated Task Execution Workflow (see AGENTS.md), the caller will give you:

  • A list of files (or specific files + line ranges) that belong to the current subtask, and/or
  • A reference to the plan section (e.g., "Task 2 in docs/plans/<plan>.md") describing what was just implemented.

Review only those changes. Do not flag pre-existing issues in untouched code or in files belonging to earlier/later subtasks — mention them only if they are directly affected by the current change.

This skill runs in its own context and does not see the conversation that invoked it, so the scope arrives as the invocation argument. If no scope was given, infer it from the most recent uncommitted diff (git diff/git status); if still ambiguous, say which scope you assumed at the top of the report rather than reviewing the whole tree.

Review Checklist

Evaluate every changed file against ALL of the following criteria:

  1. Best practices — idiomatic React/TypeScript, proper hook usage (dependencies, rules of hooks), correct WXT patterns
  2. Dead code & single source of truth — no unused imports, variables, functions, unreachable branches, or unused re-exports. Also flag any re-export or duplicate declaration that creates a second source of truth for a type/value which already has a canonical home: consumers should import from the origin, not a redundant pass-through. (Unused re-exports are the most common form of this.)
  3. Correctness — logic is correct, edge cases handled at system boundaries
  4. Architecture — evaluate cohesion, coupling, file size, and placement:
    • Cohesion — each file/module should focus on a single concern. Flag files that mix unrelated responsibilities (e.g., a UI component embedding storage IO + business rules + network calls, or a lib/ helper that also performs DOM manipulation).
    • Coupling & dependency direction — the Cebian source layers follow a strict one-way dependency chain:
      entrypoints/ → components/ → hooks/ → lib/
      Lower layers must not import from higher ones. lib/ is the leaf layer (no React, no UI, no entrypoint internals). hooks/ depends only on lib/. components/ may use hooks/ and lib/. Only entrypoints/ orchestrates everything.
      • Allowed exception: lib/ may import types only from entrypoints/* for inter-process messaging protocols (e.g., OffscreenRequest/OffscreenResponse from entrypoints/offscreen/main). Value imports across this boundary are violations.
      • Allowed exception: cross-entrypoint imports are fine when they're intentional UI reuse between separate HTML pages (e.g., entrypoints/settings/App.tsx reusing entrypoints/sidepanel/pages/settings).
      • Pre-existing known violations — lib/ui/dialog.ts (← components/dialogs type). This is historical and not the current change's problem. Only flag it if the current change touches or extends it.
    • File size as a smell — single files growing past ~300 lines, or modules exporting many unrelated symbols, are a signal to evaluate whether the file should be split (extract a hook, sub-component, or helper module). This is a signal, not a rule — a long file with genuinely high cohesion is acceptable, and a short file mixing concerns still needs splitting. Don't propose a split just to hit a line count; propose one only when there's a clear seam (distinct responsibility, reusable subset, or independently testable unit). Don't design for design's sake.
    • Placement against project layers — new code should land in the layer matching its nature: pure logic / IO → lib/, React state → hooks/, UI → components/, runtime entry → entrypoints/. Flag misplaced code.
    • Within-layer placement — even when a piece of code sits at the right layer, check whether its semantic identity matches its current file. A helper whose nature is homogeneous with code that already lives elsewhere should move there, regardless of how many call sites it currently has. YAGNI applies to creating new abstractions for hypothetical future needs; it does not justify keeping homogeneous code in the wrong file. When the natural home is obvious, recommend the move.
      • For example: a generic MIME-string predicate dropped inside a tool file (lib/tools/fs-save-url.ts) belongs next to the existing MIME helpers in lib/content/mime.ts. A URL-segment encoder inside a section component belongs in lib/persistence/vfs.ts next to other VFS path helpers. A pure date-formatting helper inside a sidepanel page belongs in lib/utils.ts.
      • Spotting heuristic: ask "if a future contributor went looking for this kind of helper, would they expect to find it here, or in some other file?" If the answer is "some other file", recommend the move.
    • lib/ internal organization — lib/ is organized by concept, not by execution context (full rules in the "lib/ internal organization" section of AGENTS.md). When the change adds or moves a file under lib/, verify:
      • It lands in the concept folder matching its nature (agent/, providers/, ipc/, persistence/, browser/, ui/, content/, ai-config/, backup/, mcp/, recorder/, tools/), not loose at the lib/ root. Only pure context-agnostic utilities (utils.ts, i18n.ts) belong at the root. Flag a new loose root file that has a clear concept home.
      • A concept is not split into context-named folders. Background- and UI-side code for one concept stay in the same folder, with context encoded in the filename (*-channel.ts = UX side, manager.ts = background side), not in separate folders.
      • The capability-folder import boundaries are respected: entrypoints/background/* (or any background-only module) must NOT import @/lib/ui/* (needs document/React); content scripts must NOT import @/lib/browser/* (needs chrome/CDP). A violation is visible from the import path alone — flag it.
      • Domain content (system prompts, injected preamble, a config table bound to one concept) lives with its concept, never re-introduced into a generic constants.ts grab-bag (there is intentionally no lib/constants.ts). Flag any new catch-all constants file.
      • A new concept folder is justified only at ≥2 cohesive files; a single-file concept should stay a single file until a second context-specific file appears. Flag a folder created to hold one file "for future growth".
  5. Error handling — no silent failures, no swallowed exceptions
  6. Performance — no unnecessary re-renders, no expensive operations in hot paths, proper memoization where needed
  7. Deprecation — no use of deprecated APIs, functions, props, or patterns from any dependency (React, WXT, AI SDK, etc.). If a deprecated usage is found, identify the current recommended alternative
  8. Code duplication & reuse — actively scan for repeated logic, copy-pasted blocks, or near-identical patterns both within the changed code and between the changed code and the existing codebase (components/, hooks/, lib/, etc.). Before flagging duplication, search the codebase for existing helpers/components/hooks the change should have reused instead of reimplementing. Per project rules, reusing existing modules is mandatory. This includes magic literals: a hardcoded string or number that duplicates a value already defined as a named constant — or one repeated across enough call sites that it clearly should be a shared constant — must reference the constant instead of being re-typed inline.
  9. Design quality & abstraction — proactively ask "is there a better design?" for every non-trivial change:
    • Is the chosen pattern the simplest one that works, or is it over-engineered?
    • If similar logic appears 2+ times (here or elsewhere), should it be extracted into a shared utility / hook / component?
    • Conversely, is there premature abstraction — a one-off helper, wrapper, or generic layer that adds indirection without payoff? (Project rules forbid abstractions for one-time operations.)
    • Are responsibilities split along the right seams, or would a different decomposition (different module boundary, different hook shape, different data flow) be materially cleaner?
    • When proposing an abstraction, name the concrete call sites that would consume it and confirm there are enough of them to justify it.
  10. Naming & module API integrity — names carry the design, and the project enforces objective naming rules (see the "Naming & module API" section of AGENTS.md). Because these are documented project conventions, they are in scope — do not dismiss them as subjective taste. For changed/new symbols, files, and module surfaces, flag the following with a concrete rename/reorg suggestion:
    • Mechanism in the name — a public name that states how it works instead of what it does, leaking implementation details a caller shouldn't care about (transport, backend, storage engine, IPC, viaX suffixes). The name should survive a change of implementation.
    • Layer-colliding verbs — two symbols at different layers (e.g. a caller-facing entry point vs. an internal pure decision/helper) sharing a verb so they read as peers. Rename so the layer is visible; note the execution context when not obvious.
    • Inconsistent verb vocabulary across siblings — parallel modules doing the same job should expose the same verb pattern; flag the sibling that breaks the shared vocabulary.
    • Naming-dimension mismatch across siblings — sibling files/modules organized along different axes (one named by operation/direction, another by entity/data-source). Flag the odd one out and name the consistent axis.
    • Near-duplicate types for one concept — two shapes that are really one concept split into a "more complete looking" pair; recommend collapsing into one.
    • Misnomers & redundant segments — a name advertising one concern while the body is mostly another (e.g. a file named for types that holds runtime values), or a segment that merely repeats information already implied by its directory.
    • Public API not at the bottom — for a non-trivial module, the exported surface should sit at the end of the file with types/internal helpers above (group exports by audience when a file serves more than one). Flag a public API scattered through the file. Still exclude genuinely subjective taste — e.g. fetchUser vs getUser when there is no mechanism-leak, layer-collision, or sibling-consistency difference — which stays out of scope. Be conservative here: report only clear, rule-backed violations from the list above, not borderline judgment calls. When unsure whether a name is genuinely confusing or just not-your-preference, stay silent.
  11. Comment quality — comments on changed code must stand on their own for a future reader who never saw the authoring discussion. Flag internal jargon, design codenames, scheme/option labels, or ticket-speak that only made sense in the conversation that produced the code; these should be rewritten in plain, durable language. (This is about the quality of comments that are being added or changed — not about adding comments to untouched code; see Constraints.)
  12. Changelog gate — if the reviewed task carries user-visible changes (new feature, behavior change, bug fix, user-facing breaking change), verify CHANGELOG.md was updated per the Changelog section of AGENTS.md: a new entry exists under ## [Unreleased] (not in a released version section, which are immutable), lands in the correct subsection (### 新增 / Added, ### 变更 / Changed, ### 修复 / Fixed, ### 移除 / Removed, ### 破坏性变更 / Breaking Changes), and follows the bilingual layout (all Chinese bullets first, a blank line, then the matching English bullets — not per-line interleaving). Internal-only churn (refactor / test / build / dependency bumps users can't perceive) is correctly exempt — do not demand a changelog entry for those. This is a documentation-completeness check, not a code check.
Show full SKILL.md (218 more words)Show less

Constraints

  • DO NOT edit any files — you are read-only
  • DO NOT suggest stylistic nitpicks (formatting, subjective naming taste) unless they violate project conventions — but a name/content mismatch (checklist 10) is a real discoverability issue, not a nitpick, and should be reported
  • DO NOT suggest adding comments, docstrings, or type annotations to code that wasn't changed — this does not exempt the quality of comments that the change itself adds or edits (checklist 11)
  • ONLY report issues that are actionable and impactful

Approach

  1. Identify all files that were recently changed or are relevant to the task
  2. Read each file thoroughly, understanding the full context
  3. Search the wider codebase (components/, hooks/, lib/, entrypoints/) for existing helpers, components, hooks, or utilities that overlap with what the change introduces — this is required for the duplication and design-quality checks, not optional
  4. Evaluate against every item in the Review Checklist
  5. Cross-reference with existing patterns in the codebase to check for inconsistencies and missed reuse opportunities

Output Format

Return a structured review with:

  • Summary: One-line verdict (pass / pass with minor issues / needs fixes)
  • Issues: A numbered list of issues found, each with:
    • File path and line reference
    • Checklist category (e.g., "Dead code", "Performance")
    • Description of the problem
    • Suggested fix
  • If no issues are found, state "No issues found — code looks good."

© maotoumao, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .agents/skills/code-review of maotoumao/Cebian.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit d566708

Compare with similar skills

Code Review next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Code Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Code Review this skillmaotoumao/Cebian163—~3.6kAutomated safety check: PassAGPL-3.0
WooCommerce Code Reviewwoocommerce/woocommerce11k3 repos~1.1kAutomated safety check: PassCustom licence
Skill Doli Code ReviewDolibarr/dolibarr7.7k1 repos~1.1kAutomated safety check: PassMIT
Dignified Python Standardsdocling-project/docling69k—~1.5kAutomated safety check: PassApache-2.0
Clean Code GuardamElnagdy/guard-skills1.3k2 repos~4.3kAutomated safety check: PassMIT
Archify Reviewtt-a1i/archify79k—~415Automated safety check: PassMIT

Similar skills

  • WooCommerce Code Review

    woocommerce/woocommerce

    Reviews WooCommerce code changes against the project's standards, flagging backend PHP architecture, naming, documentation, data integrity and testing violations.

    11k GitHub starsUsed in 3 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Skill Doli Code Review

    Dolibarr/dolibarr

    Reviews Dolibarr PHP code for compliance with coding standards and security best practices, and fixes identified issues.

    7.7k GitHub starsUsed in 1 repo~1.1k tokens
    DevelopmentAuto-check passed
  • Dignified Python Standards

    docling-project/docling

    Applies opinionated production Python conventions chosen by the project's Python version: modern type syntax, pathlib, explicit checks and interface guidance.

    69k GitHub stars~1.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Clean Code Guard

    amElnagdy/guard-skills

    Reviews generated or changed production code against Clean Code, SOLID, DRY, KISS, YAGNI and LLM-specific failure modes before it ships, in any language.

    1.3k GitHub starsUsed in 2 repos~4.3k tokens
    DevelopmentAuto-check passed
  • Archify Review

    tt-a1i/archify

    Review Archify issues, PRs, or code through value, cost, and impact to support evidence-based maintenance decisions. Use for issue triage, change reviews, and…

    79k GitHub stars~415 tokensUpdated today
    DevelopmentAuto-check passed
  • Code Review Skill

    awesome-skills/code-review-skill

    Provides comprehensive code review guidance for React 19, Vue 3, Angular 17+, Svelte 5, Rust, TypeScript, Java, Java 8, PHP, Ruby, Rails, Python, Django, FastAPI, Go, C/.NET, Kotlin, Swift, Dart…

    2.1k GitHub stars~2.8k tokensUpdated 1 mo ago
    DevelopmentAuto-check: notes

More from maotoumao/Cebian

  • I18n Naming

    maotoumao/Cebian

    Cebian project i18n key naming, placeholder, pluralization, file layout, and glossary conventions.

    163 GitHub stars~3.7k tokensUpdated today
    Auto-check passed
  • Skill Creator

    maotoumao/Cebian

    Create new Cebian skills, edit or improve existing ones, scaffold multi-file skill packages, and validate them against the agentskills.io specification.

    163 GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Cl

    maotoumao/Cebian

    审计自上次发版以来的提交,把遗漏的「用户可见变更」补进 CHANGELOG.md 的 [Unreleased];可选地把 [Unreleased] 收口成正式版本节

    163 GitHub stars~428 tokensUpdated today
    Auto-check passed
  • Upgrade Packages

    maotoumao/Cebian

    调研 package.json 所有依赖的最新版本,交叉验证版本差异,给出可升级到最新版的结论. An agent skill from maotoumao/Cebian.

    163 GitHub stars~505 tokensUpdated today
    Auto-check passed
  • Start Task

    maotoumao/Cebian

    Resume execution of an approved plan from the next unchecked subtask, following the gated Task Execution Workflow in AGENTS.md.

    163 GitHub stars~580 tokensUpdated today
    Auto-check passed
  • Upgrade Pi

    maotoumao/Cebian

    升级pi-agent-core和pi-ai到最新版本

    163 GitHub stars~894 tokensUpdated today
    Auto-check passed

Categories

Questions about Code Review

What does Code Review do?

A skill your agent uses when completing a coding task to perform senior-level code review. Code Review is an agent skill from maotoumao/Cebian. Use when completing a coding task to perform senior-level code review.

When should I use Code Review?

Code Review fits situations like: completing a coding task to perform senior-level code review; post-task review; check code quality.

How do I install Code Review in Claude Code?

Run `npx skills add maotoumao/Cebian --skill code-review -a claude-code`. Or copy the skill folder (.agents/skills/code-review in maotoumao/Cebian) into .claude/skills/code-review in your project. Claude Code loads it when a task matches its description.

How do I install Code Review in Codex?

Run `npx skills add maotoumao/Cebian --skill code-review -a codex`. Or copy the skill folder (.agents/skills/code-review in maotoumao/Cebian) into .agents/skills/code-review in your project. Codex loads it when a task matches its description.

Can I use Code Review in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add maotoumao/Cebian --skill code-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/code-review, .gemini/skills/code-review, .github/skills/code-review and .opencode/skills/code-review in your project.

What does Code Review need to run?

Going by SKILL.md and its folder, Code Review needs the command-line tools its instructions call (git).

Does Code Review access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Code Review safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Code Review use?

Code Review is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Code Review use?

About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Code Review?

Skills that share tags, products or a category with Code Review: WooCommerce Code Review (woocommerce/woocommerce, 11k stars), Skill Doli Code Review (Dolibarr/dolibarr, 7.7k stars), Dignified Python Standards (docling-project/docling, 69k stars) and Clean Code Guard (amElnagdy/guard-skills, 1.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Code Review?

maotoumao (a GitHub user) maintains it in maotoumao/Cebian, which has 163 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 8, 2026.

Source: maotoumao/Cebian on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.