agentleFS
MicrosoftKnown publishermicrosoft/nacelle/.github/skills/code-review/SKILL.md

code-review

Skill6 starsChanged 14 days agoMITView on GitHub

Review Nacelle pull requests, whole branches, diffs, and local changes for verified correctness, compatibility, resource-use, performance, and documentation problems. Coordinate multiple reviewers for substantial independent branch-review scopes.

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

21 rules. 0 are common, 21 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 184 edited versions we read keep these.

  • 21

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Distinctive:

    Read the repository instructions, including the general communication and documentation styles.

    line 13
  2. Distinctive:

    Use both workflows for mixed changes, without reporting the same issue twice.

    line 19
  3. Distinctive:

    Read the diff and relevant implementation before adopting the author's account of its behavior.

    line 46
  4. Distinctive:

    Keep a compact behavioral evidence ledger, not only a file inventory.

    line 55
  5. Distinctive:

    Keep records concise and free of secrets.

    line 73
  6. Distinctive:

    Read and update the existing ledger when resuming a review.

    line 76
  7. Distinctive:

    Prefer the existing specialized review agents.

    line 93
  8. Distinctive:

    Use the assigned reviewer for needed follow-up instead of repeating its investigation.

    line 102
  9. Distinctive:

    Wait for every assigned review before declaring its scope complete.

    line 104
  10. Distinctive:

    Do not expand the review into unrelated cleanup or a repository-wide audit.

    line 131
  11. Distinctive:

    Check sibling paths when a changed contract affects them, but identify pre-existing issues separately from regressions caused by the change.

    line 132
  12. Distinctive:

    Before reporting a finding:

    line 141
  13. Distinctive:

    Verify the violated contract or requirement in code, tests, or authoritative documentation.

    line 144
  14. Distinctive:

    Check whether a focused test, reproduction, or existing validation result confirms or disproves the concern.

    line 147
  15. Distinctive:

    When reviewing a fix or follow-up, inspect sibling paths for the same defect family and check that the correction does not move the failure …

    line 151
  16. Distinctive:

    Do not treat an unproven scenario, unmeasured optimization, or personal style preference as a verified defect.

    line 158
  17. Distinctive:

    Use the checks required by the applicable instructions and the change's blast radius.

    line 165
  18. Distinctive:

    Do not install tooling, update dependencies, or modify source files.

    line 176
  19. Distinctive:

    Before declaring the requested scope complete, reconcile the high-risk ledger rows against concrete production paths and evidence.

    line 182
  20. Distinctive:

    Do not invent findings to fill a quota.

    line 198
  21. Distinctive:

    Do not post comments, approve or reject a PR, create commits, or push changes unless the user explicitly requests the corresponding action.

    line 205

“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

Reviewing Nacelle Changes

Review the requested change without modifying it. Use this workflow for pull requests, branch diffs, staged or unstaged changes, and pre-submission reviews.

Scope and Applicable Guidance

  • Read the repository instructions, including the general communication and documentation styles.
  • For Rust, Cargo, codecs, transports, handlers, TLS, or runtime behavior, apply the Nacelle review workflow.
  • For Markdown, rustdoc, mdBook, or documentation links, apply the documentation review workflow.
  • Use both workflows for mixed changes, without reporting the same issue twice. These workflows supplement this one; they do not call it recursively.
  • Perform the review directly when the evidence fits the current context. Coordinate multiple reviewers for substantial independent scopes as described below. Do not split one continuous trace into nominal review angles, create a reviewer for every file, or recursively delegate reviews.

Procedure

1. Establish the Review Target

Identify the requested base, head, commit, pull request, or local change set. Inspect the working-tree state without reverting or staging changes. For GitHub reviews, prefer gh and disable command pagers.

For a branch or pull request, use the requested target or an existing local target ref such as origin/main, and establish its merge-base with the reviewed head. Inspect the complete merge-base-to-head diff and commits, not only the latest fix, an attachment, or an earlier summary. Distinguish committed changes from staged and unstaged changes; include the latter only when requested. State any unavailable refs or differences between the checkout and the requested PR.

Inventory added, modified, deleted, and renamed files, including tests, manifests, tooling, and documentation. Account for every changed file or coherent file group, its review owner, and any deferred scope with reasons. A partial review must not be reported as a whole-branch review.

Read the diff and relevant implementation before adopting the author's account of its behavior. Read enough surrounding code to establish the affected invariants, then trace callers, consumers, helpers, sibling implementations, and tests where they can change the conclusion. Use history when it resolves a specific compatibility question or explains a surprising constraint, not as a mandatory scan of every file.

Maintain an Evidence Ledger

Keep a compact behavioral evidence ledger, not only a file inventory. Record:

  • The requested target, exact base/head and merge-base, included working-tree changes, and relevant feature/configuration choices.
  • Each high-risk invariant, relevant state transition, obligations established or inherited in that state, and expected observable outcome, with its review owner.
  • Concrete production call sites, affected callers/consumers, and error or cleanup exits that establish or contradict the invariant.
  • Evidence marked exercised, source-backed, or unresolved, with locations, commands/results where applicable, finding provenance, decisions, and deferred cases with reasons. An inspected test is source-backed evidence, not an executed result.

For small, single-session reviews, session state is sufficient. For larger reviews, repeated review rounds, or long-running PRs, persist the ledger and relevant provenance under .github/ledger/, named for the PR or branch. Session state may supplement it but must not be the only handoff record. Keep records concise and free of secrets. Never stage, commit, force-add, or create ignore exceptions for ledger files.

