Agent skill
jj:squash
Squash changes from working copy into relevant ancestor commits
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/jj-squash-jbott-nix-config
SKILL.md
Squash Changes Into Ancestors
Move changes from the current working copy into appropriate ancestor commits.
Process
- Run
jj diff --summaryandjj diff --statfor overview - Run
jj log -r ::@- --limit 15to see candidate ancestor commits - Analyze changes:
- Small (≤5 files, ≤200 lines): run
jj diffdirectly - Large: use
/jj-contextfor structured summary
- Small (≤5 files, ≤200 lines): run
- Match changes to commits by path and commit descriptions
- Execute squashes
Basic Usage
Without options, jj squash moves all changes from @ into its parent:
jj squash # squash @ into @-
Whole Files
jj squash --into <change-id> path/to/file.py # -t is short for --into
jj squash --into <change-id> "src/**/*.py" # glob pattern
jj squash --into @-- # into grandparent
Sub-File Chunks
For extracting specific hunks (not whole files):
-
Save original @ change ID:
bashjj log -r @ --no-graph -T 'change_id' -
Create intermediate commit:
bashjj new --insert-before @ -
Write only the hunks for target commit (use Edit tool)
-
Squash into target:
bashjj squash --into <target-change-id> -
Return to rebased @ and remove duplicated hunks:
bashjj edit <rebased-@-change-id> -
Restore working copy:
bashjj new
Notes
- Always use change IDs (e.g.,
ksrmwuon) not commit IDs - they're stable across rewrites - After squashing, @ remains as working copy (empty if all changes moved)
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?