Examines git diffs between commits or branches with intelligent analysis. Provides unified diff format with comprehensive summaries including file statistics, rename detection, and merge commit handling. Outputs formatted diffs to /claudedocs for documentation and review purposes.
Analyzes git diffs between commits or branches with intelligent detection of renames, merges, and large diffs. Use when you need to examine code changes, as it triggers on commit/branch comparisons and outputs formatted analysis to /claudedocs.
/plugin marketplace add Olino3/forge/plugin install forge-plugin@forge-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
examples.mdscripts/README.mdscripts/commit_info.shscripts/diff_stats.shscripts/file_operations.shscripts/utils.shscripts/validate.shtemplates/output_template.mdCRITICAL: The 4-step workflow outlined in this document MUST be followed in exact order for EVERY diff analysis. Skipping steps or deviating from the procedure will result in incomplete analysis. This is non-negotiable.
git_diff_reference.md: Unified diff format reference and best practicesdiff_patterns.md: Common patterns to identify in code changes{project-name}/: Per-project diff patterns and insightsREADME.md: Complete documentation for all helper scriptsvalidate.sh: Git repository and commit validation functionscommit_info.sh: Commit metadata retrieval (hash, author, date, message)diff_stats.sh: Diff statistics and line count analysisfile_operations.sh: File operation detection (add, modify, delete, rename)utils.sh: General utilities (branch detection, formatting, repo info)output_template.md: Standard output format templateGit diff analysis evaluates 7 critical dimensions:
Note: Analysis depth is summary-level, focusing on what changed and high-level impact.
YOU MUST:
git rev-parse to verify and get full commit hashesDO NOT PROCEED WITHOUT VALID COMMITS
YOU MUST:
git diff [commit1]...[commit2] to get the unified diffgit diff -M to detect renamesgit diff [commit]^...[commit] for merge commit analysisgit diff --statgit diff --name-status to identify A/M/D/R operationsDO NOT SKIP SPECIAL CASE DETECTION
YOU MUST analyze and document:
Commit Metadata:
Change Statistics:
File Operations:
Change Categorization:
Special Notes:
DO NOT SKIP ANALYSIS
YOU MUST:
templates/output_template.mddiff_{short_hash1}_{short_hash2}.md/claudedocs/ directoryOutput Format Requirements:
diff language tagDO NOT OMIT ANY REQUIRED SECTIONS
OPTIONAL: Update Project Memory
If patterns emerge during analysis, consider storing insights in ../../memory/skills/get-git-diff/{project-name}/:
When encountering large diffs:
git diff [hash1]...[hash2] to view."For file renames:
git diff -M flag to detect renames (default similarity index: 50%)old/path/file.py � new/path/file.pyR+M (renamed and modified)rename from/toFor merge commits:
git rev-list --mergesgit diff [commit]^...[commit] to show changes introduced by mergeBefore completing ANY diff analysis, verify:
FAILURE TO COMPLETE ALL STEPS INVALIDATES THE ANALYSIS
Format: diff_{short1}_{short2}.md
Where:
{short1} = First 7 characters of first commit hash{short2} = First 7 characters of second commit hashExamples:
diff_a1b2c3d_e4f5g6h.md (commit to commit)diff_main_feature-branch.md (branch comparison, if hashes not available)Alternative for branches: If comparing branch tips, you may use branch names if they're short and filesystem-safe.
# Get commit info
git rev-parse [commit]
git log -1 --format="%H|%h|%an|%ae|%ad|%s" [commit]
# Generate diff
git diff [commit1]...[commit2]
git diff --stat [commit1]...[commit2]
git diff --name-status [commit1]...[commit2]
git diff -M [commit1]...[commit2] # Detect renames
# Special cases
git rev-list --merges [commit] # Check if merge commit
git diff [commit]^1..[commit] # Merge commit against first parent
Refer to official documentation:
This skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.