skills/fusengine/agents/commit-detection

commit-detection

SKILL.md

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

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 Version Bump
feat New functionality PATCH
fix Bug correction PATCH
docs Documentation only PATCH
style Formatting only PATCH
refactor Code restructure PATCH
perf Performance PATCH
test Tests only PATCH
build Build/deps PATCH
ci CI/CD config PATCH
chore Maintenance PATCH

MINOR/MAJOR bumps are manual user decisions, never automatic.

Post-Commit Actions

See the post-commit skill for universal CHANGELOG, version bump, and tag logic (works for all repos).

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
Weekly Installs
22
GitHub Stars
3
First Seen
Feb 10, 2026
Installed on
amp22
github-copilot22
codex22
kimi-cli22
gemini-cli22
opencode22