Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Enterprise-grade code review agent. Reviews PRs, diffs, or code files for security vulnerabilities, performance issues, error handling gaps, architecture smells, and test coverage. Works with any language, any repo, no dependencies required.
Enterprise-grade code review agent. Reviews PRs, diffs, or code files for security vulnerabilities, performance issues, error handling gaps, architecture smells, and test coverage. Works with any language, any repo, no dependencies required.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Enterprise-grade automated code review. Works on GitHub PRs, local diffs, pasted code, or entire files. No dependencies โ pure agent intelligence.
Review PR #42 in owner/repo
Review the staged changes in this repo
Review src/auth/login.ts for security issues
Just paste code and say "review this"
Every review follows the SPEAR framework โ 5 dimensions, each scored 1-10:
CheckSeverityExampleHardcoded secretsCRITICALAPI keys, passwords, tokens in sourceSQL injectionCRITICALString concatenation in queriesXSS vectorsHIGHUnsanitized user input in HTML/DOMPath traversalHIGHUser input in file paths without validationInsecure deserializationHIGHeval(), pickle.loads(), JSON.parse on untrusted inputAuth bypassCRITICALMissing auth checks on endpointsSSRFHIGHUser-controlled URLs in server requestsTiming attacksMEDIUMNon-constant-time string comparison for secretsDependency vulnerabilitiesMEDIUMKnown CVEs in imported packagesSensitive data loggingMEDIUMPII, tokens, passwords in log outputInsecure randomnessMEDIUMMath.random() for security-sensitive valuesMissing rate limitingMEDIUMAuth endpoints without throttling
CheckSeverityExampleN+1 queriesHIGHDB call inside a loopUnbounded queriesHIGHSELECT * without LIMIT on user-facing endpointsMissing indexes (implied)MEDIUMFrequent WHERE/ORDER on unindexed columnsMemory leaksHIGHEvent listeners never removed, growing cachesBlocking main threadHIGHSync I/O in async context, CPU-heavy in event loopUnnecessary re-rendersMEDIUMReact: missing memo, unstable refs in depsLarge bundle importsMEDIUMimport _ from 'lodash' vs import get from 'lodash/get'Missing paginationMEDIUMReturning all records to clientRedundant computationLOWSame expensive calc repeated without cachingConnection pool exhaustionHIGHNot releasing DB/HTTP connections
CheckSeverityExampleSwallowed errorsHIGHEmpty catch blocks, Go _ := on errorMissing error boundariesMEDIUMReact components without error boundariesUnchecked null/undefinedHIGHNo null checks before property accessMissing finally/cleanupMEDIUMResources opened but not guaranteed closedGeneric error messagesLOWcatch(e) { throw new Error("something went wrong") }Missing retry logicMEDIUMNetwork calls without retry on transient failuresPanic/exit in library codeHIGHpanic(), os.Exit(), process.exit() in non-mainUnhandled promise rejectionsHIGHAsync calls without .catch() or try/catchError type conflationMEDIUMAll errors treated the same (4xx vs 5xx, retriable vs fatal)
CheckSeverityExampleGod functions (>50 lines)MEDIUMSingle function doing too many thingsGod files (>300 lines)MEDIUMMonolithic moduleTight couplingMEDIUMDirect DB calls in request handlersMissing abstractionLOWRepeated patterns that should be extractedCircular dependenciesHIGHA imports B imports AWrong layerMEDIUMBusiness logic in controllers, SQL in UIMagic numbers/stringsLOWHardcoded values without named constantsMissing typesMEDIUMany in TypeScript, missing type hints in PythonDead codeLOWUnreachable branches, unused imports/variablesInconsistent patternsLOWDifferent error handling styles in same codebase
CheckSeverityExampleMissing tests for changesHIGHNew logic without corresponding testTest qualityMEDIUMTests that only check happy pathMissing edge casesMEDIUMNo handling for empty arrays, null, boundary valuesRace conditionsHIGHShared mutable state without synchronizationNon-idempotent operationsMEDIUMRetrying could cause duplicatesMissing validationHIGHUser input accepted without schema validationBrittle testsLOWTests depending on execution order or timingMissing loggingMEDIUMError paths with no observabilityConfiguration driftMEDIUMHardcoded env-specific valuesMissing migrationsHIGHSchema changes without migration files
CRITICAL โ -3 points from dimension score HIGH โ -2 points MEDIUM โ -1 point LOW โ -0.5 points INFO โ 0 (suggestion only)
Raw Score = (Sร3 + Pร2 + Eร2 + Aร1.5 + Rร1.5) / 10 Final Score = Raw Score ร 10 (scale 0-100)
ScoreVerdictAction90-100โ EXCELLENTShip it75-89๐ข GOODMinor suggestions, approve60-74๐ก NEEDS WORKAddress findings before merge40-59๐ SIGNIFICANT ISSUESMajor rework needed0-39๐ด BLOCKCritical issues, do not merge
Use this structure for every review: # Code Review: [PR title or file name] ## Summary [1-2 sentence overview of what this code does and overall quality] ## SPEAR Score: [X]/100 โ [VERDICT] | Dimension | Score | Key Finding | |-----------|-------|-------------| | ๐ด Security | X/10 | [worst finding or "Clean"] | | ๐ก Performance | X/10 | [worst finding or "Clean"] | | ๐ Error Handling | X/10 | [worst finding or "Clean"] | | ๐ต Architecture | X/10 | [worst finding or "Clean"] | | ๐ Reliability | X/10 | [worst finding or "Clean"] | ## Findings ### [CRITICAL/HIGH] ๐ด [Title] **File:** `path/to/file.ts:42` **Category:** Security **Issue:** [What's wrong] **Impact:** [What could happen] **Fix:** ```[lang] // suggested fix
...
[Genuinely good patterns worth calling out]
# Review staged changes git diff --cached # Review branch vs main git diff main..HEAD # Review last N commits git log -5 --oneline && git diff HEAD~5..HEAD
Check for open PRs in [repo] that I haven't reviewed yet. For each, run a SPEAR review and post the results as a PR comment.
Large PRs (>500 lines): Break into logical chunks. Review file-by-file. Flag the PR size itself as a finding (Architecture: "PR too large โ consider splitting"). Generated code: Skip generated files (proto, swagger, migrations from ORMs). Note that you skipped them. Dependency updates: Focus on breaking changes in changelogs, not the lockfile diff. Merge conflicts markers: Flag immediately as CRITICAL โ <<<<<<< in code means broken merge. Binary files: Note presence, can't review content. Config changes: Extra scrutiny โ wrong env var = production outage. Refactors: Verify behavior preservation. Check if tests still pass conceptually.
For fast reviews when full SPEAR isn't needed: No hardcoded secrets or credentials No SQL injection / XSS / path traversal All errors handled (no empty catch, no discarded errors) No N+1 queries or unbounded operations Tests exist for new/changed logic No console.log / print / fmt.Print left in Functions under 50 lines, files under 300 lines Types are specific (no any / interface{}) PR description matches the actual changes No TODOs without linked issues
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.