Agent Skills

Code Review

Структурированный ревью PR/diff за один запуск: чек-лист, severity, файл:строка, исправление.

Загружай этот скилл когда нужно проверить код (diff, PR, commit) и получить структурированные замечания с приоритетами. Скилл читает изменения, применяет чек-лист из шести категорий и выдаёт готовый текст для комментария в PR.

🎯 When to use

Use this skill when:

Do NOT use when:

📦 What this skill does

Inputs

Outputs

🔧 How to use

Шаг 1: получить diff

git diff HEAD > /tmp/pr.diff

Шаг 2: запустить ревью

python3 scripts/review.py --diff /tmp/pr.diff

Или напрямую из репозитория:

python3 scripts/review.py --repo /path/to/repo

Или через stdin:

git diff | python3 scripts/review.py

Шаг 3: отфильтровать и оформить

# только critical/warning — то, что блокирует мерж
python3 scripts/review.py --diff /tmp/pr.diff --severity critical,warning

# только security-категория
python3 scripts/review.py --diff /tmp/pr.diff --category security

# markdown-отчёт по шаблону для комментария в PR
python3 scripts/review.py --diff /tmp/pr.diff \
  --format markdown --template templates/review-template.md

# JSON-отчёт для автоматизации
python3 scripts/review.py --diff /tmp/pr.diff --json

📚 Examples

Example 1: ревью PR из репозитория

Input: python3 review.py --repo ./myapp Output:

[critical] src/db.py:18 — SEC-001: SQL-запрос собирается из f-строки — риск SQL-инъекции.
    код: sql = f"INSERT INTO users (name) VALUES ({name})"
    fix: используйте параметризованные запросы: cursor.execute(sql, (name,))
[warning] src/db.py:9 — CORR-001: сравнение с None в Yoda-форме.
    fix: пишите `x is None`

Example 2: ревью файла целиком

Input: python3 review.py --file src/worker.go Output:

[critical] worker.go:16 — SEC-009: запуск через `sh -c` с конкатенацией — риск command injection.
    fix: передавайте аргументы отдельными элементами без shell.

Example 3: markdown-отчёт для комментария в PR

Input: python3 review.py --diff pr.diff --format markdown --template templates/review-template.md Output: готовый Markdown с секциями Summary / Findings / Checklist, подстановкой ,, ,, ,, ,.

⚠️ Constraints & gotchas