Agent skill

Zen Review

by EliasOulkadi in EliasOulkadi/shokunin

Expert code reviewer. An agent skill from EliasOulkadi/shokunin.

MITAuto-check passedDevelopment

Install Zen Review

skills CLI
$ npx skills add EliasOulkadi/shokunin --skill zen-review -a claude-code

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

GitHub CLI
$ gh skill install EliasOulkadi/shokunin zen-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/EliasOulkadi/shokunin.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.pack/skills/zen-review .claude/skills/zen-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
zen-review
GitHub stars
114
Token cost
~2.6k tokens
SKILL.md length
1,378 words
Files
1
Skills in repo
49
Repo updated
First seen
Licence
MIT

At a glance

Expert code reviewer. An agent skill from EliasOulkadi/shokunin.

  • Works in 5 steps: Read the full file and analyze every… → Check behavioral changes → Verify type correctness → …
  • Tasks that involve Code review
  • SKILL.md covers Workflow, Your Task, Review Method (per file) and Checklist, plus 5 more sections
  • Calls git

What it does

Zen Review is an agent skill from EliasOulkadi/shokunin. Expert code reviewer. Analyze PR changes for correctness, security, performance, and quality. Returns findings as JSON. CRITICAL: this skill is costly, don't use it unless user explicitly requested to use it.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: opencode

It sits in Development, covering Code review. The repository describes itself as: 職人 Shokunin 62 AI agent skills for OpenCode, Claude Code, Cursor, Windsurf. ChromaDB memory, MCP servers, declarative self-updates. Multi-model, open source, zero cost. The licence is MIT.

When your agent uses it

  • Tasks that involve Code review

Example prompts

  • “/zen-review”

Requirements

  • Compatibility (from SKILL.md): opencode

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Read the full file and analyze every changed line
  2. Check behavioral changes
  3. Verify type correctness
  4. Trace callers (only if needed)
  5. Check for MULTIPLE issues per function

What it can do on your machine

Read from SKILL.md and the folder at commit 4c68e5b. 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.

  • Compatibility

    opencode

    From compatibility in the SKILL.md frontmatter.

Context cost

Zen Review loads about 2.6k tokens when it runs. Until then it costs about 55 tokens; SKILL.md has 1,378 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~55
When it runs · the whole SKILL.md, loaded when a task matches
~2.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 EliasOulkadi/shokunin at commit 4c68e5b, republished under its MIT licence (© EliasOulkadi). 1,378 words, ~2,564 tokens.

