From arn-code
This skill should be used when the user says "review implementation", "review the project", "check implementation", "quality review", "validate implementation", "implementation review", or wants a post-execution quality gate to verify that the implementation follows the project's stored code and testing patterns and matches the plan. Reports issues as ERRORS, WARNINGS, INFO with a verdict. Do NOT use this for reviewing PRs (use arn-code-review-pr) or validating plans (use arn-code-review-plan).
npx claudepluginhub appsvortex/arness --plugin arn-codeThis skill uses the workspace's default tool permissions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Post-execution quality gate that verifies an implementation matches the project plan and follows the stored code patterns, testing patterns, and architecture documentation. Reports issues classified as ERRORS, WARNINGS, and INFO, with a final verdict.
Pipeline position:
arn-code-init -> arn-code-feature-spec / arn-code-bug-spec -> arn-code-plan -> arn-code-save-plan -> arn-code-review-plan -> arn-code-taskify -> arn-code-execute-plan -> **arn-code-review-implementation**
This is a self-contained review -- it does not invoke sub-agents. The review is a structured, checklist-driven process: read code, compare to patterns, classify findings.
When to Use:
arn-code-execute-plan completesIf no ## Arness section exists in the project's CLAUDE.md, inform the user: "Arness is not configured for this project yet. Run /arn-implementing to get started — it will set everything up automatically." Do not proceed without it.
## Arness section to find:
PROJECT_NAME if not provided in the trigger message<project-folder>/INTRODUCTION.md -- codebase patterns that should have been followed<project-folder>/reports/ -- what was implemented, tested, bugs fixed<project-folder>/plans/ -- acceptance criteria, expected files, expected patterns<code-patterns-dir>/code-patterns.md<code-patterns-dir>/architecture.md<code-patterns-dir>/testing-patterns.md<code-patterns-dir>/ui-patterns.md (if it exists)<code-patterns-dir>/security-patterns.md (if it exists)Compare the plan artifacts (phase plans, INTRODUCTION.md) with the execution reports (implementation reports, testing reports). Run these checks:
| Check | Severity | What |
|---|---|---|
| PC01 | ERROR | Every feature listed in phase plans has a matching entry in implementation reports |
| PC02 | ERROR | Every test case listed in phase plans has a matching entry in testing reports |
| PC03 | WARNING | All acceptance criteria from phase plans are addressed in reports |
| PC04 | WARNING | Files listed in filesCreated/filesModified in reports actually exist on disk |
| PC05 | INFO | Features implemented that were NOT in the original plan (scope creep detection) |
| PC06 | ERROR | Any bugsFixed entries -- read the changed files to verify the fix was correct |
| PC07 | WARNING | Testing pass rate below 100% -- investigate remaining failures |
All checks in this step are generated dynamically from stored pattern documentation. This is NOT a hardcoded checklist -- the checks are derived at runtime from whatever patterns are documented for this project.
Code Pattern Compliance:
Read code-patterns.md. For each documented pattern:
CP-[PatternName]-CONFLICT (ERROR) -- implementation contradicts the documented patternCP-[PatternName]-MISSING (WARNING) -- pattern should apply but wasn't followedCP-[PatternName]-APPLY (WARNING) -- general deviation from the patternArchitecture Compliance:
Read architecture.md. Check that:
UI Pattern Compliance (if ui-patterns.md exists):
Read ui-patterns.md. For each documented pattern:
UP-[PatternName]-CONFLICT (ERROR) -- implementation contradicts the documented UI pattern (e.g., wrong component library)UP-[PatternName]-MISSING (WARNING) -- UI pattern should apply but wasn't followedUP-[PatternName]-ACCESSIBILITY (WARNING) -- accessibility requirements documented but not implementedTesting Pattern Compliance:
Read testing-patterns.md. For each documented pattern:
TP-[PatternName]-FRAMEWORK (ERROR) -- wrong test framework or runner usedTP-[PatternName]-FIXTURES (WARNING) -- should use documented fixtures but doesn'tTP-[PatternName]-MARKERS (WARNING) -- should use documented markers but doesn'tSecurity Pattern Compliance (if security-patterns.md exists):
Read security-patterns.md. For each documented pattern:
SP-[PatternName]-CONFLICT (ERROR) -- implementation contradicts the documented security pattern (e.g., plaintext passwords when hashing is documented)SP-[PatternName]-MISSING (WARNING) -- security pattern should apply but wasn't followed (e.g., no input validation on a new endpoint)SP-[PatternName]-WEAKNESS (WARNING) -- implementation partially follows the pattern but has gaps (e.g., auth check present but no rate limiting)This step is conditional. Check if ### Visual Testing is configured in the project's CLAUDE.md ## Arness section.
If not configured: Skip this step silently. Do not add any findings.
If configured: Parse the full ### Visual Testing section:
Discover layers:
#### Layer N: subsections. For each, extract: Status, Capture script, Compare script, Baseline directory, Diff threshold, Requires dev server, EnvironmentFor each active layer: a. If the layer requires a dev server and the dev server is not already running: start it (read the start command from INTRODUCTION.md or the project's package.json) b. Run the layer's capture script:
[layer capture command]
c. Run the layer's comparison script against its baselines:
[layer compare command]
d. Parse the comparison output and generate layer-prefixed findings:
| Check | Severity | What |
|---|---|---|
| VR-L[N]-[ScreenName]-REGRESSION | ERROR | Screen has visual regression above threshold ([X]% pixel difference, threshold: [T]%) |
| VR-L[N]-[ScreenName]-MISSING | WARNING | No baseline image exists for this screen |
| VR-L[N]-[ScreenName]-MATCH | INFO | Screen matches baseline within threshold |
e. If the layer's capture or comparison script fails to run: add a single WARNING finding VR-L[N]-UNAVAILABLE: Layer [N] ([Name]) capture/compare failed: [error]. Visual regression not checked for this layer. Do NOT block the review. Continue with remaining layers.
Stop dev server after all layers that require it have been checked.
Deferred layers: If any layers have Status = deferred, add a single INFO finding: VR-DEFERRED: Deferred visual testing layers: [layer names]. Run /arn-spark-visual-readiness to check if they can be activated.
Conditional: Only execute this step if 2 or more active layers produced captures in Step 3b. If only one layer (or no layers) have captures, skip this step silently.
Read the cross-layer comparison guide:
Read
${CLAUDE_PLUGIN_ROOT}/skills/arn-code-review-implementation/references/cross-layer-comparison-guide.md
Determine threshold:
### Visual Testing section for **Cross-layer threshold:** -- use that value if present**Cross-layer overrides:** for per-screen threshold overridesMatch screenshots across layers:
screen-manifest.jsonname field from capture steps in journey-manifest.jsonFor each matched pair:
VR-CROSS-[ScreenName]-DIVERGENCE (WARNING)VR-CROSS-[ScreenName]-MATCH (INFO)Unmatched screens: For screens present in one layer but not the other, classify as VR-CROSS-UNMAPPED (INFO)
Skip silently if no matched pairs exist across layers (e.g., Layer 1 and Layer 2 capture entirely different screens)
Collect all cross-layer findings for the report summary in Step 5
Conditional: Only execute this step if INTRODUCTION.md contains a
### Sketch Artifactssection. If no sketch artifacts exist, skip this step silently.
If sketch artifacts are present:
componentMapping and composition fields| Check | Severity | What |
|---|---|---|
| SK01 | WARNING | Every componentMapping entry's target file exists on disk |
| SK02 | WARNING | Promoted code in each target file is structurally derived from the sketch source (read both files, check for shared component names, function signatures, or JSX structure -- exact match is not required, but the target should clearly originate from the sketch) |
| SK03 | WARNING | If composition.layout exists, components are positioned per the layout specification in the target page (check import statements and render placement in the parent page/screen) |
| SK04 | WARNING | If all componentMapping target files exist on disk, the manifest status should be "consumed" -- flag if still "validated" or another non-consumed status |
| SK05 | INFO | If manifest status is "consumed", log: "Sketch manifest fully consumed -- all components promoted successfully" |
If the project has multiple phases, check integration points between phases:
| Check | Severity | What |
|---|---|---|
| XI01 | WARNING | Modules from different phases can import each other without circular dependencies |
| XI02 | WARNING | Data models from different phases have correct relationships (foreign keys, references) |
| XI03 | INFO | Dependency injection / service registration updated if new services were added across phases |
Skip this step for single-phase projects.
Present findings in this format:
## Implementation Review: <PROJECT_NAME>
### Summary
- Phases reviewed: N
- Files inspected: N
- Pattern docs checked: code-patterns.md (N patterns), testing-patterns.md (N patterns), architecture.md, ui-patterns.md (N patterns, if present), security-patterns.md (N patterns, if present)
- Visual regression: [per-layer summary / "not configured"]
- Cross-layer comparison: [N] screen pairs compared, [M] divergences (WARNING), [K] matches (INFO), [U] unmapped screens (INFO) / Skipped (fewer than 2 active layers with captures)
- Sketch promotion: [N of M components promoted, manifest status: consumed/validated/N/A] / "no sketch artifacts"
- Issues found: N errors, N warnings, N info
### ERRORS (must fix)
1. [CheckID] Description -- file:line
### WARNINGS (should fix)
1. [CheckID] Description -- file:line
### INFO
1. [CheckID] Description
### Verdict
[ PASS | PASS WITH WARNINGS | NEEDS FIXES ]
Verdict logic:
If the verdict is NEEDS FIXES -> ask the user if they want help fixing the errors. If the verdict is PASS or PASS WITH WARNINGS -> confirm the project implementation is ready and suggest next steps:
/arn-code-document-project to generate developer documentation for this feature."/arn-code-ship to commit your changes and create a pull request."## Arness config missing in CLAUDE.md -> suggest running /arn-implementing to get started./arn-code-save-plan and /arn-code-execute-plan first./arn-code-execute-plan to generate reports.