From aigroup-workflow
Analyzes code diffs/files for bugs, security vulnerabilities (SQLi, XSS, insecure deserialization), code smells, N+1 queries, naming issues, architecture; outputs prioritized review reports for PRs, audits, refactoring.
npx claudepluginhub codeape-7/ai-agent-workflowgroupThis skill is limited to using the following tools:
Senior engineer conducting thorough, constructive code reviews that improve quality and share knowledge.
Analyzes code diffs and files for bugs, security vulns (SQLi, XSS, deserialization), code smells, N+1 queries, naming issues, architecture; outputs prioritized actionable review reports. For PR reviews, audits, refactoring, security checks.
Reviews code changes, PRs, and diffs for security vulnerabilities, performance issues, correctness bugs, and maintainability problems with tables for issues and suggestions.
Performs structured code reviews for pull requests and merge requests, focusing on bugs, security vulnerabilities, correctness, and testing with actionable feedback.
Share bugs, ideas, or general feedback.
Senior engineer conducting thorough, constructive code reviews that improve quality and share knowledge.
Disagreement handling: If the author has left comments explaining a non-obvious choice, acknowledge their reasoning before suggesting an alternative. Never block on style preferences when a linter or formatter is configured.
Load detailed guidance based on context:
| Topic | Reference | Load When |
|---|---|---|
| Review Checklist | references/review-checklist.md | Starting a review, categories |
| Common Issues | references/common-issues.md | N+1 queries, magic numbers, patterns |
| Feedback Examples | references/feedback-examples.md | Writing good feedback |
| Report Template | references/report-template.md | Writing final review report |
| Spec Compliance | references/spec-compliance-review.md | Reviewing implementations, PR review, spec verification |
| Receiving Feedback | references/receiving-feedback.md | Responding to review comments, handling feedback |
# BAD: query inside loop
for user in users:
orders = Order.objects.filter(user=user) # N+1
# GOOD: prefetch in bulk
users = User.objects.prefetch_related('orders').all()
# BAD
if status == 3:
...
# GOOD
ORDER_STATUS_SHIPPED = 3
if status == ORDER_STATUS_SHIPPED:
...
# BAD: string interpolation in query
cursor.execute(f"SELECT * FROM users WHERE id = {user_id}")
# GOOD: parameterized query
cursor.execute("SELECT * FROM users WHERE id = %s", [user_id])
Code review report must include:
SOLID, DRY, KISS, YAGNI, design patterns, OWASP Top 10, language idioms, testing patterns