Commit suggest
Suggest a commit message for the current changes following this project's commit message guide. Use when asked to suggest, draft, propose, or write a commit message for the staged/unstaged changes.From its SKILL.md
npx -y skills add NaderNabil216/skillsmith --skill commit-suggestAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 4 commands, including `git status --short` and 3 more.
SKILL.md
4.1 KB, 989 tokens by cl100k_base, as published. Nobody here has run it
commit-suggest
Inspect the current working-tree changes and propose a commit message that
follows the commit message rules embedded below. This skill suggests only —
it never runs git commit. Present the message and let the user decide.
Steps
-
Gather the changes. Run these to see what is actually changing:
git status --short git diff HEAD --stat git diff HEADgit diff HEADshows staged + unstaged together. If the diff is very large, fall back togit diff HEAD --statplus reading the most relevant hunks — the message must reflect the real change, not a guess from filenames. -
Derive the ticket ID from the branch name (branches look like
feature/PROJ-47-...):git rev-parse --abbrev-ref HEAD | grep -oE '[A-Z]+-[0-9]+' | head -1Use it as the
[TICKET-ID]prefix. If none is found, omit the prefix and note that no ticket ID was detected. -
Compose the message following the rules in the section below.
-
Present the suggestion in a fenced ```text block so the user can copy it. If the staged and unstaged sets differ meaningfully, mention which files are staged vs. not, since
git commitwithout-awould only capture the staged ones. Do not commit.
Notes
- End the message with the required co-author trailer only if the user asks to actually commit — suggestions stay clean.
- This repo's convention puts the ticket ID in
[BRACKETS]; recent history uses prefixes like[PROJ-24],[PROJ-101].
Commit Message Rules
Recommended Format
[TICKET-42] Write header in imperative form without period
After a blank line, optionally add more details about the change.
Explain the "why" here, while the header focuses on the "what".
- Bullet points can be used
- Add technical clarifications when needed
- Keep lines around 80 characters
Header
- Always include the ticket ID in
[BRACKETS]if available (e.g.[ABC-1234],[PROJ-26],[XYZ-10592]). - Use imperative form — start with a present-tense verb:
Add,Fix,Refactor,Update,Remove,Migrate. Never use past tense (Fixed,Fixes). - No trailing period.
- Keep it short and focused on the what.
Body
-
Explain the why: the issue it solves, business/technical motivation, or context that future developers need.
-
Do not restate the diff or describe line-by-line what changed.
-
For bug fixes, use
**Issue**/**Solution**sections:[XYZ-10592] Enhance light button delay **Issue** When the user clicks on the light button, it takes several seconds (from 2 to 15 seconds) to reflect the new UI state. This creates ambiguity and may cause the user to repeatedly press the button, leading to inconsistent backend state updates. **Solution** Update the UI state immediately before sending the backend request. If the request succeeds, keep the current state. Otherwise, revert to the previous state. -
For new features, use a
**Changes**section with bullet points:[ABC-1234] Display a banner indicating the network status **Changes** - Add an observer to detect network status - Display a corresponding banner depending on connectivity state -
Feature commits with obvious scope may use a concise title-only message.
What to Avoid
- Vague or meta messages:
fix previous commit,apply PR comments,minor fixes,WIP. Instead, amend before pushing or describe the actual change. - Describing how the code works (that belongs in code comments).
- More than one blank line between sections.
Quick Checklist
- Ticket ID included (if available)
- Imperative form verb
- Header clearly states the technical change, no trailing period
- Body explains the why, not the what
- No vague/meta descriptions
- Concise but informative
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.