From lattice
Performs structured code reviews by composing checklists from atoms based on code changes: clean-code always, architecture/DDD/security/tests conditionally. Outputs severity-ordered reports with locations and fixes. For 'review this', 'code review', or PRs.
npx claudepluginhub techygarg/lattice --plugin latticeThis skill uses the workspace's default tool permissions.
Load/apply skills based on scope (see Step 2 for conditional loading):
Analyzes code changes for quality issues via cleanup reports on technical debt and multi-perspective reviews from maintainer, architect, security, and performance viewpoints. Use before merges or PRs.
Reviews and verifies code before merge via triage-first checks (up to 16 parallel agents). Pipeline mode verifies vs plans; general mode for PRs/branches/staged changes. Flags findings only.
Provides structured code reviews for pull requests and changes, delivering actionable feedback on bugs, security, performance, and maintainability to foster collaboration.
Share bugs, ideas, or general feedback.
Load/apply skills based on scope (see Step 2 for conditional loading):
framework:knowledge-priming -- Load project context (tech stack, architecture, conventions) to evaluate against real standards (always loaded)framework:collaborative-judgment -- Surface borderline findings with both interpretations instead of silently classifying (always loaded)framework:clean-code -- Code craft: SRP, naming, complexity, error handling (always loaded)framework:architecture -- Structural: layer rules, dependency direction, architectural flows (conditional)framework:domain-driven-design -- Domain modeling: aggregates, entities, value objects (conditional)framework:secure-coding -- Security: trust boundaries, injection, secrets, input handling (conditional)framework:test-quality -- Test: AAA structure, isolation, assertions, naming (conditional)Review molecule supports optional config thru review-standards doc from review-refiner (or hand-written). Configures review process — not what atoms check (that's atom-level config via atom refiners).
Resolution steps:
.lattice/config.yaml in repo root.paths.review_standards.mode:
mode: overlay: Read embedded defaults first, then apply doc's sections on top. Sections matched by heading — custom replaces matching defaults, new appended.mode: override (or no mode): Custom doc full precedence. Must be comprehensive.Review-standards doc has 7 sections map to workflow steps:
| Section | Affects step |
|---|---|
| §1 Atom Loading Policy | Step 2 (Load Relevant Atoms) |
| §2 Severity Classification | Step 4 (Produce Report) |
| §3 Report Preferences | Step 4 (Produce Report) |
| §4 Scope Rules | Step 1 (Identify the Delta) |
| §5 Insight Capture Preferences | Step 5 (Capture Insights and Log Review) |
| §6 Health Log Preferences | Step 5 (Capture Insights and Log Review) |
| §7 Custom Review Dimensions | Step 3 (Run Targeted Validation) |
Each step notes where config applies with "Config override" callouts. When no review-standards doc exists, ignore callouts & use defaults.
Determine what code reviewing & establish scope.
git diff for changed files/lines. Delta is changes, not entire codebase.Classify delta:
architecture loads.domain_folder or containing aggregates, entities, value objects) -- determines if domain-driven-design loads.secure-coding loads.test-quality loads.Config override (§4 Scope Rules): If review-standards doc defines scope rules, apply after identifying delta:
Always load: framework:clean-code -- applies to all code regardless of layer/purpose.
Conditionally load based on delta classification:
| Condition | Load | Why |
|---|---|---|
| Delta touches multiple layers, adds new files, or changes file locations | framework:architecture | Structural changes can break dependency direction or layer responsibilities |
| Delta includes files in domain folder or modifies domain objects | framework:domain-driven-design | Domain changes can break aggregate boundaries, anemic models, or invariant enforcement |
| Delta touches trust boundaries (HTTP handlers, auth, DB queries, external APIs, secrets, config) | framework:secure-coding | Security-sensitive code needs injection, validation, and secrets checks |
| Delta includes test files | framework:test-quality | Test code has own quality standards (AAA, isolation, naming) |
When multiple atoms load, run independently -- each atom's checklist applied to parts of delta relevant to it. Findings from different atoms merged Step 4.
Config override (§1 Atom Loading Policy): If review-standards doc defines atom loading rules, apply instead of (override) or on top of (overlay) table above:
secure-coding every review). clean-code and knowledge-priming must remain always-loaded regardless of config.For each loaded atom, apply two passes against delta:
Pass 1 -- Self-Validation Checklist: Walk thru atom's Self-Validation Checklist (numbered items in atom's SKILL.md). For each check, examine if any code in delta violates. Record violations with:
Pass 2 -- Anti-Pattern Scan: Walk thru atom's Active Anti-Pattern Scan (checkbox items in atom's SKILL.md). For each anti-pattern, check if delta exhibits symptom. Record matches with:
Scope rule: Focus on delta. Don't review unchanged code unless change in delta creates new violation in surrounding code (e.g., new dependency breaks dependency rule for existing file). When reviewing surrounding code, note finding originates from delta's impact, not pre-existing issues.
Config override (§7 Custom Review Dimensions): If review-standards doc defines custom review dimensions, run after atom validation passes:
Default to summary mode. Use full mode if user asked for detailed/comprehensive review.
Summary mode (default):
Present top issues ordered by severity, one line each. Cap at most important findings -- don't enumerate every minor issue.
For each finding:
[SEVERITY] file:line -- description (atom-name: check-name)
Severity levels:
When finding borderline between severity levels, use framework:collaborative-judgment — note uncertainty inline with both interpretations rather than silently classifying.
End with "What's done well" sentence highlighting something positive about delta -- good naming, proper error handling, clean test structure, correct layer placement. Every review should acknowledge what's working, not just what's broken.
Full mode (when user asks for detailed/comprehensive review):
Organize findings by atom. For each atom loaded:
## Clean Code
- [warning] src/services/OrderService.ts:45 -- Function `processOrder` does validation,
business logic, and persistence (SRP violation). Extract validation into guard clause,
persistence into repository call.
- [suggestion] src/services/OrderService.ts:72 -- Parameter list has 5 arguments.
Group into `ProcessOrderOptions` object.
## Architecture
- [critical] src/domain/Order.ts:12 -- Inner layer imports from outer layer
(`import { DatabaseClient }`). Violates dependency direction rules.
Define an interface in the inner layer, implement in the outer layer.
After all atom sections, add:
Config override (§2 Severity Classification): If review-standards doc defines custom severity levels or per-atom overrides:
Config override (§3 Report Preferences): If review-standards doc defines report preferences:
After presenting report, capture learnings & log review for project health visibility.
Capture Insights — append to .lattice/learnings/review-insights.md:
If recurring patterns or notable findings emerged from review:
.lattice/learnings/ dir if doesn't exist..lattice/learnings/review-insights.md. Create file with # Review Insights heading if doesn't exist.- YYYY-MM-DD [Feature]: Pattern observed — actionable takeawayLog Review — append to .lattice/reviews/review-log.md:
.lattice/reviews/ dir if doesn't exist..lattice/reviews/review-log.md. Create file with # Review Log heading if doesn't exist.## YYYY-MM-DD — [feature/scope name]
- **Scope**: [file count], [layers touched]
- **Atoms**: [atoms loaded for this review]
- **Result**: [critical count] critical, [warning count] warning, [suggestion count] suggestion
- **Key findings**: [top 2-3 specific findings, one line]
- **Strengths**: [one positive highlight]
## History summary section at top of file.Config override (§5 Insight Capture Preferences): If review-standards doc defines insight capture preferences:
[security], [domain]).Config override (§6 Health Log Preferences): If review-standards doc defines health log preferences: