Commit message
Use when writing git commit messages — follows conventional commits with context-aware scope and bodyFrom its SKILL.md
npx -y skills add NEXUZ-SYS/devflow --skill commit-messageAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 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.
SKILL.md
2.7 KB, as published. Nobody here has run it
Commit Message
Write clear, conventional commit messages that explain the "why" behind changes.
Note: This skill is invoked automatically during PREVC Execution and Confirmation phases.
When to Use
- After completing a task in the implementation plan
- When committing any code change
- When amending or rewriting commit history
Format
<type>(<scope>): <subject>
<body>
<footer>
Types
feat— New feature (correlates with MINOR in SemVer)fix— Bug fix (correlates with PATCH)docs— Documentation onlystyle— Formatting, no code changerefactor— Code restructuring, no behavior changetest— Adding or updating testschore— Build, CI, tooling changesperf— Performance improvement
Scope
Use the component or area affected: auth, api, ui, db, config, etc.
Subject
- Imperative mood: "add" not "added" or "adds"
- No period at the end
- Under 50 characters
- Focus on WHAT changed
Body
- Explain WHY the change was made
- Include context that isn't obvious from the diff
- Wrap at 72 characters
- Separate from subject with blank line
Footer
BREAKING CHANGE: <description>for breaking changesCloses #123for issue referencesCo-Authored-By:for pair programming
Examples
feat(auth): add OAuth2 login with Google provider
Users requested social login to reduce signup friction.
Implements the authorization code flow with PKCE.
Tokens are stored in httpOnly cookies, not localStorage.
Closes #456
fix(api): handle null response from payment gateway
The Stripe webhook occasionally sends null amounts for
refund events. Previously this crashed the handler.
Now we validate and skip null amounts with a warning log.
refactor(db): extract repository pattern from controllers
Controllers were directly querying the database, making
unit testing impossible without a real DB connection.
Extracted to repository classes with interface contracts.
Mode Integration
Full Mode
skill({ action: "getContent", skill: "commit-message" })
Loads project-specific commit conventions from dotcontext.
Lite Mode
Read .context/skills/commit-message/SKILL.md if it exists.
Anti-Patterns
| Pattern | Problem |
|---|---|
| "fix stuff" | Tells nothing about what was fixed or why |
| "WIP" | Commits should be complete units of work |
| "update file.ts" | The diff shows what file changed — say what and why |
| Giant commits | One commit per logical change, not per session |
| Missing body on non-obvious changes | Future you needs the context |