Diff Scope

Determine which git diff to analyze based on the user's request. Supports current diff, most recent commit, or current branch.

jamiebrynes7 29936d9 1.1 KB Updated

File contents

Diff Scope

Determine which git diff to analyze based on the user's request.

Current diff (default)

Use when the user mentions "current changes", "my diff", "uncommitted changes", or does not specify a scope.

git diff HEAD

This combines both staged and unstaged changes against HEAD.

Most recent commit

Use when the user mentions "last commit", "most recent commit", or "previous commit".

git diff HEAD~1..HEAD

All commits on the current branch

Use when the user mentions "branch changes", "all commits", "changes since main", or "this branch".

First, detect the default branch:

git rev-parse --verify main 2>/dev/null && echo main || echo master

Then diff against it using the merge-base:

git diff $(git merge-base <default-branch> HEAD)..HEAD

If the selected diff is empty, STOP and tell the user there are no changes to analyze.

jamiebrynes7/dotfiles/tree/main/home/lib/ai/skills/diff-scope commit 29936d9b7e

Frequently asked questions

npx skillmds@latest add jamiebrynes7/diff-scope