Agent Skillsnearai/ironclaw › review-checklist

review-checklist

GitHub

提供合并前代码审查清单,涵盖数据库事务、安全防御、字符串处理、测试规范及文档一致性,旨在减少自动化审查反馈中的常见缺陷。

skills/review-checklist/SKILL.md nearai/ironclaw

Trigger Scenarios

PR合并前检查 代码审查 自动化审查反馈修复

Install

npx skills add nearai/ironclaw --skill review-checklist -g -y
More Options

Use without installing

npx skills use nearai/ironclaw@review-checklist

指定 Agent (Claude Code)

npx skills add nearai/ironclaw --skill review-checklist -a claude-code -g -y

安装 repo 全部 skill

npx skills add nearai/ironclaw --all -g -y

预览 repo 内 skill

npx skills add nearai/ironclaw --list

SKILL.md

Frontmatter
{
    "name": "review-checklist",
    "version": "0.1.0",
    "activation": {
        "keywords": [
            "review",
            "checklist",
            "merge",
            "pre-merge"
        ],
        "patterns": [
            "review.*checklist",
            "ready to merge",
            "pre-merge check",
            "check.*before.*merge"
        ],
        "max_context_tokens": 1500
    },
    "description": "Pre-merge review checklist based on recurring AI reviewer feedback patterns"
}

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() returning Always or UnlessAutoApproved
  • 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 -- use is_char_boundary() or char_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 LlmProvider trait methods are delegated in ALL wrapper types (grep impl 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 tempfile crate, 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)

Version History

  • 5380a32 Current 2026-08-20 07:09

Same Skill Collection

.claude/skills/architecture-video/SKILL.md
.claude/skills/ironclaw-reborn-architecture-review/SKILL.md
.claude/skills/ironclaw-reborn-orientation/SKILL.md
.claude/skills/ironclaw-reborn-skill-maintainer/SKILL.md
.claude/skills/ironclaw-reborn-testing/SKILL.md
.claude/skills/mintlify-docs/SKILL.md
.claude/skills/railway-test/SKILL.md
.claude/skills/reborn-extension-surfaces/SKILL.md
.claude/skills/reborn-feature/SKILL.md
.claude/skills/thermo-nuclear-code-quality-review/SKILL.md
docs/internal/archived-skills/ceo-setup/SKILL.md
docs/internal/archived-skills/code-review/SKILL.md
docs/internal/archived-skills/commitment-setup/SKILL.md
docs/internal/archived-skills/content-creator-setup/SKILL.md
docs/internal/archived-skills/developer-setup/SKILL.md
docs/internal/archived-skills/github-workflow/SKILL.md
docs/internal/archived-skills/github/SKILL.md
docs/internal/archived-skills/linear/SKILL.md
docs/internal/archived-skills/llm-council/SKILL.md
docs/internal/archived-skills/local-test/SKILL.md
docs/internal/archived-skills/new-project/SKILL.md
docs/internal/archived-skills/parallel-pr-review/SKILL.md
docs/internal/archived-skills/plan-mode/SKILL.md
docs/internal/archived-skills/portfolio/SKILL.md
docs/internal/archived-skills/project-setup/SKILL.md
docs/internal/archived-skills/trader-setup/SKILL.md
docs/internal/archived-skills/web-ui-test/SKILL.md
skills/coding/SKILL.md
skills/commitment-digest/SKILL.md
skills/commitment-triage/SKILL.md
skills/decision-capture/SKILL.md
skills/delegation-tracker/SKILL.md
skills/delegation/SKILL.md
skills/idea-parking/SKILL.md
skills/product-prioritization/SKILL.md
skills/qa-review/SKILL.md
skills/review-readiness/SKILL.md
skills/routine-advisor/SKILL.md
skills/security-review/SKILL.md
skills/tech-debt-tracker/SKILL.md
skills/commit/SKILL.md

Metadata

Files
0
Version
5380a32
Hash
7163b398
Indexed
2026-08-20 07:09

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-22 01:24
浙ICP备14020137号-1 $mapa de visitantes$