agentleFS
sharklandysharklandy/claude-code-starter-kit/skills/domains/code-review/SKILL.md

code-review

Skill0 starsChanged 4 months agoMITView on GitHub

Perform a structured code review of a diff, pull request, or any non-trivial change before it is merged or committed. Trigger on any request to review code, review a diff/PR, or before any non-trivial commit.

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

Files
SKILL.md
<!-- Skill de domaine (vague 2, divulgation progressive) — noyau court, voir reference/ pour le détail -->

Revue de code structurée (noyau)

Ce skill est le noyau court d'un skill à divulgation progressive : il définit le processus et sait quand consulter chaque fichier de reference/, mais ne duplique jamais leur contenu détaillé ici.

Principe directeur : raisonner sur le contexte avant de flaguer

Ne jamais signaler un problème en matchant un pattern à l'aveugle. Avant de flaguer quoi que ce soit, vérifier le contexte réel : une valeur qui ressemble à une entrée dangereuse peut être une constante de configuration serveur jamais exposée à un utilisateur ; une boucle qui semble en O(n²) peut opérer sur une collection dont la taille est bornée par construction. Une checklist de patterns sans ce raisonnement contextuel produit du bruit — c'est précisément ce qui distingue une revue utile d'une liste de faux positifs.

Processus en 4 phases

1. Contexte

Avant de lire une seule ligne de diff : quel est le scope annoncé du changement (description de PR, message de commit, ticket lié si disponible) ? Quelle est l'intention — corriger un bug, ajouter une fonctionnalité, refactorer ? Un changement qui dépasse silencieusement son scope annoncé est en soi un signal à remonter.

2. Revue haut niveau

Avant de descendre ligne par ligne : le changement a-t-il un impact sur l'architecture existante ? Introduit-il un risque de performance identifiable à ce niveau (voir reference/performance.md si le diff touche une boucle, une agrégation, ou un chemin critique) ? La stratégie de test proposée (tests ajoutés ou modifiés) couvre-t-elle le comportement réellement changé, ou seulement le chemin nominal ?

3. Analyse ligne par ligne

Pour chaque fichier modifié, évaluer : logique (cas limites gérés ?), sécurité, maintenabilité (nommage, duplication, complexité), cas limites non couverts par les tests.

  • Si le diff touche une donnée entrante, une authentification, une autorisation, ou toute manipulation de données sensibles → consulter reference/security.md avant de conclure sur ce point, et appliquer son raisonnement contextuel plutôt que de deviner.
  • Si le diff introduit ou modifie une boucle, une agrégation en mémoire, un traitement par lot, ou un chemin exécuté fréquemment → consulter reference/performance.md avant de conclure.
  • Si le diff touche une requête base de données, un ORM, une transaction, ou un schéma → consulter reference/database-queries.md avant de conclure.

4. Synthèse

Regrouper les findings avec un label de sévérité systématique :

  • 🔴 Bloquant — bug de logique avéré, faille de sécurité réelle, perte de données possible. Ne doit pas être mergé tel quel.
  • 🟠 Important — risque significatif mais pas immédiatement destructeur (perf dégradée sur un chemin fréquent, cas limite non couvert sur une fonctionnalité critique).
  • 🟡 Mineur — problème réel mais à faible impact (duplication locale, nommage peu clair).
  • ⚪ Suggestion — amélioration optionnelle, pas un défaut.

Chaque finding doit citer le fichier et la ligne concernés, et préciser le raisonnement contextuel qui justifie le label (pas juste "ceci est un risque de sécurité" sans expliquer pourquoi le contexte le confirme).

Gotchas

  • Un finding qui ne peut pas être justifié par un raisonnement contextuel explicite (uniquement "ce pattern ressemble à X") doit être reformulé en question ouverte à vérifier, pas affirmé comme un bug certain — voir le principe directeur ci-dessus.
  • Une revue qui ne consulte aucun fichier de reference/ alors que le diff touche clairement une requête base de données ou une entrée utilisateur est incomplète — vérifier systématiquement les conditions de renvoi de la phase 3 avant de conclure à une synthèse.
  • Les zones critiques du projet (auth, paiement, migrations...) n'ont pas à être listées ici à la main : le subagent code-reviewer les apprend au fil des revues et les consigne dans sa mémoire de projet (.claude/agent-memory/code-reviewer/) — la consulter quand elle existe, et appliquer une sévérité renforcée à toute zone qui y figure.

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.