Agent skill

commit-detection

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

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/commit-detection

SKILL.md

Commit Type Detection Skill

Expert knowledge for detecting the optimal conventional commit type.

Detection Algorithm

Step 1: Gather Data

bash
# 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

Category File 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.*
style Only 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

Type When
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

Didn't find tool you were looking for?

Be as detailed as possible for better results