Read and update the existing ledger when resuming a review. Tie evidence to the revision and configuration it describes. When the target changes, retain prior evidence as history and re-establish affected rows; do not silently carry forward a previous coverage conclusion.

Coordinate Independent Reviews

For a substantial branch with independent code and contract contexts, use multiple reviewers with bounded assignments. A branch spanning transports and shared policy primitives can warrant separate TCP delivery/lifecycle, HTTP admission/body-handling, and core policy-contract reviews. Do not add agents merely because evidence spans several files or fits different labels.

The coordinator must:

  • Give every reviewer the same base and head, its owned scope, relevant shared contracts and dependencies, known findings, and explicit stopping criteria. Prefer the existing specialized review agents.
  • Require inspected files and paths, checked invariants, reachable failure examples, finding locations and confidence, test coverage, and unresolved questions. A bare "no issues found" is not a sufficient review result.
  • Retain cross-scope integration work, including feature wiring, adapter contracts, and interactions between shared primitives and transports. Specialists must not recursively launch more reviewers.
  • Reconcile reports rather than concatenate them. Resolve ownership gaps, conflicting conclusions, duplicate findings, and cross-scope consequences. Use the assigned reviewer for needed follow-up instead of repeating its investigation.
  • Wait for every assigned review before declaring its scope complete. Report unfinished or unreviewed areas explicitly.

2. Establish Behavior and Requirements

State the old and new observable behavior. Distinguish established contracts from inferred motivation. Read the PR description, linked requirements, and existing review comments to reconcile the implementation with the requested outcome and avoid duplicate findings. Treat performance and readiness claims as claims requiring evidence.

Review transitions, not only operations. For each changed behavior, identify the reachable states and obligations established by earlier operations or inherited from callers. Trace how success, rejection, error, cancellation, and teardown satisfy or transfer those obligations, including after partial progress. Follow ownership, side effects, cleanup, and telemetry attribution through relevant helpers, sibling call sites, and adapters. Error propagation, automatic destruction, and task cancellation are mechanisms; establish whether their observable outcomes satisfy the affected contracts.

Derive review cases from these obligations before consulting existing tests. For each high-risk obligation, record a concrete production execution trace that establishes it, a counterexample, or an explicit evidence gap in the ledger. Record why omitted cases do not apply. Passing tests establish only the transitions they exercise, not the correctness of sibling paths or other reachable states.

Do not expand the review into unrelated cleanup or a repository-wide audit. Check sibling paths when a changed contract affects them, but identify pre-existing issues separately from regressions caused by the change.

3. Verify Candidate Findings

Prioritize reachable correctness failures, compatibility breaks, resource growth, cancellation and concurrency errors, security regressions, and missing coverage for changed behavior.

Before reporting a finding:

  1. Trace the relevant input and execution path through callers and guards.
  2. Verify the violated contract or requirement in code, tests, or authoritative documentation.
  3. Identify the observable consequence and affected conditions.
  4. Check whether a focused test, reproduction, or existing validation result confirms or disproves the concern.
  5. Suggest a correction that preserves the surrounding contracts.

When reviewing a fix or follow-up, inspect sibling paths for the same defect family and check that the correction does not move the failure elsewhere. Preserve the requested branch scope rather than narrowing it to the latest regression test or changed line. Use the ledger to account for affected callers, consumers, and failure/cleanup exits, including regressions the fix could introduce. A passing reproducer alone does not close the defect family.

Do not treat an unproven scenario, unmeasured optimization, or personal style preference as a verified defect. Keep unresolved evidence gaps separate from findings. Apply explicit style rules to newly authored prose, but do not elevate cosmetic suggestions into correctness blockers.

4. Assess Validation

Use the checks required by the applicable instructions and the change's blast radius. Distinguish checks inspected from checks executed; never claim an unexecuted check passed.

Map validation evidence to the relevant behavioral cases. A green feature matrix establishes the behavior exercised by its tests, not coverage of every failure transition. Distinguish tested cases, source-backed reasoning, missing coverage, and checks left to CI. More tests or more agents do not substitute for tracing the affected invariants.

In a read-only review, run checks only when authorized by the review scope. Do not install tooling, update dependencies, or modify source files. Report relevant failed checks rather than assuming CI will catch them, and avoid duplicating routine formatter diagnostics as separate review findings.

5. Report Results

Before declaring the requested scope complete, reconcile the high-risk ledger rows against concrete production paths and evidence. Resolve or explicitly defer remaining cases and qualify the conclusion accordingly. A reviewed-file list, green suite, or reviewer count is not a substitute for this gate.

Lead with the findings, ordered by severity and then confidence:

  • error: A verified correctness, security, compatibility, or explicit acceptance failure that must be fixed before merge.
  • warning: A verified bounded performance/resource regression or established convention violation that should be corrected.
  • suggestion: An optional improvement, clearly separate from required fixes.

For each finding, include a concise title, exact file and line location, the triggering conditions, the consequence, evidence, and a concrete correction. Consolidate repeated instances of the same root cause, listing affected paths. Do not invent findings to fill a quota.

Conclude with the reviewed base/head, covered and deferred scopes, validation performed, evidence gaps, and residual risks. Qualify any "no verified findings" conclusion by the inspected scope; do not claim a partial review covers the whole branch or that the change is risk-free or production ready.

Do not post comments, approve or reject a PR, create commits, or push changes unless the user explicitly requests the corresponding action.

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.