Format commit messages following Conventional Commits 1.0.0 specification. Ensures consistent, semantic commit messages that support automated changelog generation and semantic versioning. Includes jujutsu and git examples with jujutsu-first approach for best practices.
Format all commit messages according to the Conventional Commits 1.0.0 specification at https://www.conventionalcommits.org/
Ensures consistent, semantic commit messages that support automated changelog generation and semantic versioning.
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
| Type | When to Use | SemVer | | ---------------- | ------------------------------------ | ------ | | ✨ feat | New feature | MINOR | | 🐛 fix | Bug fix | PATCH | | 📝 docs | Documentation only | - | | 🎨 style | Formatting, whitespace (no code) | - | | ♻️ refactor | Code restructuring (no feature/fix) | - | | ⚡️ perf | Performance improvement | - | | ✅ test | Adding/fixing tests | - | | 🏗️ build | Build system, dependencies | - | | 👷 ci | CI/CD configuration | - | | 🧑💻 chore | Maintenance, tooling | - | | ⏮️ revert | Reverting previous commit | - |
When determining commit type, ask:
featfixdocsperfrefactorstyletestbuildcichoreUse clear, consistent names: feat(auth):, fix(api):,
docs(readme):
Fixes #123 - Reference issuesCo-authored-by: Name <email> - Credit contributorsBREAKING CHANGE: description - Breaking changesRefs: #456, #789 - Related issuesIndicate breaking changes using either method:
feat!: remove deprecated API endpoint
feat(api)!: change authentication flow
fix: update validation logic
BREAKING CHANGE: validation now rejects empty strings
jj describe -m 'feat(auth): add OAuth2 support'
For multi-line messages:
jj describe << 'EOF'
feat(auth): add OAuth2 support
Implement OAuth2 authentication flow with support for
Google and GitHub providers.
BREAKING CHANGE: removes legacy session-based auth
EOF
Use single quotes to avoid shell escaping with !:
# Correct - single quotes
git commit -m 'feat!: add new authentication flow'
# Incorrect - DO NOT USE
git commit -m "feat\!: add new authentication flow"
For multi-line messages, use HEREDOC:
git commit -m "$(cat <<'EOF'
feat(auth): add OAuth2 support
Implement OAuth2 authentication flow with support for
Google and GitHub providers.
BREAKING CHANGE: removes legacy session-based auth
EOF
)"
jj status to see what changedjj describe to set commit messagejj show @ --no-patch to verify# Check changes
jj diff
# Set message
jj describe -m 'feat(api): add rate limiting to endpoints'
# Verify
jj show @ --no-patch
git add first if nothing stagedgit diff --cachedgit log --oneline -5git log -1# Check for staged changes
git diff --cached --stat
# If nothing staged, stage first
git add .
# Review changes
git diff --cached
# Check recent style
git log --oneline -5
# Commit
git commit -m 'feat(api): add rate limiting to endpoints'
# Verify
git log -1
Before committing, verify:
! or footerSimple fix:
fix: prevent null pointer in user lookup
Feature with scope:
feat(api): add rate limiting to endpoints
With body:
refactor: extract validation into separate module
Move validation logic from controllers to dedicated
validator classes for better testability and reuse.
Breaking change:
feat!: upgrade to v2 API format
BREAKING CHANGE: response structure changed from
{data: [...]} to {items: [...], meta: {...}}
With issue reference:
fix(auth): resolve token refresh race condition
Fixes #234
For complete specification details, see references/full-spec.md.
For practical patterns and common workflows, see
references/common-patterns.md.
npx skills add vdesjardins/conventional-commits下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer