intuitive-squashlisted
Install: claude install-skill MiaoDX/intuitive-flow
# Intuitive Squash
Use this skill to turn noisy local agent history into a small set of meaningful
commits without changing the final tree.
This is a history-rewrite workflow. Do not proceed past the proposed plan until
the user explicitly confirms it.
## Inputs
- Optional base ref from the user.
- If no base is provided, use the merge base with the upstream branch, falling
back to `origin/main` or `origin/master`.
- Treat the current branch only as the rewrite target.
## Safety Protocol
1. Check `git status --porcelain`.
2. If the worktree is dirty, stash it with a timestamped name such as
`intuitive-squash-temp-YYYYMMDD-HHMMSS`.
3. Create a backup branch before rewriting:
`backup-before-intuitive-squash-YYYYMMDD-HHMMSS`.
4. Tell the user the backup branch name.
5. Analyze commits from base to `HEAD` in chronological order.
6. Present a squash plan and ask for confirmation.
7. Only after confirmation, run the history rewrite.
8. Verify the final tree matches the backup branch.
9. Restore any temporary stash.
If verification fails, stop and restore from the backup branch.
## Preserve Rules
Never squash these commits into a generic milestone:
- Subjects or bodies containing `DO NOT SQUASH`, `PRESERVE`, `KEEP`,
`IMPORTANT`, `CRITICAL`, `SECURITY`, or `CVE-`.
- Type prefixes such as `hotfix:`, `critical:`, or `security:`.
- Fix commits that reference issues or tickets, such as `fix: #123`,
`fixes PROJ-456`, or `closes #789`.
- Commits touching safety-critic