skills/commit-message-generator/SKILL.md
Automatically generate conventional commit messages when user has staged changes and mentions committing. Analyzes git diff and status to create properly formatted commit messages following conventional commits specification. Invoke when user mentions "commit", "staged", "committing", or asks for help with commit messages.
npx skillsauth add kanopi/cms-cultivator commit-message-generatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Automatically generate conventional commit messages for staged changes.
Commit messages are the history and documentation of your code's evolution.
Activate this skill when the user:
git add or git status output with staged changesBefore generating a commit message, ask yourself:
feat typefix typerefactor typedocs typetest typeauth, api, ui)validation, logging)Split if staged changes include:
User mentions commit
↓
Check: Staged changes?
↓ Yes
Check: Multiple unrelated changes?
↓ No
Check: Follows conventional commits pattern?
↓ Generate message
↓
Review with user → Commit
git status
git diff --staged
If no staged changes, inform the user and suggest staging files first.
git log --oneline -10
Learn the repository's commit message conventions.
Format: <type>(<scope>): <description>
Types:
feat - New featurefix - Bug fixdocs - Documentation changesstyle - Code style changes (formatting, semicolons, etc.)refactor - Code refactoring (no functional changes)test - Adding or updating testschore - Build process, dependency updates, etc.perf - Performance improvementsci - CI/CD changesExample:
feat(auth): add two-factor authentication support
- Implement TOTP-based 2FA
- Add backup codes generation
- Include recovery flow for lost devices
- Update user profile settings UI
Drupal:
feat(config): add user profile field configurationfix(custom_module): correct permission check in access callbackrefactor(hooks): simplify hook_form_alter implementationWordPress:
style(theme): improve mobile navigation stylesfix(plugin): correct ACF field validationfeat(blocks): add testimonial Gutenberg blockShow the generated commit message in a clear code block and ask:
"Here's a commit message based on your staged changes. Would you like me to commit with this message, or would you like to modify it?"
Wait for explicit user approval (e.g., "approve", "yes, commit", or an edited version) before running git commit. Never add Co-Authored-By: Claude… to commit messages.
git commit -m "commit message here"
Or for multi-line messages:
git commit -m "$(cat <<'EOF'
feat(auth): add two-factor authentication support
- Implement TOTP-based 2FA
- Add backup codes generation
- Include recovery flow
EOF
)"
This skill is invoked directly by the main session when the user mentions committing — there is no orchestrator agent in between. The skill works the same way whether triggered conversationally ("I'm ready to commit") or explicitly ("generate a commit message").
The companion pr-create skill picks up where this one ends — once you've committed, ask to "create a PR" and pr-create will generate the PR description from your commits.
BREAKING CHANGE: footer if applicableExample 1: Simple fix
User: "I fixed the login bug, ready to commit"
[Skill analyzes git diff]
Skill: "I'll generate a commit message for your login fix..."
Generated:
fix(auth): resolve session timeout on remember-me login
- Correct cookie expiration logic
- Add test coverage for remember-me flow
Would you like me to commit with this message?
Example 2: Feature addition
User: "Staged my changes, need to commit"
[Skill analyzes extensive changes]
Skill: "I see you've added a new dashboard widget. Here's a commit message..."
Generated:
feat(dashboard): add performance metrics widget
- Create new widget component
- Add database query for metrics
- Include responsive design
- Add widget to admin dashboard page
tools
Strategist-focused site audit for discovery and pre-discovery. Given a site URL and optional qualitative research data, navigates the site via CoWork, audits against all 21 UX Laws from lawsofux.com, reviews content hierarchy, synthesises qualitative data, runs Lighthouse, and produces two deliverables — a Project Knowledge Summary (Markdown for Claude Desktop Projects) and a polished, iterable HTML Artifact for client sharing. Use when a strategist, UX lead, or PM asks for a discovery audit, UX laws audit, content hierarchy review, pre-discovery site review, "audit this site for strategy", "strategist audit", "UX audit", or pastes a site URL with discovery context. Not for developer audits — use accessibility-audit, performance-audit, or live-site-audit for those.
development
Provide story point estimation guidance with hour calculations for software development tasks. Uses Fibonacci sequence (1, 2, 3, 5, 8, 13, 21, 34+) and converts story points to hours. Includes platform-specific adjustments and velocity calculations.
tools
Perform a full QA review of a Teamwork task by reading the task and all its comments for context, extracting the multi-dev URL, generating dynamic validation steps tailored to the task type, and using CoWork browser automation to execute those steps on the multi-dev environment. Produces a structured validation report with pass/fail per step, screenshots, internal notes, and a client-facing summary — all shown in chat. Use this skill whenever the user asks to QA, test, validate, or review a Teamwork task or multi-dev environment — even if they just say "can you QA this?" or paste a Teamwork link. Also triggers for phrases like "run QA on", "check the multi-dev", "validate this task", "test the dev link", or "review the ticket". Works across Drupal/CMS updates, WordPress/plugin updates, bug fixes, new feature development, and general web development tasks.
tools
Generate a client-facing project heartbeat / status update message for a Kanopi project, ready to be posted as a Teamwork message. Use this skill whenever the user asks to write, draft, generate, or send a project update, heartbeat, status update, or progress report to a client. Also triggers when the user says things like "time for a project update", "draft the heartbeat", "write up the update for [project]", or "it's been two weeks, let's send an update". Always use this skill — even if the user doesn't say "heartbeat" — whenever the intent is to summarise recent project activity for a client audience.