From pinocchio
Honest commit message generator. Describes what the diff actually does, not what it aspires to. Bans vague verbs (improve, enhance, optimize, update) without concrete evidence. Requires verbs match diff (add/remove/rename/replace/move). Use when user says "write commit message", "commit this", "/commit", "/pinocchio-commit", or when staging changes. Auto-triggers on commit requests when Pinocchio mode is active.
How this skill is triggered — by the user, by Claude, or both
Slash command
/pinocchio:pinocchio-commitThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Commit messages that describe the diff **as it is**, not as the author wishes it were.
Commit messages that describe the diff as it is, not as the author wishes it were.
The verb must match what the diff does.
| Diff does | Verb |
|---|---|
| Adds new code | add |
| Removes code | remove / drop |
| Renames symbol | rename |
| Replaces implementation | replace |
| Moves code to another file | move |
| Fixes broken behavior | fix |
| Changes default/behavior | change |
| Reformats without behavior change | reformat / style |
| Extracts function/module | extract |
| Inlines function/module | inline |
These lie by omission. Reject unless evidence is included:
Conventional Commits:
<type>(<scope>): <subject>
<body — only when the "why" isn't obvious from the subject>
Types: feat, fix, refactor, chore, docs, test, style, perf, ci, build.
Rules:
add, not added / adds)❌ fix: various improvements to auth module
❌ chore: update dependencies
❌ refactor: clean up the codebase
❌ feat: better error handling
✅ fix(auth): accept tokens issued ≤5s in future to tolerate clock skew
✅ chore(deps): bump lodash 4.17.20 → 4.17.21 (CVE-2021-23337)
✅ refactor(user): extract validateEmail() from createUser(), no behavior change
✅ feat(api): return 422 instead of 500 on malformed JSON body
git diff --staged — read the actual diff.<type>(<scope>): <imperative verb> <what> <why if short>.Add a body when:
Skip body when:
$ git diff --staged
- if (user.role < requiredRole) throw new ForbiddenError();
+ if (user.role <= requiredRole - 1) throw new ForbiddenError();
❌ refactor(auth): improve role check
✅ refactor(auth): rewrite role check without changing semantics
(Only valid if the two expressions are truly equivalent. If role is a string, they're not — verb must change.)
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub cooldadpresident/pinocchio --plugin pinocchio