commit-message-unifier is a small skill for standardizing Git commit
messages into one explicit format:
[type] area - summary
It requires a detailed body with Why, What, Impact, and
Validation, and it uses literal \r markers to show body wrap points
when a line would exceed 72 characters.
- Generating a commit message from a diff or change summary
- Rewriting inconsistent commit text into one repo-wide format
- Reviewing whether a proposed commit message follows the expected style
- A subject line in the form
[type] area - summary typechosen from a fixed set such asfeat,fix,docs,refactor- A non-empty
areainferred from the changed scope - An imperative
summary - A required body with
Why,What,Impact, andValidation - Detailed-body lines wrapped at 72 characters with literal
\rmarkers - No wrapping on the subject line
| Platform | Status | Notes |
|---|---|---|
| Codex | Supported | Uses the root SKILL.md; agents/openai.yaml provides Codex UI metadata. |
| Claude Code | Supported | Uses the same SKILL.md; ignores agents/openai.yaml. |
| Other skill loaders | Likely | Should work if they load a root SKILL.md; verify local invocation rules first. |
commit-message-unifier/
├── .gitignore
├── LICENSE
├── README.md
├── SKILL.md
└── agents/
└── openai.yaml
If CODEX_HOME is set, install to $CODEX_HOME/skills; otherwise the
default is usually ~/.codex/skills.
mkdir -p "${CODEX_HOME:-$HOME/.codex}/skills"
git clone <your-repo-url> \
"${CODEX_HOME:-$HOME/.codex}/skills/commit-message-unifier"mkdir -p ~/.claude/skills
git clone <your-repo-url> ~/.claude/skills/commit-message-unifierCopy the whole folder into your skills directory. The runtime entry point
is the root SKILL.md. agents/openai.yaml is optional metadata for
Codex's skill list UI.
Codex-style invocation:
Use $commit-message-unifier to turn this diff into a commit message.
Agent-neutral invocation:
Use commit-message-unifier to write a `[type] area - summary` commit
message with Why, What, Impact, and Validation.
The \r below is literal. It marks where the body was wrapped.
[fix] auth - reject expired refresh tokens before middleware handoff
Why:
Expired refresh tokens were not rejected in one branch,\r
which caused inconsistent auth failures downstream.
What:
- Add an explicit expiry check before the refresh path.
- Normalize 401 mapping for expired and malformed\r
tokens.
- Extend middleware tests to cover refresh-token expiry.
Impact:
Auth failures now happen earlier with a consistent 401\r
response, reducing downstream error handling noise.
Validation:
pnpm test auth/middleware.spec.ts
SKILL.mdis the runtime source of truth for the skill behavior.README.mdis only for the GitHub repository.agents/openai.yamlkeeps Codex-specific UI metadata out of the shared runtime skill file.
This repository is released under the MIT License.