diff-analyze — Claude Code skill: what it does, how to install
Analyzes a git diff before a PR, scoring risk, classifying changes, and suggesting reviewer roles. Use it before merging a large change.
npx skills add ruvnet/ruflo --skill diff-analyze -a claude-codeWhat diff-analyze does
The skill selects a ref for uncommitted work, a branch, or a PR, then runs Ruflo diff-analysis tools. It returns an overall analysis, a quantified risk score, a change category, line and file statistics, plus risk checks for flagged files.
Risk signals include files with high churn, paths related to authentication, cryptography, or permissions, diffs over 500 lines, cross-module edits, and database migration files. With --pr, it resolves the base and head refs through gh pr view N --json baseRefName,headRefName.
Reviewer output describes roles inferred from paths and risk. Check CODEOWNERS separately before assigning people; that matters for any real review handoff.
What it helps with
- score the risk of a diff before a PR
- classify changes as features, bug fixes, or refactors
- suggest reviewer roles from file paths
- inspect risk in flagged files
- count changed lines and files
Example prompts for the agent
- Run diff-analyze for my uncommitted changes.
- Use diff-analyze --branch BRANCH and assess this diff.
- Run diff-analyze --pr PR# and suggest reviewer roles.
How to install diff-analyze
1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill diff-analyze -a claude-code2Manually: put the files in place
~/.claude/skills/diff-analyze/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/diff-analyze/
1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill diff-analyze -a codex2Manually: put the files in place
.agents/skills/diff-analyze/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill diff-analyze -a cursor2Manually: put the files in place
.cursor/skills/diff-analyze/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install ruvnet/ruflo diff-analyze2Manually: put the files in place
.github/skills/diff-analyze/SKILL.md1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill diff-analyze -a gemini-cli2Platform CLI
gemini skills install https://github.com/ruvnet/ruflo --path plugins/ruflo-jujutsu/skills/diff-analyzeManually: put the files in place
.devin/skills/diff-analyze/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill diff-analyze -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about diff-analyze
How do I install diff-analyze in Claude Code?
Run npx skills add ruvnet/ruflo --skill diff-analyze -a claude-code, then run npx skills add ruvnet/ruflo --skill diff-analyze -a claude-code again. The skill file is placed at ~/.claude/skills/diff-analyze/SKILL.md.
What does diff-analyze do?
It analyzes git diffs for risk, change type, reviewer roles, and diff statistics. It can also inspect risk at the individual file level.
Does diff-analyze assign reviewers?
It recommends reviewer roles based on paths and risk. Check CODEOWNERS separately when assigning specific people.
Source text
SKILL.md · MIT
---
name: diff-analyze
description: Analyze git diffs for risk scoring, reviewer recommendations, and change classification. Use when preparing a PR, reviewing a large or cross-module change, or before merging to assess risk and pick reviewers.
argument-hint: "[--branch BRANCH] [--pr PR#]"
allowed-tools: mcp__plugin_ruflo-core_ruflo__analyze_diff mcp__plugin_ruflo-core_ruflo__analyze_diff-risk mcp__plugin_ruflo-core_ruflo__analyze_diff-classify mcp__plugin_ruflo-core_ruflo__analyze_diff-reviewers mcp__plugin_ruflo-core_ruflo__analyze_diff-stats mcp__plugin_ruflo-core_ruflo__analyze_file-risk Bash
---
# Diff Analysis
Analyze git diffs for risk, complexity, and reviewer assignment.
## When to use
Before submitting a PR or after making significant changes, analyze the diff to understand risk level, get reviewer recommendations, and classify the type of change.
## Steps
0. **Pick the ref** — `HEAD` for uncommitted work, `main..BRANCH` for a branch (`--branch`), or the PR's base..head range (`--pr`, resolve it with `gh pr view N --json baseRefName,headRefName`). The analyze_* tools take a `ref` and run git themselves; they do not accept diff text.
1. **Analyze diff** — call `mcp__plugin_ruflo-core_ruflo__analyze_diff` with `{ ref, includeFileRisks: true }` for a comprehensive analysis
2. **Risk score** — call `mcp__plugin_ruflo-core_ruflo__analyze_diff-risk` with `{ ref }` for a quantified risk assessment
3. **Classify changes** — call `mcp__plugin_ruflo-core_ruflo__analyze_diff-classify` with `{ ref }` to categorize (feature, bugfix, refactor, etc.)
4. **Get reviewer roles** — call `mcp__plugin_ruflo-core_ruflo__analyze_diff-reviewers` with `{ ref, limit }` for roles inferred from paths and risk; check CODEOWNERS separately when assigning people
5. **Diff stats** — call `mcp__plugin_ruflo-core_ruflo__analyze_diff-stats` with `{ ref }` for line counts, file counts, complexity metrics
6. **File-level risk** — call `mcp__plugin_ruflo-core_ruflo__analyze_file-risk` with `{ path }` (required) for each file the earlier steps flagged
## Risk factors
- Files with high churn history
- Security-sensitive paths (auth, crypto, permissions)
- Large diffs (>500 lines)
- Cross-module changes
- Database migration files
© ruvnet · MIT · ruvnet/ruflo