Claude-skill-registry commit-detection

Detects optimal commit type from git changes. Use when analyzing commits, determining commit type, or before committing.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/commit-detection" ~/.claude/skills/majiayu000-claude-skill-registry-commit-detection && rm -rf "$T"
manifest: skills/data/commit-detection/SKILL.md
source content

Commit Type Detection Skill

Expert knowledge for detecting the optimal conventional commit type.

Detection Algorithm

Step 1: Gather Data

# Get modified files
git diff --name-only
git diff --staged --name-only

# Get change statistics
git diff --stat
git diff --staged --stat

# Check for keywords in diff
git diff | grep -i "fix\|bug\|error" | head -5

Step 2: Categorize Files

CategoryFile Patterns
docs
*.md
,
*.txt
,
*.rst
,
README*
,
CHANGELOG*
test
*.test.*
,
*.spec.*
,
__tests__/*
,
test/*
config
*.json
,
*.yml
,
*.yaml
,
*.toml
,
.*rc
ci
.github/*
,
.gitlab-ci.yml
,
Jenkinsfile
build
package.json
,
Makefile
,
webpack.*
,
vite.*
styleOnly whitespace, formatting changes
src
*.ts
,
*.js
,
*.py
,
*.go
,
*.rs
, etc.

Step 3: Apply Rules

IF only docs files changed:
  → docs

IF only test files changed:
  → test

IF only config/build files changed:
  → chore

IF only CI files changed:
  → ci

IF diff contains "fix", "bug", "error", "issue", "resolve":
  → fix

IF new files added with business logic:
  → feat

IF files renamed/moved without logic change:
  → refactor

IF performance keywords ("optimize", "perf", "speed", "cache"):
  → perf

IF formatting only (whitespace, semicolons):
  → style

DEFAULT:
  → Use /commit-pro:commit for smart analysis

Step 4: Determine Scope

Extract scope from primary directory:

src/components/Button.tsx → ui or button
src/api/auth.ts → auth
lib/utils/date.ts → utils
server/routes/user.ts → user

Quick Reference

TypeWhen
feat
New functionality
fix
Bug correction
docs
Documentation only
style
Formatting only
refactor
Code restructure
perf
Performance
test
Tests only
build
Build/deps
ci
CI/CD config
chore
Maintenance

Examples

Example 1: Only README changed

Files: README.md
→ /commit-pro:docs

Example 2: New component + test

Files: src/Button.tsx, src/Button.test.tsx
→ /commit-pro:feat (primary is new feature)

Example 3: Fix in existing file

Files: src/api/auth.ts
Diff contains: "fix login bug"
→ /commit-pro:fix