Back to list
vinta

commit

by vinta

Opinionated macOS development environment automation

102🍴 20📅 Jan 23, 2026

SKILL.md


name: commit description: Use when creating git commits. Groups changes into atomic, single-purpose commits. allowed-tools:

  • Grep
  • Glob
  • Bash(git status:*)
  • Bash(git diff:*)
  • Bash(git branch:*)
  • Bash(git log:*)
  • Bash(git stash:*)
  • Bash(git add:*)
  • Bash(git restore:*)
  • Bash(git mv:*)
  • Bash(git rm:*)
  • Bash(git apply:*)
  • Bash(git commit:*)
  • Read(//tmp/**)
  • Write(//tmp/**)
  • Edit(//tmp/**) context: fork user-invocable: true model: sonnet

Overview

Creating clean, atomic commits that follow best practices for version control hygiene. The core principle is one logical change per commit - each commit should represent a single, coherent, easily revertable modification that can stand alone.

Instructions

ALWAYS cd to project root before git commands. NEVER use git -C. Execute git commands directly without explanatory preamble. Commit immediately without confirmation prompts (never use interactive mode).

  1. Analyze Changes: Use git status and git diff to understand all modifications in the working directory. Categorize changes by:

    • STRUCTURAL: Code reorganization, renaming, refactoring without behavior changes
    • BEHAVIORAL: New features, bug fixes, functionality changes
    • DOCUMENTATION: README updates, comment changes, documentation files
    • CONFIGURATION: Build files, dependencies, environment settings
  2. Group Logically: Organize changes into logical units where each unit:

    • Addresses a single purpose or problem
    • Structure changes to be atomic and easily revertable for safe rollback
    • Would make sense to revert as a unit
  3. Stage Changes: Use appropriate staging strategy:

    • Whole file: git add <file>
    • Hunk-by-hunk: git diff <file> > /tmp/patch.diff, edit the patch to keep only specific hunks, then git apply --cached /tmp/patch.diff
    • NEVER use git reset to unstage - use git restore --staged if needed
  4. Handle Pre-commit Hooks: If hooks complain about unstaged changes:

    • Stash unstaged changes first: git stash push -p -m "temp: unstaged changes" (select hunks to stash)
    • Or stash all unstaged: git stash push --keep-index -m "temp: unstaged changes"
    • Commit, then restore: git stash pop
  5. Create Atomic Commits: For each logical group:

    • Write clear, descriptive commit messages following conventional format
    • Keep first line under 50 characters
    • Include context in body when necessary
    • IMPORTANT: DO NOT run any linter/formatter before committing. Commit exactly what the user changed

Attribution

Include in every commit:

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>

Score

Total Score

75/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

+5
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

+5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon