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
- doggy8088/spec-kittheir own version, first seen Nov 9, 2026
- strelov1/freehiretheir own version, first seen Nov 9, 2026
- storybookjs/storybooktheir own version, first seen Nov 8, 2026
- codewithmukesh/dotnet-claude-kittheir own version, first seen Nov 8, 2026
- supabase/supabasetheir own version, first seen Nov 8, 2026
- The-Vibe-Company/quivrtheir own version, first seen Nov 8, 2026
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.
dzhngSkillclose-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
dzhngSkilldesign-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
PydanticSkilladd-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-bullshitSkillcompare-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 AzureSkillazsdk-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 AzureSkillazsdk-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
Other versions194 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 194
- mattpocock/skills★ 309ksame name
- TheAlgorithms/Python★ 226ksame name
- microsoft/vscode★ 195ksame name
- github/spec-kit★ 149ksame name
- ggml-org/llama.cpp★ 134ksame name
- supabase/supabase★ 115ksame name
- storybookjs/storybook★ 91ksame name
- shareAI-lab/analysis_claude_code★ 80ksame name
- shareAI-lab/learn-claude-code★ 80ksame name
- vectorize-io/hindsight★ 60ksame name
184 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository5 other files it gives its agents.
- .github/copilot-instructions.mdCopilot instructions
- docs-reviewSkill
- nacelle-reviewSkill
- planningSkill
- pr-descriptionSkill
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
- Distinctive: line 13
Read the repository instructions, including the general communication and documentation styles.
- Distinctive: line 19
Use both workflows for mixed changes, without reporting the same issue twice.
- Distinctive: line 46
Read the diff and relevant implementation before adopting the author's account of its behavior.
- Distinctive: line 55
Keep a compact behavioral evidence ledger, not only a file inventory.
- Distinctive: line 73
Keep records concise and free of secrets.
- Distinctive: line 76
Read and update the existing ledger when resuming a review.
- Distinctive: line 93
Prefer the existing specialized review agents.
- Distinctive: line 102
Use the assigned reviewer for needed follow-up instead of repeating its investigation.
- Distinctive: line 104
Wait for every assigned review before declaring its scope complete.
- Distinctive: line 131
Do not expand the review into unrelated cleanup or a repository-wide audit.
- Distinctive: line 132
Check sibling paths when a changed contract affects them, but identify pre-existing issues separately from regressions caused by the change.
- Distinctive: line 141
Before reporting a finding:
- Distinctive: line 144
Verify the violated contract or requirement in code, tests, or authoritative documentation.
- Distinctive: line 147
Check whether a focused test, reproduction, or existing validation result confirms or disproves the concern.
- Distinctive: line 151
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 …
- Distinctive: line 158
Do not treat an unproven scenario, unmeasured optimization, or personal style preference as a verified defect.
- Distinctive: line 165
Use the checks required by the applicable instructions and the change's blast radius.
- Distinctive: line 176
Do not install tooling, update dependencies, or modify source files.
- Distinctive: line 182
Before declaring the requested scope complete, reconcile the high-risk ledger rows against concrete production paths and evidence.
- Distinctive: line 198
Do not invent findings to fill a quota.
- Distinctive: line 205
Do not post comments, approve or reject a PR, create commits, or push changes unless the user explicitly requests the corresponding action.
“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.
Files
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:
- Trace the relevant input and execution path through callers and guards.
- Verify the violated contract or requirement in code, tests, or authoritative documentation.
- Identify the observable consequence and affected conditions.
- Check whether a focused test, reproduction, or existing validation result confirms or disproves the concern.
- 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.
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
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.

