make-pr — скилл для Claude Code: что делает и как установить
Публикует закоммиченные изменения и создаёт или обновляет pull request. Подходит для контролируемого цикла от проверки ветки до сверки результата.
npx skills add prathamdby/skills --skill make-pr -a claude-codeЧто делает make-pr
Скилл проверяет текущую ветку, базовую ветку, upstream, статус и открытый pull request. Перед сравнением он выполняет fetch, читает только git diff <target>...HEAD, фиксирует хэш diff и блокирует работу при грязном дереве, detached HEAD, конфликте базовых веток или нескольких открытых PR. Пустой diff даёт результат NO_CHANGES.
Затем скилл формирует заголовок и тело по зафиксированному diff, публикует ветку и создаёт либо обновляет pull request. Он сохраняет draft-состояние, reviewers, labels, assignees и projects, а после операции сверяет URL, base/head, заголовок, тело и другие поля. Для conventional title нужна зависимость ../commit/REFERENCE.md; дополнительные представления берутся из references/views.md.
Скилл не делает коммиты, force push, сборки или тесты. Грязные или неотслеживаемые файлы блокируют публикацию, поэтому изменения нужно закоммитить заранее.
Какие задачи решает
- опубликовать закоммиченные изменения в удалённую ветку
- создать pull request с выбранной базовой веткой
- обновить существующий PR без смены draft-состояния
- проверить тело и поля PR после API-операции
- добавить разрешённый
Closes #Nв описание
Примеры запросов агенту
- Опубликуй закоммиченные изменения и создай pull request в
main. - Проверь diff, обнови существующий pull request и сохрани его draft-состояние.
- Создай PR с тикетом
Ticket 42, а после публикации проверь URL и тело.
Как установить make-pr
1Через Skills CLI (Vercel)
npx skills add prathamdby/skills --skill make-pr -a claude-code2Вручную: положить файлы
~/.claude/skills/make-pr/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/make-pr/
1Через Skills CLI (Vercel)
npx skills add prathamdby/skills --skill make-pr -a codex2Вручную: положить файлы
.agents/skills/make-pr/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add prathamdby/skills --skill make-pr -a cursor2Вручную: положить файлы
.cursor/skills/make-pr/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install prathamdby/skills make-pr2Вручную: положить файлы
.github/skills/make-pr/SKILL.md1Через Skills CLI (Vercel)
npx skills add prathamdby/skills --skill make-pr -a gemini-cli2Командой платформы
gemini skills install https://github.com/prathamdby/skills --path skills/engineering/make-prВручную: положить файлы
.devin/skills/make-pr/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add prathamdby/skills --skill make-pr -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о make-pr
Как установить make-pr в Claude Code?
Выполните npx skills add prathamdby/skills --skill make-pr -a claude-code, затем проверьте файл ~/.claude/skills/make-pr/SKILL.md.
Что делает make-pr?
Скилл проходит preflight-проверки, публикует текущую ветку и создаёт или обновляет pull request. После этого он сверяет удалённое состояние с журналом операции.
Что нужно для conventional title?
Скилл сначала проверяет наличие ../commit/REFERENCE.md, потому что правила conventional title и форматирования берутся из этого файла.
Исходный текст
SKILL.md · MIT
--- name: make-pr description: > make-pr to publish committed changes and create or update their pull request. --- # Make PR ## Options Default: base main, no ticket/issue, imperative sentence-case title, non-draft creation. "Target <branch>" selects base; "draft PR" selects draft creation. Updates preserve existing draft state unless the user explicitly requests conversion. "Ticket <id>" / "prefix [<id>]" supplies only that exact prefix. "Issue N" / "fixes #N" / "closes #N" authorizes one `Closes #N` per issue. Issue URLs yield N only from `/issues/N`; pull URLs do not. Bare #N, missing values, or conflicting options block. Infer no ticket/issue from other context. "Conventional title" loads formatting and rejection rules in `../commit/REFERENCE.md`; verify that dependency exists first. ## 1. Preflight Resolve branch, target, status, upstream, and open PR. Use configured push remote or origin; fetch before comparison. Block on detached HEAD, target equal to current branch, missing target, fetch failure, behind/diverged upstream, dirty/untracked files, several open PRs, or a different existing base. Ignore closed PRs. Record `branch/base | remote | diff hash | PR | draft | title/body/depth | mutation | terminal`. Done when clean branch, fixed base, and create/update are known. ## 2. Draft from the locked diff Read and hash only `git diff <target>...HEAD`; empty → `NO_CHANGES`. Default title is imperative sentence case, at most 60 characters, no type or period. Conventional keeps commit's 50-character limit. An explicit ticket prefix is exempt from length and ticket rejection, not proof of ticket claims. For a nonempty diff, apply body, depth, and style rules in `REFERENCE.md`. Use `references/views.md` only for a theme needing a fenced view. Trace every title phrase, body line, caption, and visual label to hunks; only explicitly authorized Closes footers are exempt. Done when format, depth, exact issue set, and clean-room trace pass. ## 3. Publish Recheck status and diff hash; movement returns to Preflight. Push missing/ahead upstream normally, never force; fetch and require upstream equals local HEAD. Create with explicit base/head and requested draft state, or update copy while preserving draft, reviewers, labels, assignees, and projects. Only an explicit draft conversion authorizes changing that state. Record each successful mutation; on interruption re-preflight instead of repeating a successful push/create. Register the URL with the host's PR-link tool when available, including existing PRs when work starts. Done when a PR URL or captured mutation error exists. ## 4. Read back Verify URL, base/head, title/body, draft, and preserved fields against the ledger. A partial API result or non-body mismatch permits one mutation retry after read-back, then `BLOCKED` with field differences. For an appended body or footer, apply `references/body-hygiene.md`. Confirm the three body headings, one-sentence Why, Special bounds, and exact Closes set. Auth/rate-limit/fetch/push/platform errors block. Report create/update, push, URL, depth, body strip, and trace only after match. Done when remote state and ledger agree. Terminals: `SUCCESS`, `NO_CHANGES`, `BLOCKED`. No commits, force pushes, reopening closed PRs, builds, or tests in this leaf.
© prathamdby · MIT · prathamdby/skills