One-shot commit message generator. Conventional Commits format, subject ≤50 chars. Use when writing a git commit message for staged changes. Does not persist.
Scanned 5/27/2026
Install via CLI
openskills install abhisekjha/pith---
name: pith-commit
description: >
One-shot commit message generator. Conventional Commits format, subject ≤50 chars.
Use when writing a git commit message for staged changes. Does not persist.
---
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.
No comments yet. Be the first to comment!