Awesome-claude commit

install
source · Clone the upstream repo
git clone https://github.com/Hedgehogues/awesome-claude
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Hedgehogues/awesome-claude "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/commit" ~/.claude/skills/hedgehogues-awesome-claude-commit && rm -rf "$T"
manifest: skills/commit/SKILL.md
source content

Задача

Создай коммит по конвенциям проекта. $ARGUMENTS

Контекст (предвычислено)

Последние коммиты (стиль и TASK-ID)

!

git log --oneline -10

Текущий статус

!

git status --short

1. Собери недостающее

git diff HEAD

Статус и история уже выше — вызывать не нужно.

2. Проанализируй

  • Какие файлы изменены, новые, удалены
  • Есть ли файлы, которые НЕ НУЖНО коммитить (
    .env
    , credentials, временные)
  • Сгруппируй по логическим блокам — один коммит = одно изменение

3. Определи TASK-ID

  • Из
    $ARGUMENTS
    → используй его
  • Иначе → определи формат из
    git log
    (например
    [TG-42]
    ,
    PROJ-123
    )
  • Не определяется → спроси

4. Формат commit message

Проверь

.claude/rules/git.md
или определи стиль из
git log --oneline -10
.

Если конвенции не найдены:

[TASK-ID]: short summary (imperative mood, lowercase, max 72 chars)

## What changed
- Конкретный bullet для каждого значимого изменения (имена файлов, области)

## Why
- Мотивация, какую проблему решает

## Details
- Решения по реализации, неочевидные моменты, побочные эффекты

Всегда объясняй WHY. Упоминай покрытие тестами.

5. Покажи план и дождись подтверждения

  1. Файлы для staging
  2. Полный текст commit message
  3. Пропущенные файлы и почему

НЕ коммить без одобрения.

6. Выполни коммит

git add <file1> <file2> ...

git commit -m "$(cat <<'EOF'
[TASK-ID]: short summary

## What changed
- ...

## Why
- ...

## Details
- ...

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
EOF
)"

7. Проверь

git status
git log -1

Правила

  • Никогда: push, --amend, --no-verify, коммит
    .env
    /секретов — без явной просьбы
  • Добавляй файлы по именам (
    git add file1 file2
    ), не
    git add .
  • При падении pre-commit hook — исправь и создай НОВЫЙ коммит (не amend)