agentleFS
LNSDLNSD/lorecraft/.agents/skills/code-review/SKILL.md

code-review

Skill0 starsChanged 16 days agoApache-2.0View on GitHub

Deep review of the working branch — code rules compliance, bugs, regressions, security, soundness. Use before opening a PR, or when a change needs scrutiny beyond /code-rules-check.

194 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

  • PydanticSkill

    add-new-model

    Add support for a newly-released language or image generation model in pydantic-ai (e.g. openai:gpt-5.6, anthropic:claude-sonnet-5, openai:gpt-image-2). Use when a provider ships a new model id and you need to wire literals, profile flags, adapters, and tests to recognize it. Handles SDK-lag, gateway list conventions, capability probing, and direct image-model geometry.

    Also in 9 projects that use this

  • transitive-bullshitSkill

    compare-screenshots

    Compare screenshots against the intended design, distinguishing approved references from historical baselines. Use for iterative implementation matching, before/after visual review, objective image telemetry, or checking a lone capture for flat, empty, or badly framed content.

    Also in 5 projects that use this

  • Microsoft AzureSkill

    azsdk-common-apiview-feedback-resolution

    Analyze and resolve APIView review feedback on Azure SDK PRs. **UTILITY SKILL**. USE FOR: APIView comments, API review feedback, SDK API surface changes. DO NOT USE FOR: general code review, non-APIView feedback. INVOKES: azure-sdk-mcp:azsdk_apiview_get_comments, azure-sdk-mcp:azsdk_customized_code_update, azure-sdk-mcp:azsdk_typespec_delegate_apiview_feedback, azure-sdk-mcp:azsdk_run_typespec_validation, azure-sdk-mcp:azsdk_package_generate_code.

    Also in 6 projects that use this

  • Microsoft AzureSkill

    azsdk-common-generate-sdk-locally

    Generate and finalize Azure SDKs locally from TypeSpec, including build, checks, tests, changelog, metadata, and version updates by default. WHEN: "generate SDK locally", "build SDK", "run SDK tests", "run CI checks", "validate package", "run checks", "update changelog", "fix SDK build errors", "resolve SDK generation errors", "customize TypeSpec", "rename SDK client", "rename SDK model", "hide operation from SDK", "fix analyzer errors", "resolve customization drift", "create subclient", "update metadata", "update version". INVOKES: azsdk_verify_setup, azsdk_package_generate_code, azsdk_package_build_code, azsdk_package_run_check, azsdk_package_run_tests, azsdk_customized_code_update, azsdk_package_update_changelog_content, azsdk_package_update_metadata, azsdk_package_update_version.

    Also in 6 projects that use this

  • +4 more from dzhng
  • +2 more from Azure

The file

Show its rules and text

We split this skill into the rules it gives an agent

15 rules. 0 are common, 12 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 184 edited versions we read keep these.

  • 12

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before opening a PR

    line 19
  2. Distinctive:

    After a large, risky, or long-running implementation

    line 20
  3. Very specific:

    When /code-rules-check is clean but the change still warrants scrutiny

    line 22
  4. Distinctive:

    Look for common programming errors such as:

    line 54
  5. Distinctive:

    Use of the wrong variable when several of the same type are in scope

    line 57
  6. Distinctive:

    Verify compliance with the project's error handling standards.

    line 75
  7. Distinctive:

    Verify backwards compatibility is maintained:

    line 79
  8. Very specific:

    Run /code-rules-check, forcing its fan-out path regardless of diff size: one agent per group of code rules, spawned in a single message, …

    line 89
  9. Distinctive:

    Check for performance issues:

    line 114
  10. Distinctive:

    Ensure documentation is up-to-date:

    line 122
  11. Distinctive:

    Look for inconsistencies between comments and code:

    line 139
  12. Very specific:

    If the change touches docs/code/ or docs/__meta__/, check the code rules against the specs that govern them: the corpus spec …

    line 146
  13. Distinctive:

    Avoid general comments without code references

    line 155
  14. Distinctive:

    Always run the code rule compliance review (section 6) as part of every code review.

    line 168
  15. Distinctive:

    After completing the code review:

    line 184

“Common” is measured: kept by at least 6 in 10 of the 184 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

Code Review

A thorough review of the current branch, run locally. It performs /code-rules-check at review depth — fanned out across groups of code rules — and adds what a compliance check cannot see: logic gaps, regressions, security, safety, and soundness.

The subject is the uncommitted work by default (git diff HEAD, git status). For a whole branch use git diff $(git merge-base HEAD main)...HEAD. Review only what the diff touches — an unchanged file that breaks a code rule is not this change's finding.

When to Use This Skill

  • Before opening a PR
  • After a large, risky, or long-running implementation
  • Reviewing someone else's branch locally
  • When /code-rules-check is clean but the change still warrants scrutiny

For the routine "does this follow the code rules?" pass after finishing a piece of work, use /code-rules-check alone — it is a fraction of the cost and is the gate in the development workflow.

Review Checklist

Please review this code change and provide feedback on:

1. Security Concerns

Review for security vulnerabilities:

  • Exposed secrets or credentials — a literal token, key or password, and anything that reaches a log line or an exception message
  • Input validation and sanitization at the boundaries: a document read from disk, its YAML frontmatter, a JSON Schema file, a path supplied by the caller
  • yaml.load on document frontmatter where yaml.safe_load is the only safe choice
  • A document or schema path joined from caller-supplied parts without containing it inside the corpus directory, so ../ escapes the tree being checked
  • A subprocess spawned with shell=True, or a command line assembled by string interpolation

2. Principles Violations

The principle-* code rules are the design principles, and the /code-rules catalog states each one in full — work from the catalog rather than a list here, which would cover a subset and go stale on the next edit.

