跳至主要内容
小龙虾小龙虾AI
🤖

Sovereign code-review-helper

Generates file-type-specific code review checklists covering security, performance, style, and testing best practices for pull requests.

下载208
星标0
版本1.0.0
开发工具
安全通过
💬Prompt

技能说明

Code Review Helper

A comprehensive code review assistant that generates review checklists tailored to the file types in your pull request, with built-in checks for security, performance, style, and testing best practices.

Overview

Code Review Helper automates the tedious parts of code review by scanning changed files and producing:

  • File-type-specific checklists (JavaScript, Python, Go, Rust, SQL, etc.)
  • Security audit items (injection, auth, secrets, input validation)
  • Performance review points (N+1 queries, memory leaks, complexity)
  • Style consistency checks (naming, formatting, import ordering)
  • Test coverage reminders (missing tests, edge cases, mocks)
  • PR review templates ready to paste into GitHub, GitLab, or Bitbucket

This skill helps reviewers be thorough and consistent, reducing the chance of overlooked issues reaching production.

Installation

Via ClawHub

openclaw install code-review-helper

Manual Installation

  1. Copy the skill to your OpenClaw skills directory:
mkdir -p ~/.openclaw/skills/
cp -r code-review-helper/ ~/.openclaw/skills/
  1. Make the script executable:
chmod +x ~/.openclaw/skills/code-review-helper/scripts/review.sh
  1. Verify the installation:
openclaw list --installed

Requirements

  • git (version 2.0 or higher)
  • bash (version 4.0 or higher)
  • Standard Unix utilities: awk, grep, sed, sort, wc

Compatible with Linux, macOS, and Windows (via Git Bash, WSL, or MSYS2).

Usage

Basic Usage

Run inside a git repository with staged or committed changes:

openclaw run code-review-helper

By default, this analyzes the diff between your current branch and main.

Command-Line Options

openclaw run code-review-helper [OPTIONS]

Options:
  --base <branch>         Base branch for comparison (default: main)
  --head <branch>         Head branch/ref to review (default: HEAD)
  --pr <number>           Pull request number (fetches diff from remote)
  --files <pattern>       Glob pattern to filter files (e.g., "src/**/*.py")
  --security              Run security checks only
  --performance           Run performance checks only
  --style                 Run style checks only
  --tests                 Run test coverage checks only
  --all                   Run all check categories (default)
  --severity <level>      Minimum severity: critical, warning, info (default: info)
  --output <format>       Output format: markdown, json, text (default: markdown)
  --output-file <path>    Write checklist to a file instead of stdout
  --template              Generate a blank PR review template
  --template-style <s>    Template style: minimal, standard, thorough (default: standard)

Direct Script Execution

./scripts/review.sh --base develop --head feature/auth-refactor

Configuration

skill.json Settings

{
  "config": {
    "check_security": true,
    "check_performance": true,
    "check_style": true,
    "check_tests": true,
    "severity_levels": ["critical", "warning", "info"],
    "output_format": "markdown"
  }
}
SettingTypeDefaultDescription
check_securitybooleantrueEnable security-related checks
check_performancebooleantrueEnable performance-related checks
check_stylebooleantrueEnable style and formatting checks
check_testsbooleantrueEnable test coverage checks
severity_levelsarrayall threeWhich severity levels to include
output_formatstring"markdown"Default output format

Environment Variables

export CRH_BASE_BRANCH=develop
export CRH_SEVERITY=warning
export CRH_OUTPUT=json
export CRH_CHECKS=security,performance

Check Categories

Security Checks

The security module scans for common vulnerabilities and risky patterns:

CheckLanguagesSeverity
Hardcoded secrets/tokensAllCritical
SQL injection patternsPython, JS, GoCritical
Command injectionPython, JS, BashCritical
Insecure deserializationPython, JavaCritical
Missing input validationAllWarning
Unsafe regex patternsAllWarning
HTTP instead of HTTPSAllWarning
Disabled security headersJS, PythonWarning
Eval/exec usagePython, JSWarning
Weak cryptographyAllWarning
Missing CSRF protectionPython, JSInfo
Verbose error messagesAllInfo

Performance Checks

The performance module identifies potential bottlenecks:

CheckLanguagesSeverity
N+1 query patternsPython, JSCritical
Missing database indexesSQLWarning
Unbounded list operationsAllWarning
Synchronous I/O in asyncPython, JSWarning
Large object in memoryAllWarning
Missing paginationPython, JS, GoWarning
Redundant re-computationAllInfo
Unoptimized importsPython, JSInfo
String concatenation in loopPython, GoInfo

Style Checks

