Skip to content
cccskills
FreePublished on GitHub

squash-commits

Reorganize a branch's commit history into a few logical commits without changing file contents. Create a backup first, propose groups for approval, remove merges from main, and check the resulting history and working tree.

OriginalShow the original description

Reorganize messy branch commits into a small set of logical, meaningful commits without changing any content. Drops merge-from-main commits. Safe: creates a backup branch first.

See how to install

Good for

  • Tidying commit history before a pull request
  • Grouping changes by feature, fix, tests, or documentation
  • Removing merges from main while preserving file contents

Files included (1)

  • SKILL.md2.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Reorganize the commits on the current branch into a small number of logical commits. Do NOT change any file content — only the commit structure changes.

Instructions

1. Safety check

git status --short

If there are uncommitted changes, stop and tell the user to commit or stash them first.

2. Inspect the branch

git log main..HEAD --oneline
git diff main..HEAD --name-only

List every file changed vs main and every commit on the branch (excluding merge commits from main).

3. Create a backup branch

git branch backup/<current-branch-name>

Tell the user the backup exists so they can recover if needed.

4. Soft-reset to main and unstage everything

git reset --soft main
git restore --staged .

All branch changes are now in the working tree, unstaged. No content has changed.

5. Plan the logical groups

Read the changed files and the original commit messages to understand what the work covers. Group related files into logical commits. Typical groups:

  • Core feature or fix (new source files + modified core files)
  • Secondary features or fixes (each as its own commit if distinct)
  • Refactoring or renames
  • Tests
  • Changelogs / docs

Use the changelog files (if any) as a strong hint — each changelog entry often maps to one commit.

Present the proposed grouping to the user and ask for confirmation before committing.

6. Commit in logical groups

For each group, stage only the relevant files and commit with a clear message following the project's conventions:

git add <file1> <file2> ...
git commit -m "..."

Use conventional commit prefixes if the project uses them (feat:, fix:, refactor:, test:, chore:).

7. Verify

git log main..HEAD --oneline
git diff main..HEAD --name-only
git status --short

Confirm:

  • Commit count is small and each message is meaningful
  • The set of changed files vs main is identical to before
  • Working tree is clean

8. Remind about force-push

The branch history has been rewritten. Tell the user they will need to git push --force-with-lease when they are ready to update the remote. Do NOT push automatically.

Rules

  • Never change file contents. If you find yourself editing a file, stop.
  • Never skip the backup branch step.
  • Never force-push without explicit user instruction.
  • If any step fails or the result looks wrong, tell the user and suggest restoring from the backup: git reset --hard backup/<branch-name>.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

changelog

FreeSummary

Create changelog files for significant changes in a pull request, a proposed code change. Describe effects users will notice and organize entries by PR number and change type, such as features or fixes.

  • Writing changelog entries for a pull request
  • Separating new features from bug fixes
  • Explaining changes in user-facing language
pipecat-ai/pipecat16.6KUpdated Oct 19, 2026

cleanup

FreeSummary

Review and improve code changes on the current branch using Pipecat conventions. Refine names and structure, add type hints and documentation, check example patterns, and make conservative performance improvements while preserving compatibility.

  • Cleaning up branch changes before review
  • Adding missing type hints and documentation
  • Checking Pipecat service and example patterns
pipecat-ai/pipecat16.6KUpdated Oct 19, 2026

code-review

FreeSummary

Review GitHub pull requests with specialized agents that check for clear bugs and violations of project instructions in CLAUDE.md. Validate bug findings before posting focused comments on the affected lines, with fix suggestions where appropriate.

  • Reviewing a pull request for clear bugs
  • Checking changes against CLAUDE.md rules
  • Posting validated findings on affected lines
pipecat-ai/pipecat16.6KUpdated Oct 19, 2026

docstring

FreeSummary

Add or improve Google-style docstrings, the explanations embedded in Python code, for modules and classes. Document constructor arguments, public methods, configuration fields, and enum values while preserving existing documentation that already meets the project’s conventions.

  • Document a Python module
  • Explain constructor arguments and public methods
  • Describe configuration fields and enum values
pipecat-ai/pipecat16.6KUpdated Oct 19, 2026

pr-description

FreeSummary

Draft or update GitHub pull request descriptions using the actual changes and related context. Explain the problem, changed behavior, and review concerns in plain language, including breaking changes and explicit issue-closing references when applicable.

  • Draft a description for a new pull request
  • Rewrite a description to reflect the final implementation
  • Explain behavior changes and review concerns
pipecat-ai/pipecat16.6KUpdated Oct 19, 2026

pr-submit

FreeSummary

Submit current work as a GitHub pull request, handling relevant uncommitted changes and reviewing prose before pushing. After creating the PR, run companion skills to generate changelog files, update the description, and return its URL.

  • Submitting current work as a GitHub pull request
  • Creating a branch and commits for uncommitted changes
  • Reviewing prose and adding a changelog before handoff
pipecat-ai/pipecat16.6KUpdated Oct 19, 2026

See all skills by pipecat-ai

Report a problem with this skill