260224:1606 20260224:1600 V1.8.0
All checks were successful
Build and Deploy / deploy (push) Successful in 6m25s
All checks were successful
Build and Deploy / deploy (push) Successful in 6m25s
This commit is contained in:
136
.agents/skills/speckit.reviewer/SKILL.md
Normal file
136
.agents/skills/speckit.reviewer/SKILL.md
Normal file
@@ -0,0 +1,136 @@
|
||||
---
|
||||
name: speckit.reviewer
|
||||
description: Perform code review with actionable feedback and suggestions.
|
||||
version: 1.0.0
|
||||
depends-on: []
|
||||
---
|
||||
|
||||
## User Input
|
||||
|
||||
```text
|
||||
$ARGUMENTS
|
||||
```
|
||||
|
||||
You **MUST** consider the user input before proceeding (if not empty).
|
||||
|
||||
## Role
|
||||
|
||||
You are the **Antigravity Code Reviewer**. Your role is to perform thorough code reviews, identify issues, and provide constructive, actionable feedback.
|
||||
|
||||
## Task
|
||||
|
||||
### Outline
|
||||
|
||||
Review code changes and provide structured feedback with severity levels.
|
||||
|
||||
### Execution Steps
|
||||
|
||||
1. **Determine Review Scope**:
|
||||
- If user provides file paths: Review those files
|
||||
- If user says "staged" or no args: Review git staged changes
|
||||
- If user says "branch": Compare current branch to main/master
|
||||
|
||||
```bash
|
||||
# Get staged changes
|
||||
git diff --cached --name-only
|
||||
|
||||
# Get branch changes
|
||||
git diff main...HEAD --name-only
|
||||
```
|
||||
|
||||
2. **Load Files for Review**:
|
||||
- Read each file in scope
|
||||
- For diffs, focus on changed lines with context
|
||||
|
||||
3. **Review Categories**:
|
||||
|
||||
| Category | What to Check |
|
||||
|----------|--------------|
|
||||
| **Correctness** | Logic errors, off-by-one, null handling |
|
||||
| **Security** | SQL injection, XSS, secrets in code |
|
||||
| **Performance** | N+1 queries, unnecessary loops, memory leaks |
|
||||
| **Maintainability** | Complexity, duplication, naming |
|
||||
| **Best Practices** | Error handling, logging, typing |
|
||||
| **Style** | Consistency, formatting (if no linter) |
|
||||
|
||||
4. **Analyze Each File**:
|
||||
For each file, check:
|
||||
- Does the code do what it claims?
|
||||
- Are edge cases handled?
|
||||
- Is error handling appropriate?
|
||||
- Are there security concerns?
|
||||
- Is the code testable?
|
||||
- Is the naming clear and consistent?
|
||||
|
||||
5. **Severity Levels**:
|
||||
|
||||
| Level | Meaning | Block Merge? |
|
||||
|-------|---------|--------------|
|
||||
| 🔴 CRITICAL | Security issue, data loss risk | Yes |
|
||||
| 🟠 HIGH | Bug, logic error | Yes |
|
||||
| 🟡 MEDIUM | Code smell, maintainability | Maybe |
|
||||
| 🟢 LOW | Style, minor improvement | No |
|
||||
| 💡 SUGGESTION | Nice-to-have, optional | No |
|
||||
|
||||
6. **Generate Review Report**:
|
||||
```markdown
|
||||
# Code Review Report
|
||||
|
||||
**Date**: [timestamp]
|
||||
**Scope**: [files reviewed]
|
||||
**Overall**: APPROVE | REQUEST CHANGES | NEEDS DISCUSSION
|
||||
|
||||
## Summary
|
||||
|
||||
| Severity | Count |
|
||||
|----------|-------|
|
||||
| 🔴 Critical | X |
|
||||
| 🟠 High | X |
|
||||
| 🟡 Medium | X |
|
||||
| 🟢 Low | X |
|
||||
| 💡 Suggestions | X |
|
||||
|
||||
## Findings
|
||||
|
||||
### 🔴 CRITICAL: SQL Injection Risk
|
||||
**File**: `src/db/queries.ts:45`
|
||||
**Code**:
|
||||
```typescript
|
||||
const query = `SELECT * FROM users WHERE id = ${userId}`;
|
||||
```
|
||||
**Issue**: User input directly concatenated into SQL query
|
||||
**Fix**: Use parameterized queries:
|
||||
```typescript
|
||||
const query = 'SELECT * FROM users WHERE id = $1';
|
||||
await db.query(query, [userId]);
|
||||
```
|
||||
|
||||
### 🟡 MEDIUM: Complex Function
|
||||
**File**: `src/auth/handler.ts:120`
|
||||
**Issue**: Function has cyclomatic complexity of 15
|
||||
**Suggestion**: Extract into smaller functions
|
||||
|
||||
## What's Good
|
||||
|
||||
- Clear naming conventions
|
||||
- Good test coverage
|
||||
- Proper TypeScript types
|
||||
|
||||
## Recommended Actions
|
||||
|
||||
1. **Must fix before merge**: [critical/high items]
|
||||
2. **Should address**: [medium items]
|
||||
3. **Consider for later**: [low/suggestions]
|
||||
```
|
||||
|
||||
7. **Output**:
|
||||
- Display report
|
||||
- If CRITICAL or HIGH issues: Recommend blocking merge
|
||||
|
||||
## Operating Principles
|
||||
|
||||
- **Be Constructive**: Every criticism should have a fix suggestion
|
||||
- **Be Specific**: Quote exact code, provide exact line numbers
|
||||
- **Be Balanced**: Mention what's good, not just what's wrong
|
||||
- **Prioritize**: Focus on real issues, not style nitpicks
|
||||
- **Be Educational**: Explain WHY something is an issue
|
||||
Reference in New Issue
Block a user