agentleFS
Agentic-AssetsAgentic-Assets/apple-mail-mcp/.agents/skills/reviewing-code/SKILL.md

reviewing-code

Skill0 starsChanged 4 months agoMITView on GitHub

Review code for quality, maintainability, and correctness. Use when reviewing pull requests, evaluating code changes, or providing feedback on implementations. Focuses on API design, patterns, and actionable feedback.

15 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use auditing-security, writing-tests and 1 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.
  • witi-projectsSkill

    auditing-security

    Perform a systematic security audit of a codebase, checking for OWASP Top 10 vulnerabilities, secrets exposure, and insecure patterns. Use when the user says "/auditing-security", "auditing security", or asks about auditing security.

    Also in 4 projects that use this

  • MicrosoftSkill

    writing-tests

    Apply this repository's test policy when you add or change tests. Test public behavior through public APIs and test utilities. Keep tests deterministic, fast, and independent of real I/O. Use unit tests for implementation details that public APIs cannot exercise.

    Also in 4 projects that use this

  • BlockSkill

    debugging

    Debugging guidelines and best practices

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 3 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 15 edited versions we read keep these.

  • 3

    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:

    When a PR adapts code to a new version of a dependency (e.g., removing a parameter that was dropped upstream, using a new API):

    line 24
  2. Very specific:

    The version pin in pyproject.toml must match: If the change breaks compatibility with the previously-pinned minimum version, the minimum …

    line 25
  3. Distinctive:

    Check against established patterns: Look for consistency with codebase conventions

    line 48
  4. Distinctive:

    If something needs work, your review should help it get there through specific, actionable feedback.

    line 80

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

Philosophy

Code review maintains a healthy codebase while helping contributors succeed. The burden of proof is on the PR to demonstrate it adds value. Your job is to help it get there through actionable feedback.

Critical: A perfectly written PR that adds unwanted functionality must still be rejected. The code must advance the codebase in the intended direction. When rejecting, provide clear guidance on how to align with project goals.

Be friendly and welcoming while maintaining high standards. Call out what works well. When code needs improvement, be specific about why and how to fix it.

What to Focus On

Does this advance the codebase correctly?

Even perfect code for unwanted features should be rejected.

Dependency version compatibility

When a PR adapts code to a new version of a dependency (e.g., removing a parameter that was dropped upstream, using a new API):

  • The version pin in pyproject.toml must match. If the change breaks compatibility with the previously-pinned minimum version, the minimum version must be bumped. Otherwise users on the old version get a regression.
  • If backwards compatibility with the old version is desired, the code must handle both versions (e.g., try/except, version check). Simply deleting the old API usage without bumping the pin is always wrong — it silently breaks users on the old version.
  • Dependency edits should be scoped to the PR's purpose. This repo has no lock file — pyproject.toml is the only pin — so an unrelated bump there is pure diff noise. fastmcp is pinned to an exact version; moving that pin is a behavior change needing its own justification and a dev-check.sh release run, not a drive-by edit.

API design and naming

Identify confusing patterns or non-idiomatic code:

  • Parameter values that contradict defaults
  • Mutable default arguments
  • Unclear naming that will confuse future readers
  • Inconsistent patterns with the rest of the codebase

Specific improvements

Provide actionable feedback, not generic observations.

User ergonomics

Think about the API from a user's perspective. Is it intuitive? What's the learning curve?

For Agent Reviewers

  1. Read the full context: Examine related files, tests, and documentation before reviewing
  2. Check against established patterns: Look for consistency with codebase conventions
  3. Verify functionality claims: Understand what the code actually does, not just what it claims
  4. Consider edge cases: Think through error conditions and boundary scenarios

What to Avoid

  • Generic feedback without specifics
  • Hypothetical problems unlikely to occur
  • Nitpicking organizational choices without strong reason
  • Summarizing what the PR already describes
  • Star ratings or excessive emojis
  • Bikeshedding style preferences when functionality is correct
  • Requesting changes without suggesting solutions
  • Focusing on personal coding style over project conventions

Tone

  • Acknowledge good decisions: "This API design is clean"
  • Be direct but respectful
  • Explain impact: "This will confuse users because..."
  • Remember: Someone else maintains this code forever

Decision Framework

Before approving, ask:

  1. Does this PR achieve its stated purpose?
  2. Is that purpose aligned with where the codebase should go?
  3. Would I be comfortable maintaining this code?
  4. Have I actually understood what it does, not just what it claims?
  5. Does this change introduce technical debt?

If something needs work, your review should help it get there through specific, actionable feedback. If it's solving the wrong problem, say so clearly.

Comment Examples

Good comments:

Instead ofWrite
"Add more tests""The handle_timeout method needs tests for the edge case where timeout=0"
"This API is confusing""The parameter name data is ambiguous - consider message_content to match the MCP specification"
"This could be better""This approach works but creates a circular dependency. Consider moving the validation to utils/validators.py"

Checklist

Before approving, verify:

  • Local gates green: bash tools/gates/dev-check.sh (release tier before shipping)
  • Changes align with repository patterns and conventions
  • API changes are documented and backwards-compatible where possible
  • Error handling follows project patterns (specific exception types)
  • Tests cover new functionality and edge cases
  • The change advances the codebase in the intended direction

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.