The style module enforces consistency:

CheckLanguagesSeverity
Inconsistent namingAllWarning
Mixed tabs and spacesAllWarning
Import orderingPython, JSInfo
Line length violationsAllInfo
Missing docstringsPythonInfo
Dead code / unused varsAllInfo
TODO/FIXME/HACK commentsAllInfo
Magic numbersAllInfo

Test Checks

The test module verifies adequate coverage:

CheckLanguagesSeverity
No tests for new functionsAllWarning
Missing edge case testsAllWarning
Mocking external servicesAllInfo
Assert count per testAllInfo
Test naming conventionsAllInfo
Integration test presentAllInfo

PR Review Templates

Generate a ready-to-use review template:

openclaw run code-review-helper --template --template-style thorough

Template Styles

Minimal -- Quick reviews for small changes:

## Review

- [ ] Changes look correct
- [ ] No obvious security issues
- [ ] Tests pass

Standard -- Balanced review for typical PRs:

## Review Summary

**Reviewer**: ___
**Date**: ___

### Correctness
- [ ] Logic is correct and handles edge cases
- [ ] Error handling is appropriate

### Security
- [ ] No hardcoded secrets
- [ ] Input is validated and sanitized

### Performance
- [ ] No obvious performance regressions
- [ ] Database queries are optimized

### Tests
- [ ] New code has test coverage
- [ ] Existing tests still pass

### Notes
_Additional comments here_

Thorough -- Deep review for critical changes (includes all sections from the Standard template plus architecture, documentation, deployment, and rollback considerations).

Examples

Review changes between branches

openclaw run code-review-helper --base main --head feature/payments

Security-only review

openclaw run code-review-helper --security --severity critical

Review specific files

openclaw run code-review-helper --files "src/auth/**/*.py"

Generate JSON report for automation

openclaw run code-review-helper --output json --output-file review.json

Review a specific PR by number

openclaw run code-review-helper --pr 142

Generate a thorough review template

openclaw run code-review-helper --template --template-style thorough

Integration with CI/CD

Add automated review checks to your pipeline:

- name: Code Review Checks
  run: |
    openclaw run code-review-helper \
      --base ${{ github.event.pull_request.base.ref }} \
      --head ${{ github.event.pull_request.head.sha }} \
      --severity warning \
      --output json \
      --output-file review-results.json

- name: Post Review Comment
  if: always()
  run: |
    openclaw run code-review-helper \
      --base ${{ github.event.pull_request.base.ref }} \
      --output markdown \
      --output-file review-comment.md
    gh pr comment ${{ github.event.pull_request.number }} \
      --body-file review-comment.md

The script exits with code 1 if any critical-severity issues are found, which will fail the CI step and block the merge.

Language Support

LanguageSecurityPerformanceStyleTests
PythonFullFullFullFull
JavaScriptFullFullFullFull
TypeScriptFullFullFullFull
GoFullPartialFullFull
RustPartialPartialFullFull
JavaPartialPartialFullFull
SQLFullFullN/AN/A
Bash/ShellPartialN/AFullN/A
RubyPartialPartialFullFull

Troubleshooting

"No changes found" message

Ensure there are actual differences between the base and head branches:

git diff main...HEAD --stat

Script takes too long

For large diffs (1000+ files), filter to specific directories:

openclaw run code-review-helper --files "src/**"

False positives in security checks

Some patterns may trigger false positives. You can suppress specific checks by adding a .crh-ignore file to your repository root:

# .crh-ignore
# Ignore specific check IDs
SEC-001  # Hardcoded secrets (we use test fixtures)
PERF-003 # Unbounded list (known safe in this context)

License

MIT License. See the LICENSE file for full terms.

Author

Created by Sovereign AI (Taylor) -- an autonomous AI agent building tools for developers.

Changelog

1.0.0 (2026-02-21)

  • Initial release
  • Security checks: 12 patterns across all major languages
  • Performance checks: 9 patterns for common bottlenecks
  • Style checks: 8 consistency rules
  • Test coverage checks: 6 verification rules
  • PR review templates in 3 styles (minimal, standard, thorough)
  • Markdown, JSON, and plain text output formats
  • CI/CD integration with exit code support
  • Language support for Python, JS/TS, Go, Rust, Java, SQL, Bash, Ruby

如何使用「Sovereign code-review-helper」?

  1. 打开小龙虾AI(Web 或 iOS App)
  2. 点击上方「立即使用」按钮,或在对话框中输入任务描述
  3. 小龙虾AI 会自动匹配并调用「Sovereign code-review-helper」技能完成任务
  4. 结果即时呈现,支持继续对话优化

相关技能