Skip to content
Back to skills

Clavix Review

ASecurity

Review code changes with criteria-driven analysis (Security, Architecture, Standards, Performance). Use when reviewing PRs or code changes.

  • 666 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added February 8, 2026
code-qualitygobashsqltestinggitsecurityperformancedocumentation

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill clavix-review --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Clavix Review?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Clavix Review
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-clavix-review/badge)](https://www.skillsdirectory.com/skills/majiayu000-clavix-review)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: clavix-review
description: Review code changes with criteria-driven analysis (Security, Architecture, Standards, Performance). Use when reviewing PRs or code changes.
license: Apache-2.0
---
# Clavix Review Skill

Review code changes (PRs, branches) with criteria-driven analysis and structured feedback.

## What This Skill Does

1. **Ask for PR context** - Which branch or PR to review
2. **Gather review criteria** - What aspects to focus on (security, architecture, standards, etc.)
3. **Collect additional context** - Team conventions, specific concerns, or focus areas
4. **Analyze the diff** - Read changed files and surrounding context
5. **Generate review report** - Structured findings with severity levels
6. **Save the report** - To `.clavix/outputs/reviews/` for reference

**This is about analysis, not fixing. I report issues for you to address.**

---

## State Assertion (REQUIRED)

**Before starting review, output:**

```
**CLAVIX MODE: PR Review**
Mode: analysis
Purpose: Criteria-driven code review generating actionable feedback
Implementation: BLOCKED - I will analyze and report, not modify code
```

---

## Self-Correction Protocol

**DETECT**: If you find yourself doing any of these 6 mistake types:

| Type | What It Looks Like |
|------|--------------------|
| 1. Skipping Diff Analysis | Reviewing without actually reading the changed code |
| 2. Ignoring User Criteria | Checking all dimensions when user specified focus areas |
| 3. Vague Feedback | "Code could be better" instead of specific file:line issues |
| 4. False Positives | Flagging issues that follow existing project patterns |
| 5. Missing Context | Not considering existing conventions before flagging |
| 6. Implementation Mode | Starting to fix issues instead of just reporting them |

**STOP**: Immediately halt the incorrect action

**CORRECT**: Output:
"I apologize - I was [describe mistake]. Let me return to the review workflow."

**RESUME**: Return to the review workflow with correct approach.

---

## Phase 1: Context Gathering

### Step 1: Ask for PR Identification

```
What PR would you like me to review?

Options:
- Provide a branch name (I'll diff against main/master)
- Describe the feature/change and I'll help locate it

Example: "feature/user-authentication" or "the payment integration branch"
```

**If branch provided**: Confirm target branch for diff (default: main or master)

**If unclear**: Ask clarifying questions to identify the correct branch

### Step 2: Ask for Review Criteria

```
What aspects should I focus on?

Presets:
πŸ”’ Security     - Auth, validation, secrets, XSS/CSRF, injection
πŸ—οΈ Architecture - Design patterns, SOLID, separation of concerns
πŸ“ Standards    - Code style, naming, documentation, testing
⚑ Performance  - Efficiency, caching, query optimization
πŸ”„ All-Around   - Balanced review across all dimensions

Or describe specific concerns (e.g., "error handling and input validation")
```

**CHECKPOINT:** Criteria selected: [list criteria]

### Step 3: Ask for Additional Context (Optional)

```
Any team conventions or specific concerns I should know about?

Examples:
- "We use Repository pattern for data access"
- "All endpoints must have input validation"
- "Check for proper error handling"
- "We require 80% test coverage"

(Press Enter to skip)
```

**CHECKPOINT:** Context gathered, ready to analyze

---

## Phase 2: Diff Retrieval

### Get the Diff

```bash
git diff <target-branch>...<source-branch>
```

Or if on the feature branch:
```bash
git diff <target-branch>
```

### If Diff Retrieval Fails

- Check if branch exists: `git branch -a | grep <branch-name>`
- Suggest alternatives: "I couldn't find that branch. Did you mean [similar-name]?"
- Offer manual input: "You can paste the diff or list of changed files"

### Categorize Changed Files

- **Source code**: `.ts`, `.js`, `.py`, etc.
- **Tests**: `*.test.*`, `*.spec.*`
- **Config**: `.json`, `.yaml`, `.env.*`
- **Documentation**: `.md`, `.txt`

Prioritize based on selected criteria (e.g., security β†’ auth files first)

**CHECKPOINT:** Retrieved diff with [N] changed files

---

## Phase 3: Criteria-Based Analysis

For each selected criterion, systematically check the diff:

### πŸ”’ Security Analysis

- Authentication checks on protected routes
- Authorization/permission verification
- Input validation and sanitization
- No hardcoded secrets, keys, or tokens
- XSS prevention (output encoding)
- CSRF protection on state changes
- SQL injection prevention (parameterized queries)
- Safe dependency usage

### πŸ—οΈ Architecture Analysis

- Separation of concerns maintained
- Coupling between components
- Cohesion within modules
- SOLID principles adherence
- Consistent design patterns
- No layer violations (e.g., UI calling DB directly)
- Dependency direction toward abstractions

### πŸ“ Standards Analysis

- Descriptive, consistent naming
- Meaningful comments where needed
- Reasonable function/method length
- DRY principle (no duplication)
- Consistent code style
- Clear error messages
- Appropriate logging

### ⚑ Performance Analysis

- N+1 query detection
- Appropriate caching
- Lazy loading where applicable
- Proper resource cleanup
- Efficient algorithms/data structures

### πŸ§ͺ Testing Analysis

- New code has tests
- Edge cases covered
- Error scenarios tested
- Test quality and readability
- Integration tests for critical paths

**IMPORTANT:**
- Only analyze criteria the user selected
- Consider existing project patterns before flagging
- Read surrounding code for context
- Be specific: include file name and line number

**CHECKPOINT:** Analysis complete for [criteria list]

---

## Phase 4: Report Generation

Generate the review report following this exact structure:

```markdown
# PR Review Report

**Branch:** `{source-branch}` β†’ `{target-branch}`
**Files Changed:** {count}
**Review Criteria:** {selected criteria}
**Date:** {YYYY-MM-DD}

---

## πŸ“Š Executive Summary

| Dimension | Rating | Key Finding |
|-----------|--------|-------------|
| {Criterion 1} | 🟒 GOOD | {one-line summary} |
| {Criterion 2} | 🟑 FAIR | {one-line summary} |
| {Criterion 3} | πŸ”΄ NEEDS WORK | {one-line summary} |

**Overall Assessment:** {Approve / Approve with Minor Changes / Request Changes}

---

## πŸ” Detailed Findings

### πŸ”΄ Critical (Must Fix)

| ID | File | Line | Issue |
|:--:|:-----|:----:|:------|
| C1 | `{file}` | {line} | {specific issue description} |

{If none: "No critical issues found."}

### 🟠 Major (Should Fix)

| ID | File | Line | Issue |
|:--:|:-----|:----:|:------|
| M1 | `{file}` | {line} | {specific issue description} |

{If none: "No major issues found."}

### 🟑 Minor (Nice to Fix)

| ID | File | Line | Issue |
|:--:|:-----|:----:|:------|
| N1 | `{file}` | {line} | {specific issue description} |

{If none: "No minor issues found."}

### βœ… Positive Notes

- {Good practice observed in file:line}
- {Pattern worth highlighting}

---

## πŸ’‘ Recommendations

1. **Immediate:** {Critical fixes needed before merge}
2. **Before merge:** {Major improvements to address}
3. **Consider:** {Minor enhancements for code quality}
```

---

## Severity Levels

| Level | Symbol | Meaning |
|-------|--------|---------|
| Critical | πŸ”΄ | Must fix before merge, security/data risk |
| Major | 🟠 | Should fix, significant issue |
| Minor | 🟑 | Nice to fix, quality improvement |
| Positive | βœ… | Good practices worth noting |

---

## Save Location

Review reports: `.clavix/outputs/reviews/{branch}-{YYYY-MM-DD}.md`

---

## Difference from /clavix-verify

| /clavix-verify | /clavix-review |
|----------------|----------------|
| Checks YOUR code against YOUR PRD | Reviews code changes against criteria |
| Requirement-focused | Code quality-focused |
| Pass/fail on features | Severity-based findings |
| Self-verification | Peer review |

---

## Mode Boundaries

**What I'll do:**
- βœ“ Ask clarifying questions about the PR and review focus
- βœ“ Retrieve and analyze the git diff
- βœ“ Check code against selected criteria
- βœ“ Generate structured review report with severity levels
- βœ“ Save the report for reference
- βœ“ Highlight both issues and good practices

**What I won't do:**
- βœ— Fix issues in the code
- βœ— Approve or merge the PR
- βœ— Skip the criteria gathering phase
- βœ— Make changes to the codebase

**We're reviewing code, not modifying it.**

---

## Troubleshooting

### Issue: Branch not found
**Solution**: Run `git fetch origin`, check spelling with `git branch -a | grep <name>`

### Issue: Diff is empty
**Solution**: Confirm correct branches, check if already merged

### Issue: Too many false positives
**Solution**: Read more context, check project patterns, ask about team conventions

### Issue: User wants me to fix issues
**Solution**: Remind this is review mode; suggest separate session to implement fixes

---

## Next Steps

After review: Share report with team, track critical/major fixes, re-review after changes

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.