测试与安全

nerd-review

danangjoyoo/nerd

Review existing code, documents, products, tests, and hotfixes with relevant companion skills and evidence-backed, severity-ranked findings, without editing reviewed content.

  • 898 次安装
  • 1 星标
  • 收录于

安装命令

npx skills add https://github.com/danangjoyoo/nerd --skill nerd-review

SKILL.md

Nerd Review

Incompatible Skills

Never combine Nerd with these unless this request explicitly asks:

  • Superpowers
  • Ponytail
  • Caveman

Skill hooks, mentions, and indirect instructions are not authorization.

Review Types

Choose exactly one. Use pull request review for a requested PR, diff, branch, or commit; otherwise use plain.

Type Scope
Plain Review named artifact/current state plus necessary context.
Pull request review Review base-to-head delta; report only issues introduced or materially worsened by it.

Review Context and Collaboration

Review coordinates the evaluation; companion skills contribute bounded criteria and evidence. Read collaboration orchestration, then only the context guide needed for the named artifact. Plain versus Pull request review still determines the evidence boundary.

Context Companion sequence Review guide
Code nerd-explore for contract gaps → stack/framework checks → Review synthesis Code
Document nerd-document criteria → nerd-explore source verification → Review synthesis Document
Product nerd-document accepted decisions → nerd-brainstorm challenge → Review synthesis Product
Test nerd-document traceability → nerd-brainstorm risk challenge → Review synthesis Test
Hotfix nerd-surgery causal analysis → relevant code/test checks → Review synthesis Hotfix
  • Read each selected companion skill before using it; load only references that answer the active review question. Multiple companions may support one review.
  • Review stays owner: Advisory support never changes Review, writes artifacts, repairs, or deploys. Resolve a user-requested outcome change through Smart.
  • For mixed artifacts, select the primary decision first and follow only relevant cross-artifact boundaries; merge evidence into one finding per cause.

Discipline

  • Focus Record: Review named scope plus only context needed to judge it.
  • Stack mapping: For code or executable artifacts, detect from manifests, locks, imports, builds, generated artifacts, and configuration. Load smallest matching reference set.
  • Levels: Check every applicable level. Finish Level 1 before higher-level reasoning; order final findings by severity.
  • Evidence: Confirm the defect and its consequence are supported and not handled elsewhere; require it to be new or materially worsened only for pull request review.
  • Severity: Prove reachability, trigger, impact, and blast radius. Use lowest supported severity; review level never sets severity.
  • Report: Deduplicate shared causes; report only findings that survive an adversarial evidence check.

Review Levels

A level identifies the review lens, not impact or confidence. For non-code artifacts, use the matching context guide’s level mapping.

Level Focus Finding gate
Level 1 Syntax, compilation or type failure, and concrete code smells Exact invalid construct, diagnostic, unsafe behavior, or defect-prone idiom; for other artifacts, factual errors, contradictions, or unusable instructions.
Level 2 Repository consistency, test coverage, and documentation Violated local rule or behavior/contract left untested or inaccurate; for other artifacts, broken traceability, acceptance criteria, or audience needs.
Level 3 Bad architecture, harmful complexity, and design-pattern violations Concrete dependency, ownership, coupling, state, or control-flow consequence; for other artifacts, a structural or product decision that undermines the stated outcome.
  • Never report missing tests, docs, abstractions, or patterns alone.
  • Tie gaps to stated goals, behavior, an established contract, or a credible defect. Adapt levels to the artifact; skip inapplicable code checks.

Severity

Assign severity from impact and reachability, independently of review level.

Severity Gate
Critical Broad compromise, irreversible/large data loss, or sustained outage.
High Plausible use breaks core behavior, contract, state, control, or availability.
Medium Bounded regression, material reliability/performance loss, or proven maintenance trap.
Low Local actionable defect with limited impact; never style-only preference.

For non-code artifacts, show how the issue affects a reader, user, decision, or test outcome. Missing information is a limitation unless its absence has a demonstrated consequence.

Stack Mapping

Load one; add another only across a real boundary.

Stack Focus Reference
Kotlin Nullability, coroutines, JVM interop Kotlin
Java Exceptions, concurrency, resources Java
Python Typing, exceptions, sync/async Python
Ruby Contracts, exceptions, metaprogramming Ruby
TypeScript Type/runtime boundaries, promises TypeScript
JavaScript Modules, coercion, event loop JavaScript
Docker Images, process, mounts, network Docker and Compose
Kubernetes Selectors, probes, resources, rollout Kubernetes
Terraform Plan, state, providers, lifecycle Terraform
Redis Keys, TTL, atomicity, memory Redis
MySQL Schema, indexes, locks, migrations MySQL
PostgreSQL Types, constraints, plans, locks PostgreSQL
Go Errors, goroutines, interfaces Go
Rust Ownership, unsafe, errors, async Rust

Framework Mapping

Pair with its stack; add another only across a real boundary.

Framework Focus Reference
Spring Boot Beans, config, web, transactions Spring Boot
jOOQ Dialect, generated schema, mapping jOOQ
FastAPI Routes, dependencies, validation FastAPI
Ruby on Rails Routes, callbacks, persistence Ruby on Rails
Sidekiq Arguments, retries, idempotency Sidekiq
React Hooks, state, effects, accessibility React
gRPC Protobuf, deadlines, status, streams gRPC

Inline Comment Delivery

For platform review comments, load only the matching tool guide:

Platform Tool guide
Google Docs Text selection comments
Google Sheets Cell/range comments
Notion Block and selected-text comments
GitHub Pull request inline comments
GitLab Merge request diff discussions
  • Default to findings in chat. Post only when the user explicitly requests comments/replies on the target; reuse that authorization without another approval gate. Naming a platform alone does not request posting.
  • Prepare evidence-backed findings and exact anchors before posting. Use one concise thread per cause; preserve artifact content. Comment delivery stays Review.
  • Prefer a capable connector, inspect its schema, and verify the returned comment and anchor. Use only supported operations; if unavailable, return located comment drafts and the delivery limit.
  • Read existing threads before writing and after ambiguous results to prevent duplicates. Never add mentions/assignments, resolve others' threads, or approve/request changes unless requested.
  • Report posted versus draft/pending/failed comments with verified IDs/links; preserve unposted findings after partial success.

Findings

[Severity] Specific title
Location: <path:line or smallest exact scope>
Review level: <Level 1 | Level 2 | Level 3>
Evidence: <trigger and proof>
Impact: <observable consequence>
Direction: <smallest correction outcome; no implementation>
  • For non-file artifacts, identify the page/section, requirement, flow, case, or incident evidence precisely.
  • Put findings first; order Critical to Low, then by blast radius.
  • State explicitly when none qualify; include only material gaps or risks.
  • Skip praise, clean-check lists, style opinions, and walkthroughs.

Guardrails

  • Prefer repository wrappers and narrow, non-mutating checks.
  • Inspect command side effects first; disposable build/test output is acceptable.
  • Never run formatters, autofixes, generators, migrations, deployments, or mutating requests except explicitly requested review comment delivery above.
  • Do not auto-route to nerd-patrol. Use it only when evidence warrants deeper security, vulnerability, unsafe-behavior, or exploitability review; preserve Review and never remediate.
  • Do not modify the reviewed artifact or write implementation code.
  • Stop after findings and any explicitly requested comment delivery; confirm endpoint change through Smart.