agentleFS
nesnilnehcnesnilnehc/ai-cortex/skills/review-codebase/SKILL.md

review-codebase

Skill8 starsChanged 2 months agoMITView on GitHub

Review given file/dir/repo for current-state code organization: module boundaries, design patterns, cross-module dependencies, tech debt, and interface stability. Scope-only atomic skill; output is a findings list.

3 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

6 rules. 0 are common, 5 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use the named path without a confirmation prompt.

    line 76
  2. Very specific:

    Every finding must carry a file:line reference.

    line 88
  3. Distinctive:

    When the analysis turns up a concrete security / performance / architecture / language / framework problem: flag it and point at the …

    line 92
  4. Distinctive:

    Large-scope summary: when organized by layer, emit the findings count and severity distribution for each layer

    line 114
  5. Distinctive:

    Do not assume "the diff only" — by default this skill reviews the complete current state of the given scope

    line 122
  6. Distinctive:

    Use no vague language ("might be a problem", carrying neither a type nor a direction → delete it)

    line 126

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

Skill: Review Codebase

Purpose

Run a scope-only atomic review of the current state of a given path (a single file / a directory / a repository). Paired with review-diff (which reviews git changes only), it is one of the two scope-step candidates for orchestrate-code-review — this skill looks at the snapshot, review-diff looks at the change.

Not done here: cognitive dimensions such as security / performance / architecture (the cognitive-step atomic skills review-security / review-performance / review-architecture take those), and language- or framework-specific analysis (the language / framework steps take that).


Core Objective

Primary goal: produce a scope-only findings list that identifies the structural problems in a given path (boundaries, patterns, dependencies, tech debt, interfaces).

Success criteria (all of them must hold):

  1. ✅ Scope resolved: use the user's path or directory, or the repository root when no narrower scope is named
  2. ✅ 5 dimensions covered: findings are emitted for module boundaries, pattern consistency, cross-module dependencies, tech debt and interface stability
  3. ✅ Precise locations: every finding carries a file:line reference
  4. ✅ Format conformant: every finding conforms to Findings Spec §5.1; category is scope.
  5. ✅ Large scopes handled: for a repository-level scope, emit by layer (module / directory), or settle a priority subset with the user
  6. ✅ No overreach: no security / performance / architecture / language / framework cognitive findings are emitted (they are flagged, pointing at the matching atomic skill)

Scope Boundaries

This skill owns:

  • Structural review of the current state of the given path
  • Findings across 5 dimensions: module boundaries, pattern consistency, cross-module dependency and coupling, tech debt and maintainability, interface stability

This skill does not own:

  • Reviewing git changes alone (use review-diff)
  • The full orchestrated review (use orchestrate-code-review)
  • Language- / framework-specific conventions (use review-<lang> / review-<framework>)
  • The security / performance / architecture cognitive dimensions (use review-security / review-performance / review-architecture)

Handoff point: once the findings are out, they feed the scope step of orchestrate-code-review for aggregation, or go to the user to decide what follows (refactoring / a deeper review).


Use Cases

  • New module review: given src/auth/, look at the current structure and dependencies
  • Legacy path audit: given a path, look at tech debt and boundary problems
  • Sampled review: a file or directory a colleague names, with no diff needed
  • As the scope step of orchestrate-code-review: this one or review-diff, never both

Behavior

Scope resolution

  • The input defines the scope: a single file / a directory / the repository root / several paths, named by the user
  • No dependence on a diff: analyze the current file content; a diff the user supplies is context only, not a requirement

Scope defaults

ItemDefaultHow the user departs from it
PathRepository rootChoose: [repository root] / [the current file's directory] / [list the top-level directories and pick]
Large-scope handlingEmit by layer (module / directory)Choose a priority subset (from the top-level directory list)

Use the named path without a confirmation prompt. For a repository-wide review, work by layer unless the user names a subset; ask only if the requested scope cannot be identified.

The 5 dimensions

For the code in scope (at the layer / subset the user chose), emit findings on these dimensions:

  1. Module boundaries: whether module / service boundaries are clear, whether responsibilities are single, whether the dependency direction is sound
  2. Pattern consistency: whether patterns are used aptly and match the repository's existing style
  3. Cross-module dependency and coupling: dependency relations, cyclic dependencies, degree of coupling
  4. Tech debt and maintainability: duplication, complexity, testability, the current state of docs and comments, code with no apparent caller, and deprecation markers still in place
  5. Interface stability: how clear and how stable a module's outward interface is

Every finding must carry a file:line reference.

Flagging out-of-scope findings

When the analysis turns up a concrete security / performance / architecture / language / framework problem: flag it and point at the matching atomic skill, without opening the analysis. For example:

Potential SQL injection risk detected (user input concatenated without escaping); suggest running review-security

Two tech-debt observations are worth calling out because this Skill is usually the first to meet them and neither is settled by reading the code. A symbol with no apparent caller may be reached by reflection or named in configuration, so deciding it needs a runtime signal over a full business cycle; a deprecation marker is decided by the owner, removal point and replacement recorded beside it. Report the observation with its location and route the decision:

jobs/settlement.py:18 defines a class no call site in scope reaches, and config/jobs.yaml names handlers as strings; suggest running review-architecture, which decides it under ARC-010 with the evidence that item requires

api/v1/search.py:7 carries a deprecation marker recording neither an owner nor a removal point; suggest running review-architecture, which decides it under ARC-011


Input and Output

Input

  • Path: one or more file / dir paths
  • Optional: a focus hint ("concentrate on module boundaries", for example)

Output

  • Findings list: conforms to Findings Spec §5.1; category is scope.
  • Large-scope summary: when organized by layer, emit the findings count and severity distribution for each layer

Restrictions

Hard boundaries

  • Do not assume "the diff only" — by default this skill reviews the complete current state of the given scope
  • Emit no cognitive-dimension findings (security / performance / architecture)
  • Emit no language- / framework-specific findings
  • Emit no finding that lacks a file:line reference
  • Use no vague language ("might be a problem", carrying neither a type nor a direction → delete it)

Skill boundaries

Not done here (other atomic skills own it):

  • Reviewing git changes → review-diff
  • Full-dimension orchestration → orchestrate-code-review
  • Language conventions → review-<lang>
  • Framework conventions → review-<framework>
  • Security / performance / architecture → review-security / review-performance / review-architecture

Self-Check

  • The review scope was resolved from the request or the documented default
  • A large scope was emitted by layer, or a priority subset was settled
  • All 5 dimensions are covered (module boundaries / patterns / dependencies / tech debt / interfaces)
  • Every finding carries a file:line reference
  • No cognitive / language / framework dimension finding was emitted (they are flagged only, pointing at the matching atomic skill)
  • The output conforms to Findings Spec §5.1.

Examples

Example 1: a single directory

  • Input: src/auth/
  • Output: findings across the 5 dimensions, grouped by file, each carrying a reference of the auth.go:42 kind; a weak crypto algorithm is flagged only, pointing at review-security

Example 2: a single file

  • Input: pkg/validator/validator.go
  • Output: findings on module responsibility / interface clarity / test coverage / dependencies on upstream modules, and so on

Example 3: the whole repository (large scope)

  • Input: the repository root
  • Behavior: first emit a findings summary table by layer (top-level directory), then have the user pick a priority subset to go deeper on
  • Output: the layer summary plus detailed findings for the priority subset

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.