Skip to content
Development
Skill

/commit-detection

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

From plugin
fusengine-claude-plugins
34200 skills40 agents34 commands

Claude Code

$ npx -y skills add fusengine/claude-plugins --skill commit-detection --agent claude-code

SKILL.md

commit-detection.SKILL.md
name: commit-detection
description: Detects optimal commit type from git changes. Use when analyzing commits, determining commit type, or before committing.
allowed-tools: Bash, Read, Grep

<objective> Detects the optimal conventional commit type (feat/fix/docs/style/refactor/perf/test/build/ci/chore) from staged and unstaged git changes, using file-pattern categorization (docs/test/config/ci/build/src) plus diff-keyword heuristics ("fix", "bug", "optimize", etc.), and derives a scope suggestion from the primary changed directory (e.g. `src/api/auth.ts` → `auth`). Covers the full detection algorithm, the rule cascade, scope extraction, and worked examples. Does not perform the commit itself — routes to the matching `/commit-pro:<type>` command, or to the `commit` skill for full smart analysis when no rule matches cleanly. </objective>

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
Read more
@fusengine
Ships withfusengine-claude-plugins

A plugin ecosystem that turns Claude Code into a supervised, multi-agent development environment.

34200 skills40 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
34
Star history of fusengine/agents on GitHub, a chart by star-history.com

Other skills on fusengine-claude-plugins.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about commit-detection.

Which coding agents can use commit-detection?
commit-detection installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.