Judge the change against all of them. Read a full principle code rule when you need to argue a finding: the examples and the Pragmatism Caveat are what separate a violation from a deliberate, documented exception, and a principle finding that ignores the caveat will be rejected.

3. Potential Bugs

Look for common programming errors such as:

  • Off-by-one errors, especially in line numbers and section boundaries
  • Incorrect conditionals
  • Use of the wrong variable when several of the same type are in scope
  • min vs max, first vs last, flipped ordering
  • Iterating a dict or set in an order-sensitive operation — findings reported in a different order on every run are a defect, not noise
  • A mutable default argument, or a dataclass field sharing one instance across objects

4. Unhandled Failure Paths

Identify the paths that raise where nothing locally proves they cannot:

  • Indexing or dict[key] on data that came from outside — parsed frontmatter, a schema file, a config file
  • int(), float() or a datetime parse on an untrusted string
  • A bare except, or an except Exception that swallows the failure and returns a default — a malformed document must produce a finding, never a silent pass
  • assert used to enforce a runtime invariant; -O removes it
  • A resource left unreleased when the failing path skips the cleanup

Note: this overlaps with docs/code/error-handling.md, docs/code/error-types.md and docs/code/error-boundaries.md. Verify compliance with the project's error handling standards.

5. Backwards Compatibility

Verify backwards compatibility is maintained:

  • A changed public dataclass field — a rename, a removed default, a narrowed type — breaks every caller that constructs it by keyword
  • A tightened frontmatter schema or structure file that documents already in a consuming repository cannot satisfy, turning a clean corpus into a wall of findings
  • A renamed check identifier, or a changed finding shape, that a caller parsing the output depends on
  • A renamed or removed public name in a package __init__.py

6. Code Rule Compliance

Run /code-rules-check, forcing its fan-out path regardless of diff size: one agent per group of code rules, spawned in a single message, each applying its code rules' ## Checklist items to the diff. That skill owns the procedure — which code rules govern a change, how groups are derived, and the report format. Do not restate the code rules here; they change when docs/code/ changes.

A finding in this dimension is a violation with a code rule behind it. Anything a reviewer notices that no code rule states belongs in the dimensions above and below, not here.

7. Testing

Evaluate test coverage and quality:

  • Reduced test coverage without justification
  • Tests that do not actually test the intended behavior
  • Tests with race conditions or non-deterministic behavior
  • A test that mocks its own subject, or patches module internals instead of exercising the public surface
  • A document-shaped fixture inlined as a string where a checked-in file under tests/ would let the test read the same thing an agent would
  • Changes to existing tests that weaken assertions
  • Changes to tests that are actually a symptom of breaking changes to user-visible behaviour
  • A new marker that is not declared in pyproject.toml; --strict-markers turns it into a collection error
  • A test that needs a network service or credentials: the suite is unit-only, so there is no tier for it and just test-unit would either reach it or skip it silently — the dependency has to go

8. Performance

Check for performance issues:

  • The same document read and parsed once per check instead of once per document
  • A regex compiled, or a JSON Schema loaded, inside a per-document loop rather than once up front
  • A quadratic scan over sections or findings where a single pass, or a lookup by key, would do
  • Reading and parsing a whole document when only its frontmatter is needed

9. Documentation

Ensure documentation is up-to-date:

  • README.md and docs/ reflect current behaviour, and the justfile recipes they quote still exist
  • AGENTS.md marks planned things as planned: a section that calls something "planned, not created" must be updated in the same change that creates it
  • A new or changed check is reflected in the spec it enforces, under docs/__meta__/ — the requirement a check applies and the prose stating it change together

10. Dead Code

Find dead code that is not caught by ruff:

  • A value assigned then overwritten before it is read
  • A module, class or function nothing imports, and that no registry discovers by name
  • breakpoint(), a debugging print(), or a commented-out block left behind
  • A TODO or FIXME added by this change without an owner or an issue

11. Inconsistencies

Look for inconsistencies between comments and code:

  • A docstring whose Args, Returns or Raises no longer matches the signature or the body
  • Misleading variable names or comments
  • Outdated comments after refactoring

12. Code Rule Validation

If the change touches docs/code/ or docs/__meta__/, check the code rules against the specs that govern them: the corpus spec docs/__meta__/code.md, narrowed by the code-<prefix>.md namespace spec for the code rule's prefix. No checker is wired up, so this is done by reading.

Notes

Focus on Actionable Feedback

  • Provide specific, actionable feedback on actual lines of code
  • Avoid general comments without code references
  • Reference specific file paths and line numbers
  • Suggest concrete improvements

Code Rule Compliance is Critical

Code rule violations should be treated seriously as they:

  • Reduce codebase consistency
  • Make maintenance harder
  • May introduce security vulnerabilities, in the code that parses documents from outside this repository above all
  • Conflict with established architectural decisions

Always run the code rule compliance review (section 6) as part of every code review.

Review Priority

Sections are ordered by priority — review from top to bottom:

  1. Security concerns (§1, highest priority)
  2. Principles violations (§2)
  3. Potential bugs and unhandled failure paths (§3–4)
  4. Backwards compatibility (§5)
  5. Code rule violations (§6)
  6. Testing (§7)
  7. Performance (§8)
  8. Documentation, dead code, and inconsistencies (§9–11)

Next Steps

After completing the code review:

  1. Provide clear, prioritized feedback
  2. Distinguish between blocking issues (bugs, security) and suggestions (style, performance)
  3. Reference specific patterns from docs/code/ when flagging violations
  4. Suggest using /code-format, /code-check, and /code-test to validate fixes

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.