code-review · getsentry — скилл для Claude Code: ревью по практикам Sentry
Скилл для ревью пул-реквестов и правок кода по инженерным практикам Sentry: безопасность, производительность, тесты, дизайн.
npx skills add getsentry/skills --skill code-review -a claude-codeЧто делает code-review
Скилл задаёт агенту чек-лист, по которому тот разбирает изменения. Сначала ищет проблемы: возможные исключения, обращения к null, выход за границы массива, неограниченные операции O(n²), N+1 запросы, лишние аллокации. Отдельно смотрит на побочные эффекты, ломающие другие компоненты, и на обратную совместимость API без пути миграции. Сложные запросы Django ORM тоже в списке.
Дальше идёт оценка дизайна: логичны ли взаимодействия компонентов, вписывается ли правка в архитектуру проекта, нет ли конфликта с текущими требованиями. Тесты проверяются на покрытие реальных сценариев и краевых случаев, при этом ветвления и циклы в самом тестовом коде считаются лишними. Изменения схемы базы, контрактов API, новые библиотеки, чувствительный к производительности и безопасности код скилл помечает для ревью старшим инженером.
Тон обратной связи прописан: вежливо, с конкретными предложениями, неуверенные замечания — в форме вопроса. Одобрять можно, когда остались только мелочи, и блокировать PR из-за стилистических предпочтений не стоит. Внутри есть примеры частых ошибок на Python/Django, TypeScript/React и на SQL-инъекции. Скилл заточен под проекты Sentry, поэтому в чужом репозитории часть пунктов придётся отбросить.
Какие задачи решает
- поймать N+1 запрос в Django до мержа
- проверить, не сломает ли правка обратную совместимость API
- найти незакрытую инъекцию или утечку секрета
- оценить покрытие тестами краевых случаев
- отделить правки, которые должен смотреть старший инженер
Примеры запросов агенту
- Сделай ревью этого пул-реквеста по чек-листу code-review
- Проверь изменения в
views.pyна N+1 запросы и проблемы с производительностью - Посмотри диф по безопасности: инъекции, XSS, контроль доступа
Как установить code-review
1Через Skills CLI (Vercel)
npx skills add getsentry/skills --skill code-review -a claude-code2Вручную: положить файлы
~/.claude/skills/code-review/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/code-review/
1Через Skills CLI (Vercel)
npx skills add getsentry/skills --skill code-review -a codex2Вручную: положить файлы
.agents/skills/code-review/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add getsentry/skills --skill code-review -a cursor2Вручную: положить файлы
.cursor/skills/code-review/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install getsentry/skills code-review2Вручную: положить файлы
.github/skills/code-review/SKILL.md1Через Skills CLI (Vercel)
npx skills add getsentry/skills --skill code-review -a gemini-cli2Командой платформы
gemini skills install https://github.com/getsentry/skills --path skills/code-reviewВручную: положить файлы
.devin/skills/code-review/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add getsentry/skills --skill code-review -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о code-review
Как установить code-review в Claude?
Выполните npx skills add getsentry/skills --skill code-review -a claude-code. Скилл окажется в ~/.claude/skills/code-review/SKILL.md.
Что делает code-review?
Прогоняет изменения по чек-листу Sentry: ошибки времени выполнения, производительность, побочные эффекты, обратная совместимость, безопасность, дизайн и покрытие тестами. На выходе — замечания с предложениями, а не общая критика.
Подойдёт ли скилл для проекта не от Sentry?
Чек-лист описывает практики Sentry, и часть пунктов привязана к их процессу. В своём репозитории берите то, что совпадает с вашими правилами ревью.
Исходный текст
SKILL.md · Apache-2.0
---
name: code-review
description: Perform code reviews following Sentry engineering practices. Use when reviewing pull requests, examining code changes, or providing feedback on code quality. Covers security, performance, testing, and design review.
---
# Sentry Code Review
Follow these guidelines when reviewing code for Sentry projects.
## Review Checklist
### Identifying Problems
Look for these issues in code changes:
- **Runtime errors**: Potential exceptions, null pointer issues, out-of-bounds access
- **Performance**: Unbounded O(n²) operations, N+1 queries, unnecessary allocations
- **Side effects**: Unintended behavioral changes affecting other components
- **Backwards compatibility**: Breaking API changes without migration path
- **ORM queries**: Complex Django ORM with unexpected query performance
- **Security vulnerabilities**: Injection, XSS, access control gaps, secrets exposure
### Design Assessment
- Do component interactions make logical sense?
- Does the change align with existing project architecture?
- Are there conflicts with current requirements or goals?
### Test Coverage
Every PR should have appropriate test coverage:
- Functional tests for business logic
- Integration tests for component interactions
- End-to-end tests for critical user paths
Verify tests cover actual requirements and edge cases. Avoid excessive branching or looping in test code.
### Long-Term Impact
Flag for senior engineer review when changes involve:
- Database schema modifications
- API contract changes
- New framework or library adoption
- Performance-critical code paths
- Security-sensitive functionality
## Feedback Guidelines
### Tone
- Be polite and empathetic
- Provide actionable suggestions, not vague criticism
- Phrase as questions when uncertain: "Have you considered...?"
### Approval
- Approve when only minor issues remain
- Don't block PRs for stylistic preferences
- Remember: the goal is risk reduction, not perfect code
## Common Patterns to Flag
### Python/Django
```python
# Bad: N+1 query
for user in users:
print(user.profile.name) # Separate query per user
# Good: Prefetch related
users = User.objects.prefetch_related('profile')
```
### TypeScript/React
```typescript
// Bad: Missing dependency in useEffect
useEffect(() => {
fetchData(userId);
}, []); // userId not in deps
// Good: Include all dependencies
useEffect(() => {
fetchData(userId);
}, [userId]);
```
### Security
```python
# Bad: SQL injection risk
cursor.execute(f"SELECT * FROM users WHERE id = {user_id}")
# Good: Parameterized query
cursor.execute("SELECT * FROM users WHERE id = %s", [user_id])
```
## References
- [Sentry Code Review Guidelines](https://develop.sentry.dev/engineering-practices/code-review/)
© getsentry · Apache-2.0 · getsentry/skills
Похожие скиллы
Всё по теме «Код-ревью и рефакторинг» →Сначала — code-review от других авторов.