agentsclimarketplace

Automated review setup

Skill VersoXBT/claude-initial-setup/skills/code-review/automated-review-setup

75 skills, 14 agents, 15 commands for Claude Code. Plug-and-play starter kit covering TypeScript, Python, Go, Rust, React, Next.js, FastAPI, Django, Docker, CI/CD, security, testing, and more. Cross-AI support for Cursor, Copilot, and Codex.

Install
npx -y skills add VersoXBT/claude-initial-setup --skill automated-review-setup

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Set up automated code quality tools: ESLint, Prettier, pre-commit hooks, and CI linting. Activate whenever the user sets up a new project, asks about code formatting, configures linters, sets up Git hooks, or mentions Husky, lint-staged, CODEOWNERS, or pre-commit hooks. Also activate when discussing consistent code style enforcement.

SKILL.md

6.0 KB, as published. Nobody here has run it

Automated Code Review Setup

Automate code quality enforcement with linters, formatters, pre-commit hooks, and CI checks. Catch issues before human review so reviewers can focus on logic and design.

When to Use

  • Setting up a new JavaScript/TypeScript project
  • Adding linting or formatting to an existing project
  • Configuring Git pre-commit hooks
  • Setting up CI/CD quality gates
  • Establishing CODEOWNERS for automatic reviewer assignment

Core Patterns

ESLint Configuration

Modern flat config for TypeScript projects.

// eslint.config.js
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
import eslintPluginImport from 'eslint-plugin-import';

export default tseslint.config(
  eslint.configs.recommended,
  ...tseslint.configs.recommended,
  {
    rules: {
      // Prevent common bugs
      'no-console': 'warn',
      'no-debugger': 'error',
      'no-unused-vars': 'off',
      '@typescript-eslint/no-unused-vars': ['error', {
        argsIgnorePattern: '^_',
        varsIgnorePattern: '^_',
      }],

      // Enforce code quality
      '@typescript-eslint/explicit-function-return-type': 'off',
      '@typescript-eslint/no-explicit-any': 'warn',
      '@typescript-eslint/no-non-null-assertion': 'warn',

      // Import organization
      'import/order': ['error', {
        groups: ['builtin', 'external', 'internal', 'parent', 'sibling'],
        'newlines-between': 'always',
        alphabetize: { order: 'asc' },
      }],
    },
  },
  {
    ignores: ['dist/', 'node_modules/', 'coverage/'],
  }
);

Prettier Configuration

Set up Prettier for consistent formatting.

// .prettierrc
{
  "semi": true,
  "singleQuote": true,
  "trailingComma": "all",
  "printWidth": 100,
  "tabWidth": 2,
  "arrowParens": "avoid",
  "endOfLine": "lf"
}
// .prettierignore
dist
node_modules
coverage
pnpm-lock.yaml
package-lock.json
// package.json scripts
{
  "scripts": {
    "lint": "eslint .",
    "lint:fix": "eslint . --fix",
    "format": "prettier --write .",
    "format:check": "prettier --check ."
  }
}

Pre-Commit Hooks with Husky and lint-staged

Run linters only on staged files for fast feedback.

# Install
npm install -D husky lint-staged
npx husky init
// package.json
{
  "lint-staged": {
    "*.{ts,tsx,js,jsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,md,yml,yaml}": [
      "prettier --write"
    ],
    "*.{css,scss}": [
      "prettier --write"
    ]
  }
}
# .husky/pre-commit
npx lint-staged
# .husky/commit-msg (optional: enforce conventional commits)
npx --no -- commitlint --edit "$1"

Python Pre-Commit Hooks

Use the pre-commit framework with Ruff for Python projects.

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.5.0
    hooks:
      - id: trailing-whitespace
      - id: end-of-file-fixer
      - id: check-added-large-files
        args: ['--maxkb=500']

  - repo: https://github.com/astral-sh/ruff-pre-commit
    rev: v0.3.0
    hooks:
      - id: ruff
        args: [--fix]
      - id: ruff-format
pip install pre-commit && pre-commit install

CODEOWNERS

Automatically assign reviewers based on file ownership.

# .github/CODEOWNERS

# Default owners for everything
* @team-lead

# Frontend team owns UI code
/src/components/     @frontend-team
/src/hooks/          @frontend-team
/src/styles/         @frontend-team

# Backend team owns API and database
/src/api/            @backend-team
/src/db/             @backend-team
/src/middleware/      @backend-team

# Security-sensitive files require security review
/src/auth/           @security-team @backend-team

CI Linting Pipeline

Run quality checks in CI to block merging of non-conforming code.

# .github/workflows/quality.yml
name: Code Quality
on:
  pull_request:
    branches: [main, develop]

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: 'npm'
      - run: npm ci
      - run: npm run lint
      - run: npm run format:check
      - run: npx tsc --noEmit

Anti-Patterns

  • Configuring rules as errors during initial adoption (use warnings first, tighten later)
  • Running linters on the entire codebase in pre-commit hooks instead of only staged files
  • Having linter and formatter conflict (ESLint style rules vs Prettier)
  • Skipping hooks with --no-verify as a habit instead of fixing the issue
  • Over-configuring ESLint with hundreds of rules instead of extending a standard config
  • Not including a .prettierrc causing inconsistent formatting across editors
  • Setting up CODEOWNERS without matching your team structure

Quick Reference

ToolPurposeConfig File
ESLintCatch bugs and enforce patternseslint.config.js
PrettierConsistent formatting.prettierrc
HuskyGit hook management.husky/
lint-stagedRun tools on staged files onlypackage.json or .lintstagedrc
commitlintEnforce commit message formatcommitlint.config.js
CODEOWNERSAuto-assign reviewers.github/CODEOWNERS
RuffPython linting + formattingpyproject.toml
pre-commitPython/polyglot hook framework.pre-commit-config.yaml
Setup Order
1. Prettier (formatting baseline)
2. ESLint (bug catching, disable style rules handled by Prettier)
3. Husky + lint-staged (pre-commit enforcement)
4. CI pipeline (final gate)
5. CODEOWNERS (reviewer assignment)

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.