nathanchase

focused-committer

0
0
# Install this skill:
npx skills add nathanchase/claude-code-starter --skill "focused-committer"

Install specific skill from multi-skill repository

# Description

Smart grouping of files for focused commits with detailed conventional commit messages

# SKILL.md


name: focused-committer
description: Smart grouping of files for focused commits with detailed conventional commit messages


Focused Committer

Analyze changes and intelligently group files into focused, well-documented commits. Ensures each commit addresses a single logical concern following conventional commit standards.

Invocation

  • /focused-committer - Analyze and commit all changes
  • /focused-committer staged - Only analyze already-staged changes
  • "commit my changes" or "help me commit these files"

Core Principles

Commit Scope Rules

  • Single logical change per commit - all files must contribute to one concern
  • Never bundle unrelated changes - separate features, fixes, and refactors
  • Tests with implementations - test files can be grouped with the code they test
  • Prefer smaller commits - when in doubt, split into multiple commits

Conventional Commit Format

<type>(<scope>): <description>

<body with bullet points>

Types (in order of precedence):
- feat - New feature or enhancement
- fix - Bug fix
- refactor - Code restructure without functionality change
- perf - Performance improvement
- style - Formatting, whitespace changes
- test - Test-related changes only
- docs - Documentation updates
- build - Build system or dependency changes
- chore - Maintenance tasks

Message Rules:
- Use imperative mood: "add" not "added"
- Start with lowercase letter
- No period at end of subject line

Instructions

1. Configure Git Identity

git config user.name "<Your Name>"
git config user.email "<[email protected]>"

2. Analyze All Changes

git branch --show-current
git status --porcelain
git diff --name-only
git diff --staged --name-only

3. Identify Logical Groupings

Same Commit (related changes):
- Component + its test file
- Module + components using it
- Type definition + implementation using it

Separate Commits (unrelated changes):
- Bug fix + unrelated new feature
- Dependency updates + feature work
- Formatting changes + logic changes

4. Present Proposed Commit Groups

For each group, show: type, scope, files, proposed message, and reasoning.

5. Get User Approval

CRITICAL: Always ask before committing.

Options for each group:
- "Commit as proposed"
- "Edit message"
- "Split this group"
- "Skip"
- "Merge with next"

6. Execute Approved Commits

git add <specific-files>
git commit -m "$(cat <<'EOF'
type(scope): description

- Bullet point details
EOF
)"

7. Report Summary

Show all commits created with hashes, descriptions, and file counts.

What NOT To Do

  • Don't commit unrelated files together
  • Don't use vague messages like "fix stuff" or "updates"
  • Don't skip user approval
  • Don't include secrets (.env, API keys, credentials)
  • Don't commit broken code

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.