git-pushing — скилл для Claude Code: что делает и как установить
Скилл отправляет коммиты по стандарту Conventional Commits в удалённую ветку через изолированный индекс Git. Защищает от случайного захвата лишних файлов при рядовых пушах.
npx skills add sickn33/agentic-awesome-skills --skill git-pushing -a claude-codeЧто делает git-pushing
Скилл запускает bash-скрипт smart_commit.sh, который изолирует подготовку коммита во временном индексе Git. Перед отправкой он выполняет проверку git status --short --branch, сверяет целевую ветку с удалённым репозиторием и требует абсолютно чистый рабочий индекс. Это убережёт ветку от случайных правок.
Скрипт требует строгого формата Conventional Commits. Порядок выбора репозитория для отправки опирается на branch.<name>.pushRemote, remote.pushDefault и upstream. Если целевая ветка защищена, скилл не станет обходить правила сервера и прекратит попытки прямого пуша в main. Репозитории с бэкендом reftable не поддерживаются: протокол блокировки требует стандартный files.
Какие задачи решает
- отправить готовую ветку в репозиторий без мусорных файлов
- сформировать коммит по правилам Conventional Commits
- изолировать индексацию изменений через временный индекс
- предотвратить случайный прямой пуш в защищённый main
Примеры запросов агенту
- Сделай коммит и отправь изменения в удалённую ветку
- Запушь текущую работу на GitHub
- Закоммить только изменения в src/index.ts с сообщением fix: handle null response и отправь
Как установить git-pushing
1Через Skills CLI (Vercel)
npx skills add sickn33/agentic-awesome-skills --skill git-pushing -a claude-code2Вручную: положить файлы
~/.claude/skills/git-pushing/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/git-pushing/
1Через Skills CLI (Vercel)
npx skills add sickn33/agentic-awesome-skills --skill git-pushing -a codex2Вручную: положить файлы
.agents/skills/git-pushing/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add sickn33/agentic-awesome-skills --skill git-pushing -a cursor2Вручную: положить файлы
.cursor/skills/git-pushing/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install sickn33/agentic-awesome-skills git-pushing2Вручную: положить файлы
.github/skills/git-pushing/SKILL.md1Через Skills CLI (Vercel)
npx skills add sickn33/agentic-awesome-skills --skill git-pushing -a gemini-cli2Командой платформы
gemini skills install https://github.com/sickn33/agentic-awesome-skills --path skills/git-pushingВручную: положить файлы
.devin/skills/git-pushing/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add sickn33/agentic-awesome-skills --skill git-pushing -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора80
Весь набор →Похожие
Вопросы о git-pushing
Как установить git-pushing в Claude Code?
Выполните команду npx skills add sickn33/agentic-awesome-skills --skill git-pushing -a claude-code. Скилл сразу станет доступен для сессий агента.
Что делает скилл git-pushing?
Он запускает скрипт smart_commit.sh, который проверяет сообщение на формат Conventional Commits, изолирует индекс и атомарно пушит изменения в удалённый репозиторий.
Работает ли скилл с бэкендом ссылок reftable?
Нет. Скрипт отклоняет репозитории с reftable, поскольку механизм блокировок индекса рассчитан исключительно на бэкенд files.
Исходный текст
SKILL.md · MIT
---
name: git-pushing
description: "Safely stage, commit, and push intended git changes with conventional commit messages. Use for ordinary non-release pushes when explicitly asked to push, save work remotely, or share a completed change."
risk: critical
source: community
date_added: "2026-02-27"
---
# Git Push Workflow
Stage only intended changes, create a conventional commit, and push to the remote branch.
## When to Use
Automatically activate when the user:
- Explicitly asks to push changes ("push this", "commit and push")
- Mentions saving work to remote ("save to github", "push to remote")
- Completes a feature and wants to share it
- Says phrases like "let's push this up" or "commit these changes"
## Safety Gates
Before staging, inspect `git status --short --branch`, confirm the intended files, and fetch the upstream branch when a concurrent push is plausible. Do not absorb unrelated dirty files.
Read repository policy before choosing the destination branch. If `main` or `master` is protected, or the repository defines a maintainer command such as `merge:batch`, create or use a topic branch and finish through the required pull-request checks. A user request to “push to main” describes the desired final state; it does not authorize bypassing server-side protection. Never keep retrying a direct push after a protected-branch rejection.
The helper requires an empty live index and a conventional commit message before it stages anything. It locks the live index, builds and validates the commit in an isolated temporary index, rejects `--` without paths, and atomically updates the branch only if its parent is unchanged.
The helper honors `branch.<name>.pushRemote`, `remote.pushDefault`, and the branch's configured upstream, in that order. For a new branch without those settings, it requires `origin` and establishes `origin/<branch>`. It rejects detached HEAD and invalid remote configurations before staging.
Do not use this skill for a maintainer merge batch, canonical synchronization, versioned repository release, tag publication, or a repository with an explicit `merge:batch`, `release:prepare`, or `release:publish` workflow. Use that repository's maintainer/release flow instead; it owns pull-request evidence, protected-branch checks, generated files, tags, and publication verification.
## Workflow
Use the helper only after the safety gates pass. Resolve the installed directory that contains this `SKILL.md` and substitute its absolute path for `<skill-directory>` below; do not assume the current working directory is the catalog repository. With no paths the helper stages all current changes, so use that form only when every dirty file belongs to the requested commit:
```bash
bash "<skill-directory>/scripts/smart_commit.sh"
```
With custom message:
```bash
bash "<skill-directory>/scripts/smart_commit.sh" "feat: add feature"
```
To stage only named files, pass them after `--`:
```bash
bash "<skill-directory>/scripts/smart_commit.sh" "fix: scope change" -- path/to/file
```
The helper handles isolated staging, commit creation, and push; it does not replace validation, release tooling, or a rebase required by an advanced upstream branch.
## Limitations
- The helper currently requires Git's `files` ref backend; it rejects `reftable` repositories before creating a commit because their refs cannot use the filesystem lock protocol.
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
© sickn33 · MIT · sickn33/agentic-awesome-skills