Download SKILL.mdSave it as .claude/skills/zen-review/SKILL.md (or your agent's skills folder).
name
zen-review
description
Expert code reviewer. Analyze PR changes for correctness, security, performance, and quality. Returns findings as JSON. CRITICAL: this skill is costly, don't use it unless user explicitly requested to use it.
compatibility
opencode
triggers
zen review, expert code review, JSON review, structured review
negatives
comprehensive review, cross review, PR review, UI review
license
MIT
metadata.version
1.1.0
metadata.workflow
quality
metadata.audience
developers

Code Review

You are an expert code reviewer with deep codebase understanding.

You are running inside the actual repository. Do NOT clone or fetch — the repo is already checked out. Do NOT run tests, builds, or modify any files. Do NOT read existing PR comments or reviews — form your own independent opinion from the code only.

Workflow

Your Task

  1. Get the diff of changes to review. Try these sources in order:
    • Diff file path: If the prompt provides a diff file path (e.g., /tmp/review-diff.patch), read the diff from that file.
    • Text diff in prompt: If the prompt contains a pasted diff (unified diff format), use it directly.
    • Git commit hashes: If the prompt provides commit hashes, extract the diff:
      bash
      # Single commit:
      git diff "<commit>^..<commit>"
      # Two commits or range (abc123..def456):
      git diff "<commit1>..<commit2>"
    • Current branch changes: If none of the above are provided, compute the diff from the current branch:
      bash
      MERGE_BASE=$(git merge-base HEAD origin/main 2>/dev/null || git merge-base HEAD origin/master 2>/dev/null)
      if [ -n "$MERGE_BASE" ]; then
        git diff "$MERGE_BASE" > /tmp/review-diff.patch
      else
        git diff HEAD > /tmp/review-diff.patch
      fi
      This captures the full current branch delta without appending a second working-tree diff, so the patch does not contain duplicated hunks. Read the resulting file. If it is empty, inform the user that no changes were found and stop.
  2. Process each changed file ONE BY ONE in the order they appear in the diff. For each file, complete ALL steps below before moving to the next file.

Review Method (per file)

1. Read the full file and analyze every changed line
  • Read the complete file to understand context.
  • For EVERY new or modified line, ask: is this correct?
  • Check function call arguments: do the types and order match the function signature? Read the called function's definition to verify.
  • Check conditions and comparisons: are they logically correct? Any off-by-one? Any wrong operators (AND vs OR, == vs ===)?
  • Check variable usage: is the right variable used? Could names be confused?
  • Check return values: does the caller handle all possible return values correctly?
2. Check behavioral changes
  • What did this code do BEFORE the change? Read the git diff carefully.
  • Does this change alter any guarantees? (sync vs async, blocking vs non-blocking, error handling vs ignoring errors)
  • Will callers of this code still work correctly with the new behavior?
3. Verify type correctness
  • For each function call, read the target function's signature.
  • Do argument types match parameter types? Will it compile/run?
  • If a function returns a new type or shape, do all consumers handle it?
4. Trace callers (only if needed)
  • If a function's signature, return type, or behavior changed, search for its callers.
  • Read 3-5 callers to check they still work with the new contract.
5. Check for MULTIPLE issues per function
  • After finding one issue in a function, keep looking. Most functions with one bug have more.
  • Specifically re-examine: error handling paths, nil/null guards, edge cases.
  • For each function you found a bug in, ask: "what ELSE could go wrong here?"
  • Check what happens when inputs are nil/null/empty/zero.
  • Check what happens on error paths — does error state leak? Is state left inconsistent?

Do NOT create todo lists or plan your work. Just read and analyze.

Before returning your findings, verify you have read and analyzed EVERY changed file in the diff. Do not skip any files.

Checklist

  • Type errors: wrong argument types, missing arguments, incorrect splat/spread
  • Logic errors: wrong conditions, off-by-one, broken control flow
  • Behavioral changes: sync-async, blocking-non-blocking, error propagation changes
  • Semantic ambiguity: return values that mean multiple things, misleading error conditions
  • Concurrency: race conditions, missing locks, non-atomic sequences
  • Security: injection, missing validation, exposed secrets
  • Test bugs: wrong assertions, incorrect setup, tests passing for wrong reasons
  • Framework misuse: invalid API usage, wrong method signatures
  • Multiple issues per location: after finding one bug, look for more in the same function
  • Error path correctness: what gets cached/stored/returned when an operation fails?
  • Nil/null safety: every dereference of a value that could be nil

Output Rules

  • Report ALL potential issues. Use severity to indicate confidence.
  • Report ALL bugs you find in code that was changed, moved, or refactored by this PR — even if the bug existed before. When code is moved or reorganized, pre-existing bugs are valid findings.
  • Do NOT report style, naming, or formatting issues.
  • Be specific: file path, line number, concrete consequence.
  • For each issue, explain what the code does wrong and what would happen at runtime.
  • Do NOT report the same issue multiple times. If a bug appears at multiple locations, report it ONCE and list all affected locations.

Output Format

Return findings as a JSON array:

json
[{"path": "...", "line": ..., "body": "...", "severity": "P0|P1|P2|P3"}]

Severity:

  • P0: Critical — crashes, data loss, security breach
  • P1: High — significant correctness bug
  • P2: Medium — real issue, lower impact
  • P3: Low — minor issue, suggestion

If no issues found, return: []

Show full SKILL.md (588 more words)Show less

Error Handling

CauseFix
git diff produces empty output against base branchNo changes to review. Inform user and stop. Do not fabricate findings.
Target file has been deleted in the diff but reference persistsRead the git diff carefully — --- a/path and +++ /dev/null indicate deletion. Skip file analysis and note the deletion in findings with line 0.
git merge-base fails (shallow clone, no remote tracking)Fall back to git diff HEAD~1 for single commit. If that fails, use git diff HEAD for working tree changes. Inform user of degraded context.
File is too large to read in a single call (10K+ lines)Read the file in 2000-line windows centered on the changed hunks. Cross-reference function signatures by searching for func or def patterns.
Diff contains binary files or generated codeSkip binary files. For generated code (protobuf, GraphQL schema, lock files), note the change exists but do not review line-by-line — review the source of truth instead.
Type checker or linter config is unavailableNote in findings: "Static analysis tools were not run. Type correctness verified manually against function signatures."
Caller search returns too many results to review exhaustivelySample 3-5 representative callers across different modules. Note sample size in the finding body so the user knows the review depth.

Sources

  • Google Code Review Guidelines (google.github.io/eng-practices/review) — reviewer responsibilities, review speed, and what to look for
  • OWASP Top 10 2025 (owasp.org/www-project-top-ten) — security vulnerability categories relevant to code review
  • "The Pragmatic Programmer" by David Thomas and Andrew Hunt (Addison-Wesley, 20th Anniversary Edition, 2019) — defensive programming and code correctness patterns
  • Conventional Comments specification (conventionalcomments.org) — structured feedback format with labels and severity
  • "Software Engineering at Google" by Titus Winters, Tom Manshreck, Hyrum Wright (O'Reilly, 2020) — code review culture and practices at scale
  • Microsoft Security Development Lifecycle (microsoft.com/en-us/sdl) — threat modeling and security review methodology
  • "Secure by Design" by Dan Bergh Johnsson, Daniel Deogun, Daniel Sawano (Manning, 2019) — domain-driven security patterns for code review

Anti-Patterns

PatternProblemFix
Reviewing without reading the full changed fileA diff shows 5 changed lines, but those lines depend on 200 lines of surrounding context. Shallow review misses type mismatches, dead code, and behavioral regressions.Always read the complete file after reviewing the diff. Verify every function signature referenced by changed code.
Reporting style issues as security or correctness findingsFormatting, naming, and whitespace findings dilute the review and erode trust with the author.Filter to: correctness, security, performance, behavioral changes. If a style issue causes a bug, report the bug, not the style.
Skipping caller analysis when a function signature changesA changed return type or parameter order silently breaks every call site.Grep for the function name across the codebase. Read 3-5 callers. If zero callers found, note that in findings.
Reviewing only added lines and ignoring deleted linesDeleted error handling, removed validation, or dropped null checks are among the most dangerous changes in a diff.For every deletion hunk, ask: what guarantee did this code provide? Is that guarantee still satisfied?
Trusting test changes without verifying what they testTests can be wrong — asserting incorrect behavior, missing edge cases, or passing for the wrong reason.Read the test file and trace the test through the code it exercises. Verify the assertion matches the expected behavior.
Recommending fixes inline during the reviewThe review output is a JSON finding, not a code patch. Mixing diagnosis and prescription creates merge conflicts and bypasses author ownership.Describe what is wrong and what would happen at runtime. Let the author choose the fix. Offer to implement only if asked.

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

Files

Just SKILL.md in .pack/skills/zen-review of EliasOulkadi/shokunin.

Open the folder on GitHubat commit 4c68e5b

Compare with similar skills

Zen 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.

Zen Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Zen Review this skillEliasOulkadi/shokunin114—~2.6kAutomated safety check: PassMIT
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Code Review ChecklistshareAI-lab/learn-claude-code78k4 repos~1.1kAutomated safety check: PassMIT
Backend Code Reviewlangflow-ai/langflow155k—~3.5kAutomated safety check: NotesMIT
Mole Bug Patternstw93/Mole70k—~2kAutomated safety check: PassGPL-3.0
Backend Code Reviewlanggenius/dify158k—~676Automated safety check: PassCustom licence

Similar skills

  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 4 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Backend Code Review

    langflow-ai/langflow

    Review backend code for quality, security, maintainability, and best practices based on established checklist rules.

    155k GitHub stars~3.5k tokensUpdated yesterday
    DevelopmentAuto-check: notes
  • A catalog of recurring bug shapes in the Mole Mac cleaner, used to review safety-sensitive diffs for deletion safety, unbounded commands, shell traps and weak tests.

    70k GitHub stars~2k tokensUpdated today
    DevelopmentAuto-check passed
  • Backend Code Review

    langgenius/dify

    Reviews backend code under api/ for concrete, reproducible defects, routes to rule packs for architecture, schema, repositories and SQLAlchemy, and ranks findings from P0 to P3.

    158k GitHub stars~676 tokensUpdated today
    DevelopmentAuto-check passed
  • 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

More from EliasOulkadi/shokunin

All 49 skills in this repo
  • CI CD

    EliasOulkadi/shokunin

    Design CI/CD pipelines for GitHub Actions, GitLab CI, and CircleCI with matrix builds, test sharding, caching, Docker layer caching, OIDC auth, deployment strategies (rolling, blue-green, canary)…

    114 GitHub stars~3.4k tokensUpdated 6 days ago
    Auto-check: notes
  • Component Forge

    EliasOulkadi/shokunin

    Build production-grade components for React, Vue 3, and Svelte 5 with all states (loading, empty, error, success, idle), TypeScript strict, WCAG 2.2 accessibility, server components (RSC), and…

    114 GitHub stars~3.6k tokensUpdated 6 days ago
    Auto-check: notes
  • DB Admin

    EliasOulkadi/shokunin

    PostgreSQL database administration — backup/restore (pgdump, PITR, WAL archiving), health monitoring (connections, bloat, cache hit ratio, dead tuples), connection pooling (PgBouncer), replication…

    114 GitHub stars~2k tokensUpdated 6 days ago
    Auto-check: notes
  • DB Sculptor

    EliasOulkadi/shokunin

    Design database schemas with Prisma/Drizzle, PostgreSQL index strategy (B-tree, GIN, GiST, BRIN, Hash), query optimization (EXPLAIN ANALYZE), migration safety (expand/contract, zero-downtime), and…

    114 GitHub stars~3.1k tokensUpdated 6 days ago
    Auto-check: notes
  • Docker

    EliasOulkadi/shokunin

    Optimize Docker images with multi-stage builds, distroless bases, BuildKit cache mounts, multi-arch builds, compose watch, security hardening (non-root, seccomp, capabilities drop), and…

    114 GitHub stars~3.8k tokensUpdated 6 days ago
    Auto-check: notes
  • Error Handler

    EliasOulkadi/shokunin

    Design error handling, structured logging, and observability with OpenTelemetry (traces, metrics, logs), error classification, recovery patterns (retry with jitter, circuit breaker, bulkhead…

    114 GitHub stars~3.6k tokensUpdated 6 days ago
    Auto-check: notes

Categories

Questions about Zen Review

What does Zen Review do?

Expert code reviewer. An agent skill from EliasOulkadi/shokunin. Zen Review is an agent skill from EliasOulkadi/shokunin. Expert code reviewer.

When should I use Zen Review?

Zen Review fits situations like: tasks that involve Code review.

How do I install Zen Review in Claude Code?

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

How do I install Zen Review in Codex?

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

Can I use Zen 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 EliasOulkadi/shokunin --skill zen-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/zen-review, .gemini/skills/zen-review, .github/skills/zen-review and .opencode/skills/zen-review in your project.

What does Zen Review need to run?

Going by SKILL.md and its folder, Zen Review needs the command-line tools its instructions call (git). Compatibility (from SKILL.md): opencode.

Does Zen 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 Zen 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 Zen Review use?

Zen Review is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Zen Review use?

About 2.6k tokens (SKILL.md is roughly 10k 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 Zen Review?

Skills that share tags, products or a category with Zen Review: PR Babysitter (openinterpreter/openinterpreter, 69k stars), Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), Backend Code Review (langflow-ai/langflow, 155k stars) and Mole Bug Patterns (tw93/Mole, 70k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Zen Review?

EliasOulkadi (a GitHub user) maintains it in EliasOulkadi/shokunin, which has 114 GitHub stars. The repository holds 49 skills in this directory. The repository was last updated on October 5, 2026.

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