Навык commit-push
Фиксирует локальные изменения в формате Conventional Commits и отправляет их в удаленный репозиторий.
- Звёзды на GitHub
- 87
- Файлы
- 1
- Последний коммит
- 15 сент. 2026 г.
- Лицензия
- Apache-2.0
- Разрешённые инструменты
- —
Что делает навык commit-push?
commit-push — это Agent Skill. Фиксирует локальные изменения в формате Conventional Commits и отправляет их в удаленный репозиторий.
Сводка сгенерирована из SKILL.md навыка.
О skill commit-push
Этот SKILL позволяет разработчикам, работающим в терминальных средах, автоматизировать процессы индексации (staging), коммита и пуша изменений кода. Агенту следует загружать этот инструмент после завершения задач по написанию кода, когда необходимо синхронизировать локальные правки с удаленным репозиторием. Процесс проходит через строгую последовательность проверок, чтобы убедиться, что diff понятен, сообщение коммита соответствует формату Conventional Commits, а индекс (staging area) точно соответствует планируемым изменениям.
Используя стандартные команды git, такие как git status, git diff и git log, этот SKILL анализирует, является ли изменение типом feat, fix, docs, refactor, test, chore, perf или ci. Он формирует структурированное сообщение коммита, которое включает тип, необязательную область и описание, а также обрабатывает многострочные тела сообщений и ссылки на задачи (issues). Рабочий процесс завершается проверкой того, что локальная ветка актуальна по отношению к upstream после выполнения команды git push.
Что агент может делать с ним
- 1Стандартизация истории коммитовAI-агент может форматировать все локальные изменения в соответствии со спецификацией Conventional Commits для поддержания чистоты логов проекта.
- 2Документирование ломающих измененийАгент может идентифицировать и помечать несовместимые с предыдущими версиями обновления, добавляя соответствующий восклицательный знак в область (scope) коммита.
- 3Синхронизация локальной работы с удаленными репозиториямиАгент может отправлять завершенные функции в удаленный репозиторий и подтверждать успешное обновление ветки.
Написано на основе skill SKILL.md. Каждый сценарий использования проверен по цитате из него.
Как установить навык commit-push
Каждая команда копирует папку навыка в каталог навыков клиента. Перезапустите клиент или начните новую сессию, чтобы загрузить его.Установка навыка commit-push в Плагин
/plugin marketplace add existential-birds/beagle /plugin install beagle-core@existential-birds
Установка навыка commit-push в Claude Code
~/.claude/skills/commit-push/SKILL.md
$ npx degit existential-birds/beagle/plugins/beagle-core/skills/commit-push ~/.claude/skills/commit-pushУстановка навыка commit-push в Claude Code (project)
.claude/skills/commit-push/SKILL.md
$ npx degit existential-birds/beagle/plugins/beagle-core/skills/commit-push .claude/skills/commit-pushУстановка навыка commit-push в Codex
~/.agents/skills/commit-push/SKILL.md
$ npx degit existential-birds/beagle/plugins/beagle-core/skills/commit-push ~/.agents/skills/commit-pushУстановка навыка commit-push в Gemini CLI
~/.gemini/skills/commit-push/SKILL.md
$ npx degit existential-birds/beagle/plugins/beagle-core/skills/commit-push ~/.gemini/skills/commit-pushУстановка навыка commit-push в Claude.ai
npx degit existential-birds/beagle/plugins/beagle-core/skills/commit-push commit-push && zip -r commit-push.zip commit-push # claude.ai → Customize → Skills → + → Create skill → Upload a skill → commit-push.zip
SKILL.md
Открыть на GitHubCommit and Push
Commit all local changes following Conventional Commits format and push to remote.
Gates
Complete in order. Do not run the next action until the Pass condition is satisfied (use command output as evidence, not memory).
- Diff understood — Pass when: Outputs from
git status,git diff, andgit diff --cachedare consistent with your one-sentence description of what changed (or you recorded that there is nothing to commit). - Commit line chosen — Pass when: You have a draft first line
type(scope): description(ortype: descriptionif omitting scope) that matches the change set you intend to ship. - Staging matches intent — Pass when: After
git add,git diff --cached --stat(and spot-checkgit diff --cachedif needed) shows only the paths you meant to include; adjust staging before committing if not. - Push target confirmed — Pass when: Current branch and remote are the ones you intend (
git branch -vv,git remote -v); then push. - Remote caught up — Pass when:
git statusis clean andgit status -sbshows the branch is up to date with its configured upstream (no unexpected unpushed commits left for this task).
Step 1: Gather Context
Run these commands in parallel to understand the changes:
# See all untracked and modified files
git status
# See staged and unstaged changes
git diff
git diff --cached
# See recent commit messages for style reference
git log --oneline -10
Step 2: Analyze Changes
Review the changes and determine:
-
Type: What kind of change is this?
feat- New feature or capabilityfix- Bug fixdocs- Documentation onlyrefactor- Code restructure without behavior changetest- Adding or updating testschore- Maintenance, dependency updatesperf- Performance improvementci- CI/CD changes
-
Scope: Which component is affected?
- Examine the changed files and determine the appropriate scope
- Use consistent scope names within the project (check
git logfor patterns) - (omit scope for cross-cutting changes)
-
Breaking: Does this break backward compatibility? If yes, add ! after scope.
Step 3: Write Commit Message
Format:
type(scope): description
[optional body explaining why, not what]
[optional footer with issue references]
Rules:
- Use imperative mood: "add feature" not "added feature"
- Keep first line under 72 characters
- Focus on why in the body, the diff shows what
- Reference issues:
Closes #123orFixes #456
Step 4: Stage, Commit, and Push
Satisfy Gates 1–3 before git commit; satisfy Gate 4 before git push; satisfy Gate 5 after push.
# Stage all changes (or selectively stage)
git add -A
# Gate 3: confirm staged set before committing
git diff --cached --stat
# Commit with message (use HEREDOC for multi-line)
git commit -m "$(cat <<'EOF'
type(scope): description
Optional body explaining the motivation.
Closes #123
EOF
)"
# Push to remote
git push
Examples
# Simple feature
git commit -m "feat(api): add pagination support to list endpoints"
# Bug fix with body
git commit -m "$(cat <<'EOF'
fix(auth): handle token expiration during long requests
The previous implementation did not account for tokens expiring
during the processing of long-running requests.
Fixes #42
EOF
)"
# Breaking change
git commit -m "$(cat <<'EOF'
feat!(api): change response format for user endpoints
BREAKING CHANGE: The `status` field is now an object with `state` and
`message` properties instead of a plain string.
EOF
)"
Optionally append a co-author or footer trailer per project convention (e.g. a Co-Authored-By: line or a tool-attribution footer). Omit it when the project has no such convention.
Step 5: Verify
After pushing, satisfy Gate 5: run git status and git status -sb and confirm a clean tree and upstream sync (or an expected ahead/behind you can explain, e.g. fork workflow).
Файлы в этом навыке
1Вопросы о навыке commit-push
Как установить навык commit-push в Claude Code?
Выполните npx degit existential-birds/beagle/plugins/beagle-core/skills/commit-push ~/.claude/skills/commit-push. Claude Code загружает навыки из ~/.claude/skills (все проекты) или .claude/skills (один проект) и использует навык, когда его описание соответствует задаче.
Какие клиенты могут использовать навык commit-push?
Любой клиент, который читает формат Agent Skills: Claude Code, Codex, Gemini CLI и claude.ai (загрузить как ZIP). Скрипты в навыке выполняются только там, где клиент разрешает выполнение кода.
Какой формат коммитов использует этот SKILL?
Этот SKILL следует стандарту Conventional Commits, который включает тип, необязательную область (scope) и описание.
Как правильно писать описание сообщения коммита?
Следует использовать повелительное наклонение, например, 'add feature' вместо 'added feature', и следить, чтобы первая строка не превышала 72 символа.