Agent Skills: Commit Type Detection Skill

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

UncategorizedID: fusengine/agents/commit-detection

Install this agent skill to your local

pnpm dlx add-skill https://github.com/fusengine/agents/tree/HEAD/plugins/commit-pro/skills/commit-detection

Skill Files

Browse the full folder contents for commit-detection.

Download Skill

Loading file tree…

plugins/commit-pro/skills/commit-detection/SKILL.md

Skill Metadata

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

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