Squash Commit Message Writer
Reads a PR's net diff and produces one commitlint-passing squash commit message.
Dev & CodingIntermediate★ 578⑂ 72AI score 5/10Last updated: Sep 26, 2026
What it does
- Computes the branch's net change with
git merge-baseand writes the message from the final diff, not the commit journey (fixups get folded into the item they amend). - Produces a Conventional Commit title
type(scope): summary, a skimmable body (up to five bullets, wrapped at 72 columns) and preserves every distinctCo-authored-by:trailer. - Writes the message to a temp file and actually verifies it with
pnpm exec commitlint --edit, then copies it viapbcopywhen available. - Encodes changelog safety rules, e.g. never use
chorefor shipped skill content because release-please drops it.
Who it's for
- Teams on squash-merge workflows using Conventional Commits, commitlint and release-please.
- Developers tired of commit bodies full of file inventories and review history.
- Contributors to the Scenario Labs skills repo (the scope list is repo-specific).
Examples
- A PR with a dozen noisy commits: ask for a squash message and get one summary of the net change only.
- A PR landing several features: get a
feat(skills): ...title plus a tight five-bullet body. - Pairing or agent-assisted work: all
Co-authored-by:trailers are collected into the footer.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/scenario-labs/skills/HEAD/.agents/skills/skills-squash-message/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the .agents/skills/skills-squash-message folder from the GitHub repo scenario-labs/skills into my ~/.claude/skills/skills-squash-message/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/scenario-labs/skills.git && mkdir -p ~/.claude/skills && cp -r skills/.agents/skills/skills-squash-message ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal and clone the repo:
git clone https://github.com/scenario-labs/skills.git - Create the skills folder:
mkdir -p ~/.claude/skills - Copy the skill:
cp -r skills/.agents/skills/skills-squash-message ~/.claude/skills/ - Restart Claude Code and confirm
skills-squash-messageappears in your skill list. - For other projects, edit
SKILL.mdto match your own scopes, drop theAGENTS.mdreference, and adjust thepnpm exec commitlintcommand to your tooling. - On a PR branch, just ask: "write the squash commit message for this PR".
View source on GitHub ↗License: MIT