Agent skill
review-checklist
Pre-merge review checklist based on recurring AI reviewer feedback patterns
Install this agent skill to your Project
npx add-skill https://github.com/nearai/ironclaw/tree/staging/skills/review-checklist
SKILL.md
Pre-Merge Review Checklist
Before merging, verify these items. They represent the most common issues caught by automated code reviewers (Copilot, Gemini) on IronClaw PRs.
Database Operations
- Multi-step DB operations are wrapped in transactions (INSERT+INSERT, UPDATE+DELETE, read-modify-write)
- Both postgres AND libsql backends updated for any new Database trait methods
- Migrations are atomic (SQL execution + version recording in same transaction)
Security & Data Safety
- Tool parameters are redacted via
redact_params()before logging or SSE/WebSocket broadcast - URL validation resolves DNS before checking for private/loopback IPs (anti-SSRF via DNS rebinding)
- Destructive tools have
requires_approval()returningAlwaysorUnlessAutoApproved - Data from worker containers is treated as untrusted (tool domain checks, server-side nesting depth)
- No secrets or credentials in error messages, logs, or SSE events
String Safety
- No byte-index slicing (
&s[..n]) on external/user strings -- useis_char_boundary()orchar_indices() - File extension and media type comparisons are case-insensitive (
.to_ascii_lowercase()before matching) - Path comparisons are case-insensitive where needed (macOS/Windows filesystems)
Trait Wrappers & Decorator Chain
- New
LlmProvidertrait methods are delegated in ALL wrapper types (grepimpl LlmProvider for) - New trait methods are tested through the full decorator/provider chain, not just the base impl
- Default trait method implementations are intentional -- wrappers that silently return defaults are bugs
Tests
- Temporary files/dirs use
tempfilecrate, no hardcoded/tmp/paths - Tests don't mutate global statics without synchronization (use per-test state or
serial_test) - Tests don't make real network requests (use mocks, stubs, or RFC 5737 TEST-NET IPs like 192.0.2.1)
- Test names and comments match actual test behavior and assertions
Comments & Documentation
- Code comments match actual behavior (especially route paths, tool names, function semantics)
- Spec/README files updated if module behavior changed
- Error messages are clear and non-redundant (don't nest tool name inside tool error that already contains it)
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
mintlify
Build and maintain documentation sites with Mintlify. Use when creating docs pages, configuring navigation, adding components, or setting up API references.
product-prioritization
Product strategy and feature prioritization — score features by user demand evidence, effort (human vs AI-assisted), strategic alignment, and market signal. Anti-sycophantic forcing questions to cut through opinion.
qa-review
QA review for code changes — test coverage analysis, edge case identification, test plan generation, regression detection, test health tracking over time.
commit
Generate git commit messages from staged changes
content-creator-assistant
Commitment tracking tuned for content creators — content pipeline stages, trend expiration, cross-platform cascades, heavy idea parking.
trader-assistant
Commitment tracking tuned for financial traders — real-time alerts, position-aware relevance, decision journaling with outcome tracking.
Didn't find tool you were looking for?