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.mdsource 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
| Category | File Patterns |
|---|---|
| docs | , , , , |
| test | , , , |
| config | , , , , |
| ci | , , |
| build | , , , |
| style | Only whitespace, formatting changes |
| src | , , , , , 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 |
|---|---|
| New functionality |
| Bug correction |
| Documentation only |
| Formatting only |
| Code restructure |
| Performance |
| Tests only |
| Build/deps |
| CI/CD config |
| 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