git-workflow · jezweb — скилл для Claude Code: как установить
Ведёт агента по операциям Git: подготовке PR, чистке веток, разрешению конфликтов и выпуску тегов в монорепозитории.
npx skills add jezweb/claude-skills --skill git-workflow -a claude-codeЧто делает git-workflow
Скилл задаёт последовательность шагов для подготовки pull request: собирает историю коммитов, список изменённых файлов и состояние рабочей директории. Затем формирует заголовок, описание с причиной изменений и планом тестов, отправляет ветку и создаёт PR через gh.
Для чистки репозитория он переключается на main, ищет слитые локальные ветки, удаляет их и очищает устаревшие remote refs. При конфликтах с main скилл сначала определяет затронутые файлы, а затем предлагает merge или rebase в зависимости от истории и масштаба расхождений.
Есть сценарии для тегов в монорепозитории, создания .gitignore до первого git add и аудита лицензии приватного репозитория. Скилл совместим только с Claude Code, поэтому для остальных перечисленных платформ это повод выбрать другую реализацию.
Какие задачи решает
- подготовить pull request по истории коммитов
- удалить слитые локальные ветки
- разрешить конфликт с веткой
main - создать тег пакета в монорепозитории
- проверить лицензионные файлы приватного репозитория
Примеры запросов агенту
- Подготовь PR для текущей ветки и проверь незакоммиченные изменения.
- Очисти локальные ветки, уже слитые в
main. - Разреши конфликт с
origin/mainи проверь итоговый diff.
Как установить git-workflow
1Через Skills CLI (Vercel)
npx skills add jezweb/claude-skills --skill git-workflow -a claude-code2Вручную: положить файлы
~/.claude/skills/git-workflow/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/git-workflow/
1Через Skills CLI (Vercel)
npx skills add jezweb/claude-skills --skill git-workflow -a codex2Вручную: положить файлы
.agents/skills/git-workflow/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add jezweb/claude-skills --skill git-workflow -a cursor2Вручную: положить файлы
.cursor/skills/git-workflow/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install jezweb/claude-skills git-workflow2Вручную: положить файлы
.github/skills/git-workflow/SKILL.md1Через Skills CLI (Vercel)
npx skills add jezweb/claude-skills --skill git-workflow -a gemini-cli2Командой платформы
gemini skills install https://github.com/jezweb/claude-skills --path plugins/dev-tools/skills/git-workflowВручную: положить файлы
.devin/skills/git-workflow/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add jezweb/claude-skills --skill git-workflow -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора54
Другие версии git-workflow
Похожие
Рядом в теме «Git и GitHub»
Все скиллы по теме «Git и GitHub» →Вопросы о git-workflow
Как установить git-workflow в Claude Code?
Выполните npx skills add jezweb/claude-skills --skill git-workflow -a claude-code, затем ещё раз npx skills add jezweb/claude-skills --skill git-workflow -a claude-code. Файл скилла размещается по пути ~/.claude/skills/git-workflow/SKILL.md.
Что делает git-workflow?
Скилл ведёт агента через подготовку PR, удаление слитых веток, разрешение merge-конфликтов и создание тегов пакетов в монорепозитории. Также в нём есть шаги для .gitignore и проверки лицензии приватного репозитория.
Можно ли использовать git-workflow в Codex или Cursor?
Нет. В описании скилла указана совместимость только с Claude Code.
Исходный текст
SKILL.md · MIT
---
name: git-workflow
description: "Guided git workflows: prepare PRs, clean up branches, resolve merge conflicts, handle monorepo tags, squash-and-merge patterns. Use when asked to prepare a PR, clean branches, resolve conflicts, or tag a release."
compatibility: claude-code-only
---
# Git Workflow
Guided workflows for common git operations that benefit from structured steps.
## PR Preparation
When preparing a pull request:
1. **Gather context**
- `git log main..HEAD --oneline` — list all commits on the branch
- `git diff main...HEAD --stat` — see all changed files
- `git status` — check for uncommitted work
2. **Draft PR content**
- Title: under 70 chars, describes the change (not the branch name)
- Body: summarise the "why", list key changes, add test plan
- Use the commit history to write the summary — don't rely on memory
3. **Push and create**
```bash
git push -u origin HEAD
gh pr create --title "..." --body "$(cat <<'EOF'
## Summary
- ...
## Test plan
- [ ] ...
🤖 Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"
```
4. **Verify** — `gh pr view --web` to open in browser
## Branch Cleanup
Clean up merged branches safely:
1. **Switch to main and pull latest**
```bash
git checkout main && git pull
```
2. **List merged branches** (excludes main/master/develop)
```bash
git branch --merged main | grep -vE '^\*|main|master|develop'
```
3. **Delete local merged branches**
```bash
git branch --merged main | grep -vE '^\*|main|master|develop' | xargs -r git branch -d
```
4. **Prune remote tracking refs**
```bash
git fetch --prune
```
5. **List remote branches with no local tracking** (optional)
```bash
git branch -r --merged origin/main | grep -vE 'main|master|develop|HEAD'
```
## Merge Conflict Resolution
When a PR has conflicts:
1. **Assess the conflict scope**
```bash
git fetch origin
git merge origin/main --no-commit --no-ff
git diff --name-only --diff-filter=U # List conflicted files
```
2. **For each conflicted file**, read the file and resolve:
- Keep both changes if they're in different areas
- If architecturally incompatible, prefer the main branch's approach and re-apply the PR's intent on top
3. **If rebase is cleaner** (few commits, no shared history):
```bash
git rebase origin/main
# Resolve conflicts per commit, then:
git rebase --continue
```
4. **If rebase is messy** (many conflicts, architectural divergence):
- Abort: `git rebase --abort` or `git merge --abort`
- Extract useful code: `git show origin/branch:path/to/file > /tmp/extracted.txt`
- Apply changes manually to main
- Close original PR with explanation
5. **Verify** — run tests, check the diff looks right
## Monorepo Release Tags
In monorepos, scope tags to the package:
```bash
# ❌ Ambiguous in monorepos
git tag v2.1.0
# ✅ Scoped to package
git tag contextbricks-v2.1.0
git push origin contextbricks-v2.1.0
```
Pattern: `{package-name}-v{semver}`
## .gitignore-First Init
When creating a new repo, always create `.gitignore` BEFORE the first `git add`:
```bash
cat > .gitignore << 'EOF'
node_modules/
.wrangler/
dist/
.dev.vars
*.log
.DS_Store
.env
.env.local
EOF
git init && git add . && git commit -m "Initial commit"
```
**If node_modules is already tracked:**
```bash
git rm -r --cached node_modules/
git commit -m "Remove node_modules from tracking"
```
## Private Repo License Audit
Before publishing or sharing a private repo:
```bash
gh repo view --json visibility -q '.visibility'
```
If `PRIVATE`, ensure:
- `LICENSE` contains proprietary notice (not MIT/Apache)
- `package.json` has `"license": "UNLICENSED"` and `"private": true`
- No `CONTRIBUTING.md` or "contributions welcome" in README
© jezweb · MIT · jezweb/claude-skills