Install
openclaw skills install goudantestAdvanced code review assistant with intelligent analysis, multi-language support, and structured feedback. Performs comprehensive reviews covering correctnes...
openclaw skills install goudantestBefore reviewing code, understand the context:
Run these checks mentally before manual review:
□ Static analysis patterns (type mismatches, unused imports, dead code)
□ Security patterns (injection, unsafe deserialization, hardcoded secrets)
□ Performance patterns (N+1 queries, unbounded loops, missing indexes)
□ Concurrency patterns (race conditions, deadlocks, missing synchronization)
Follow the CHECKLIST.md for systematic review.
Use templates from TEMPLATES.md for structured feedback.
| Dimension | Focus Area | Key Questions |
|---|---|---|
| Correctness | Logic, edge cases | Does it work correctly in all scenarios? |
| Security | Vulnerabilities, data protection | Are there security risks or data leaks? |
| Performance | Efficiency, resource usage | Will this scale? Any bottlenecks? |
| Maintainability | Readability, structure | Can others understand and modify this? |
| Observability | Logging, monitoring, debugging | Can we detect and diagnose issues? |
| Testing | Coverage, quality | Are changes adequately tested? |
| Level | Icon | When to Use | Response Required |
|---|---|---|---|
| Blocker | Security vulnerability, data loss, crash | Must fix before merge | |
| Critical | 🔴 Bug, incorrect logic, broken functionality | Must fix before merge | |
| Warning | Code smell, suboptimal pattern, minor issue | Should address | |
| Suggestion | 💡 Improvement opportunity, alternative approach | Consider | |
| Info | ℹ | Observation, documentation note | Optional |
□ Type hints on public functions
□ No mutable default arguments
□ Context managers for resources
□ f-strings over .format() or %
□ Proper exception handling (not bare except)
□ __init__.py exports are intentional
□ async/await with try-catch (no unhandled promises)
□ No implicit any (TypeScript strict mode)
□ Proper null/undefined handling
□ No direct DOM manipulation in React
□ Keys in list rendering
□ useEffect dependencies complete
□ try-with-resources for Closeable
□ Optional for nullable returns
□ Proper equals/hashCode implementation
□ No raw types (generics)
□ Stream API used appropriately
□ Thread safety considered
□ Error handling (not ignored)
□ defer for cleanup
□ Context passed as first parameter
□ No goroutine leaks
□ Proper mutex usage
□ go vet and golangci-lint clean
□ No unnecessary clones
□ Proper error types (Result)
□ Lifetimes annotated correctly
□ No unsafe blocks without justification
□ Iterator chains over loops where appropriate
□ Clippy warnings addressed
□ async/await patterns correct
□ using statements for IDisposable
□ Nullable reference types enabled
□ LINQ queries efficient
□ Proper exception filtering
□ CancellationToken usage
□ No N+1 queries (includes/eager_load)
□ Proper error handling (rescue)
□ Bang methods for mutating operations
□ Frozen string literals
□ RuboCop clean
□ Type declarations on parameters/returns
□ Prepared statements (no SQL injection)
□ Proper error handling (try-catch)
□ No global state
□ PSR standards followed
See TEMPLATES.md for detailed markdown templates.
{
"summary": "Brief overview",
"issues": [
{
"severity": "critical",
"file": "src/auth.py",
"line": 42,
"category": "security",
"message": "SQL injection vulnerability",
"suggestion": "Use parameterized queries"
}
],
"positive_notes": ["Good use of type hints"],
"recommendation": "approve_with_changes"
}
Review Summary for PR #123
==========================
[✓] Correctness - 2 issues found
[✓] Security - 1 critical issue
[✓] Performance - No issues
[✓] Maintainability - 3 suggestions
[✓] Testing - Coverage adequate
[✓] Observability - Missing error context
Recommendation: Changes required before merge