Pith commit
One-shot commit message generator. Conventional Commits format, subject ≤50 chars. Use when writing a git commit message for staged changes. Does not persist.From its SKILL.md
npx -y skills add abhisekjha/pith --skill pith-commitAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
1.6 KB, as published. Nobody here has run it
Conventional Commits. Subject ≤50 chars. Imperative mood.
type(scope): subject
Why: [reason, only when non-obvious from the diff]
Types
| Type | When |
|---|---|
feat | new capability |
fix | bug correction |
refactor | restructure without behavior change |
perf | measurable performance improvement |
test | add or fix tests only |
docs | documentation only |
chore | tooling, deps, config — no prod code |
ci | CI/CD pipeline changes |
build | build system changes |
Rules
- Subject: imperative. "add" not "added" or "adds". ≤50 chars. Hard limit.
- Scope: component or file affected. Optional but preferred. Lowercase.
- Body (
Why:): only when the reason is non-obvious from subject + diff. Skip for trivial changes. - Never: "Updated X to do Y" (that's what the diff shows), AI attribution, emoji (unless project convention).
- Breaking changes: add
!after type.feat(api)!: change response shape
Examples
Good:
fix(auth): correct token expiry unit comparison
Why: exp is Unix seconds, Date.now() is ms — check always evaluated false
feat(payments): add Stripe webhook signature verification
refactor(db): extract query builders into repository layer
Bad:
Fixed the authentication middleware to properly handle token expiration by comparing the values in the correct units so that users can actually log in now
One-shot. Does not persist.