Direct shell invocation that returns the current git diff as text.
Replaces sub-agent sub-Agent steps that just shell out to
git diff — order-of-magnitude faster (no LLM round-trip).
Modes
mode (with.mode) |
behaviour |
|---|---|
cached_fallback_worktree |
git diff --cached HEAD; falls back to git diff HEAD if staged diff is empty. Default. |
cached |
git diff --cached HEAD only |
worktree |
git diff HEAD only |
staged_files |
git diff --cached --name-only (path list) |
Output
- Non-empty diff: raw unified diff text on stdout.
- Empty (no changes): exits 0 with the literal
NO_DIFFon stdout so downstream meta-step prompts can short-circuit reviewers. - git not a repo / git error: exit 1, stderr carries the cause.
Fallback
If this skill is unavailable, callers should spawn sub-agent
with a git diff task — same output, ~10× the latency.