Install
$ agentstack add skill-christopherlouet-claude-base-qa-review ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Code Review
Objective
Identify quality, security, and maintainability issues BEFORE merge.
Instructions
1. Overview
# View the changes
git diff main...HEAD --stat
git log main...HEAD --oneline
2. Review checklist
Code quality
- [ ] Readability (clear names, short functions)
- [ ] DRY (no duplication)
- [ ] SOLID (single responsibility)
- [ ] Reasonable complexity
- [ ] No over-engineering (YAGNI: no speculative options/abstraction; could a stdlib/native/one-liner replace custom code?)
Typing (TypeScript)
- [ ] No
any - [ ] Explicit types on public APIs
- [ ] Well-defined interfaces
Tests
- [ ] Tests present and relevant
- [ ] Edge cases covered
- [ ] Mocks limited to I/O
- [ ] Substance: no hollow tests / stubs — run
./scripts/substance-check.sh(flags no-assertion / always-true / skipped / empty / stub; a green suite over hollow tests is not "done")
Security
- [ ] Inputs validated
- [ ] No hardcoded secrets
- [ ] No injection possible
Performance
- [ ] No N+1 queries
- [ ] No possible infinite loops
- [ ] Memory managed correctly
3. Comment format
[TYPE] file:line - comment
Types:
- [CRITICAL] - Blocking, must be fixed
- [IMPORTANT] - Should be fixed
- [SUGGESTION] - Optional improvement
- [QUESTION] - Clarification needed
- [NITPICK] - Minor detail
Expected output
## Review: [PR Title]
### Summary
- **Files modified**: X
- **Lines added**: +Y
- **Lines removed**: -Z
- **Verdict**: Approve / Request Changes / Comment
### Positive points
- [Point 1]
- [Point 2]
### Issues identified
#### Critical
- [CRITICAL] `file.ts:42` - Description
#### Important
- [IMPORTANT] `file.ts:87` - Description
### Suggestions
- [SUGGESTION] `file.ts:123` - Description
### Final checklist
- [ ] Code readable and maintainable
- [ ] Sufficient tests
- [ ] No security issue
- [ ] Acceptable performance
Naming analysis
Naming rules to verify
| Element | Convention | Good examples | Bad examples | |---------|-----------|---------------|------------------| | Variables | Descriptive, camelCase | userCount, isActive | x, tmp, data | | Functions | Verb + noun, camelCase | getUserById, validateEmail | process, handle, do | | Booleans | Prefix is/has/can/should | isValid, hasPermission | valid, permission | | Constants | SCREAMING_SNAKE | MAX_RETRY_COUNT | maxRetry | | Classes | PascalCase, noun | UserService, OrderRepository | Manager, Helper | | Interfaces | PascalCase, descriptive | UserProfile, PaymentMethod | IUser, DataType |
Naming smells to detect
| Smell | Problem | Fix | |-------|----------|------------| | Generic name | data, result, temp, info | Name based on content | | Abbreviation | usr, btn, msg, idx | Write in full | | Double negation | !isNotValid, !disableButton | isValid, enableButton | | Type in the name | userArray, nameString | users, name | | Inappropriate length | Short global variable, long local | Reverse: long global, short local | | Misleading name | getUser that modifies | fetchAndUpdateUser |
Patterns to look for
# Single-character variables (except i, j in loops)
\b[a-z]\b\s*[=:]
# Generic names
\b(data|result|temp|tmp|info|item|obj|val|res)\b\s*[=:]
# Booleans without prefix
\b(active|valid|visible|enabled|disabled|open|closed)\b\s*[=:]
Rules
- Be constructive, not destructive
- Explain the WHY
- Propose alternatives
- Distinguish blocking vs nice-to-have
- Verify naming consistency in the code review
See also
Anthropic ships an official multi-agent code-review plugin at anthropics/claude-plugins-official/plugins/code-review (18,629★, last commit 2026-05-06). It runs 4 parallel sub-agents and applies confidence scoring (default 80%). Different format from this skill (plugin vs SKILL.md) but same intent.
When working on a project where multi-agent parallel review is preferred, install the official plugin alongside this skill. This skill captures the review checklist + workflow conventions (security, performance, quality, atomic feedback); the plugin handles the parallel-agent orchestration. Both can coexist.
Install command and full list of validated vendor skills: docs/recipes/recommended-vendor-skills.md. Audit pilot trace: specs/marketplace-audit/qa-skills-pilot-2026-05-06.md.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: christopherlouet
- Source: christopherlouet/claude-base
- License: MIT
- Homepage: https://christopherlouet.github.io/claude-base/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.