Automated summary
Generates commit messages that comply with the Conventional Commits 1.0.0 specification by analyzing the user's git changes.
Strengths
- Strictly enforces the type, scope, description, body and footer structure from the specification
- Inspects repository state (git status, diff, log) before writing to match the existing commit style
- Explicitly handles breaking changes via the exclamation mark and the BREAKING CHANGE footer
- Forbids adding AI markers or Co-Authored-By: Claude footers
Limitations
- Does not cover writing the code itself, only creating the commit
- Assumes an initialized git repository with changes ready to commit
- Interactive mode depends on the agent's ability to prompt the user for answers
Use it when you need to turn code changes into one or more clean commits that follow the Conventional Commits standard.
Avoid it when the project follows a different commit message convention or the user wants a fully free-form, non-standardized message.
Security analysis
CautionThe skill is a benign, purpose-built Conventional Commits message generator. It contains no destructive commands, no network calls, no obfuscation, no secret/token exfiltration, and explicitly forbids AI-attribution footers. The only concern is that it implicitly requires shell/git execution (including committing and staging) while declaring no allowed-tools, so an agent may perform repo-mutating git commands with wider scope than a user expects — hence 'caution' rather than 'safe'.
- •No allowed-tools declared, yet the skill instructs the agent to run shell/git commands (git status, git diff, git add, git commit) — a tool-permission mismatch that relies on implicit shell access.
- •Step 5 stages files with `git add` and creates commits, i.e., state-changing repository operations performed without explicit user confirmation of the file list (though step 6 offers interactive confirmation for complex cases).
- •Broad `git add` without path qualification could stage unintended files (e.g., secrets, build artifacts) if the agent interprets it loosely.
Examples
Commit these changes for me with a conventional commit message.Create a commit for the API change I just made, and note that it is a breaking change.Commit my new authentication module using a feat type with the auth scope.name: commit description: Generate Conventional Commits 1.0.0 compliant messages. Use when the user says "commit", "create commit", or finishes implementing code.
Conventional Commits Generator
Generate commit messages following the Conventional Commits 1.0.0 specification.
Commit Message Structure
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
Instructions
When the user asks to commit changes:
-
Analyze the changes by running:
git statusto see all modified/added/deleted filesgit diff --stagedto see staged changesgit diffto see unstaged changesgit log -5 --onelineto match the repository's commit style
-
Determine the commit type (REQUIRED): | Type | Description | SemVer | |------|-------------|--------| |
feat| New feature | MINOR | |fix| Bug fix | PATCH | |docs| Documentation only | - | |style| Formatting, no code change | - | |refactor| Code change, no feature/fix | - | |perf| Performance improvement | - | |test| Adding/updating tests | - | |build| Build system or dependencies | - | |ci| CI configuration | - | |chore| Other changes | - | -
Identify breaking changes:
- Append "!" after type/scope for breaking changes: "feat!:" or "feat(api)!:"
- Add "BREAKING CHANGE:" footer for detailed explanation
- Breaking changes trigger MAJOR version bump
-
Write the commit message:
- Description MUST immediately follow the colon and space
- Description is a short summary in imperative mood
- Body MUST begin one blank line after description
- Footers MUST begin one blank line after body
-
Stage and commit:
- Stage relevant files with
git add - Create commit with the generated message
- Show
git statusafter to confirm success - DO NOT add any Claude Code references, co-author tags, or "Generated with" footers
- Stage relevant files with
Specification Rules
- Type MUST be a noun (
feat,fix, etc.) - Scope MUST be a noun in parentheses describing codebase section
- Description MUST use imperative mood ("add" not "added")
- Body is free-form, may have multiple paragraphs
- Footer token MUST use
-instead of spaces (exceptBREAKING CHANGE) BREAKING CHANGEMUST be uppercase- NEVER include AI-generated markers, Claude Code references, or
Co-Authored-By: Claudefooters
Examples
Feature with breaking change footer
feat: allow provided config object to extend other configs
BREAKING CHANGE: `extends` key in config file is now used for extending other config files
Breaking change with !
feat(api)!: send an email to the customer when a product is shipped
Breaking change with exclamation mark and footer
chore!: drop support for Node 6
BREAKING CHANGE: use JavaScript features not available in Node 6.
Simple docs change (no body)
docs: correct spelling of CHANGELOG
Feature with scope
feat(lang): add Polish language
Fix with multi-paragraph body and footers
fix: prevent racing of requests
Introduce a request id and a reference to latest request. Dismiss
incoming responses other than from latest request.
Remove timeouts which were used to mitigate the racing issue but are
obsolete now.
Reviewed-by: Z
Refs: #123
Revert commit
revert: let us never again speak of the noodle incident
Refs: 676104e, a215868
Footer Formats
Footers follow git trailer format:
Token: valueorToken #value- Common footers:
Refs:,Closes:,Reviewed-by:,Co-authored-by: BREAKING CHANGE: descriptionfor breaking changes
Interactive Mode
If changes are complex or ambiguous, ask the user:
- Which files to include in the commit
- What type of change this represents
- If there are breaking changes
- If they want to split into multiple commits (encouraged by spec)
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/conventional-commits-generator-mm8o52dw/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/conventional-commits-generator-mm8o52dw' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/conventional-commits-generator-mm8o52dw/download' --output '.skill-downloads/conventional-commits-generator-mm8o52dw/SKILL.md.part' && mv '.skill-downloads/conventional-commits-generator-mm8o52dw/SKILL.md.part' '.skill-downloads/conventional-commits-generator-mm8o52dw/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/conventional-commits-generator-mm8o52dw/SKILL.md' && test -s '.skill-downloads/conventional-commits-generator-mm8o52dw/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/commit' && cp -R '.skill-downloads/conventional-commits-generator-mm8o52dw' '.claude/skills/commit'Cursor
test -f '.skill-downloads/conventional-commits-generator-mm8o52dw/SKILL.md' && test -s '.skill-downloads/conventional-commits-generator-mm8o52dw/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/commit' && cp -R '.skill-downloads/conventional-commits-generator-mm8o52dw' '.cursor/skills/commit'Codex
test -f '.skill-downloads/conventional-commits-generator-mm8o52dw/SKILL.md' && test -s '.skill-downloads/conventional-commits-generator-mm8o52dw/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/commit' && cp -R '.skill-downloads/conventional-commits-generator-mm8o52dw' '.agents/skills/commit'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/conventional-commits-generator-mm8o52dw'openskills read 'conventional-commits-generator-mm8o52dw'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/conventional-commits-generator-mm8o52dw/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.