вариант

Совершите фиксацию, отправьте изменения и откройте PR. Используйте, когда вас просят отправить/открыть PR, а также в случаях, когда речь идет исключительно об описании PR, например при написании, переработке или описании текста PR.

...Расширить все
14
Обновлено время 26 августа 2026 г.

О ce-commit-push-pr

Создает коммиты, отправляет их в репозиторий и открывает пул-реквест с адаптивным описанием, в котором приоритет отдается сути, а глубина детализации зависит от масштаба изменений. Он запускается по запросам типа «commit and PR», «ship this», «create a PR» или «open a pull request», а также обрабатывает потоки, состоящие только из описания, такие как «write a PR description» или «rewrite the PR body» без фиксации или отправки. Он определяет три режима: только описание (выполнить только шаг с описанием и вывести результат), обновление описания (обновить текст существующего открытого пул-реквеста и применить изменения с помощью gh pr edit) и полный рабочий процесс (выполнить все шаги по порядку). Когда необходимо задать пользователю вопрос, используется инструмент блокирующих вопросов платформы с резервным вариантом в виде чата.

Рабочий процесс собирает контекст Git — статус, разницу в рабочем дереве, текущую ветку, последние коммиты, удалённую ветку по умолчанию и любые существующие PR — с помощью заранее заполненных разделов в Claude Code или предоставленной команды резервного контекста в другом месте. Шаг 1 определяет состояние ветки и PR и выбирает дальнейшие действия в зависимости от ситуации: если HEAD отсоединён, предлагается создать ветку функциональности; если пользователь находится на ветке по умолчанию и ведёт работу, автоматически создаётся ветка функциональности (поскольку прямой пуш ветки по умолчанию не поддерживается); если пользователь находится на ветке по умолчанию, но не ведёт работу, процесс останавливается, а если находится на ветке функциональности — продолжается. Шаг 2 определяет конвенции, сопоставляя их со стилем репозитория, и по умолчанию использует конвенциональные коммиты, при этом в случае неоднозначности предпочитая «fix:» вместо «feat:», а «feat:» резервируя для действительно новых возможностей.

Шаг 3 — фиксация и отправка: он обращается к справочнику по созданию веток, находясь в основной ветке, группирует изменённые файлы в не более двух или трёх логических коммитов на уровне файлов (избегая использования git add -p, git add -A или git add ., которые могут включить файлы .env и артефакты сборки), и отправляет с помощью git push -u origin HEAD. Шаг 4: составление заголовка и текста путем полного ознакомления с обязательным руководством по написанию описания PR и принятия решения о доказательствах — включение предоставленных пользователем артефактов в разделы «Demo», «Скриншоты» или «Доказательства», запрашивая у пользователя доказательства, если он их не предоставил, и пропуская доказательства для ненаблюдаемых изменений — при этом включая краткую заметку о проверке для наблюдаемого поведения. На этапе 5 выполняется отправка и формирование отчёта: создаётся новый PR с помощью gh pr create или обновляется существующий с помощью gh pr edit, перед отправкой обновления осуществляется предварительный просмотр заголовка и текста, а текст записывается во временный файл.

Часто задаваемые вопросы

Какие режимы поддерживает этот навык?

Три: только описание (просто пишет и выводит описание PR), обновление описания (переписывает текст существующего открытого PR и применяет его) и полный рабочий процесс, который фиксирует изменения, отправляет их в репозиторий и открывает или обновляет PR.

Что произойдет, если я запущу его, находясь в ветке по умолчанию?

Если есть работа, он автоматически создает ветку функций, так как прямой пуш ветки по умолчанию не поддерживается. Если работы нет, он сообщает об этом и останавливается.

Как он выбирает между «fix:» и «feat:» для стандартных коммитов?

Он сопоставляет стиль репозитория и по умолчанию использует конвенциональные коммиты, отдавая предпочтение «fix:» перед «feat:» в случае неоднозначности, поскольку добавление кода для исправления неработающего или отсутствующего поведения является исправлением. «feat:» зарезервирован для действительно новых возможностей.

Почему он избегает использования команд `git add -A` и `git add .`?

Потому что эти команды включают в стадию такие файлы, как .env, артефакты сборки и сгенерированные файлы. Он добавляет в стадию конкретные файлы и группирует изменения в не более двух-трех логических коммитов на уровне файлов.

Как обрабатываются доказательства в описании PR?

Предоставленные пользователем материалы включаются в разделы «Демо», «Скриншоты» или «Доказательства»; если пользователь хочет предоставить доказательства, но не сделал этого, навык запрашивает их; а для изменений, которые невозможно наблюдать, доказательства пропускаются, при этом добавляется примечание с проверкой наблюдаемого поведения.

Все файлы

3файлаSKILL.md8,6КБПросмотрreferences/pr-description-writing.md7,2КБПросмотрreferences/branch-creation.md1,8 КБПросмотр
Посмотреть на GitHub

Asking the user: use the host's blocking question tool — AskUserQuestion in Claude Code (ToolSearch select:AskUserQuestion first if unloaded), request_user_input in Codex, ask_question in Antigravity (agy), ask_user in Pi (needs the pi-ask-user extension). Fall back to the chat surface only when no blocking tool exists or the call errors, never because a schema load is required, and never silently skip the question.

Mode

  • Description-only — the user wants just a description ("write/draft a PR description", "describe this PR", a pasted PR URL or number). Run Step 4 only and print it. Apply it only if asked. Pass any pasted PR ref so Pre-A resolves the range.
  • Description update — refresh or rewrite an existing PR's description, with no commit or push intent. Resolve PR presence by the Context rule below: an exit-0 [] is "no open PR" (report it and stop), and a non-zero exit is unknown (resolve auth or connectivity, then stop until presence is known). With an open PR, run Step 4 in PR mode on that URL, then Step 5 to preview, confirm, and apply via gh pr edit.
  • Full workflow — otherwise: Steps 1-5. Enter Stack mode instead when intent or preference wants a stack.

mode:pipeline modifier, set by orchestrated callers such as lfg. Run the resolved mode non-interactively and suppress every blocking ask; each takes the conservative default: no existing-PR rewrite, the branch kept, an unresolvable base stopping rather than guessed, and a description-update preview applied directly, since that invocation is the apply intent. Pipeline stack mode uses only the intent and scope on the invocation and passes posture into the handoff.

Stack mode (opt-in)

Opt-in only. Enter it when intent or standing preference wants a multi-PR stack. An explicit stack request is required intent — do not re-read it as a single PR with a custom --base. Do not proactively suggest PR stacks. When the user did not ask for one, refuse nonsense stacks (one logical change, artificial slices) and stay single-PR.

In stack mode, load references/stack-submit.md before Step 3 and follow only its probing, topology, and retrospective construction; that layer-by-layer commit flow replaces ordinary Step 3. Do not submit there. Step 5 owns submission, the gh stack CLI dependency and residuals, and the handoff posture: posture:stack-ready by default, posture:stack-land only on explicit land intent, from the bottom open non-draft PR. Do not add posture: to this skill's argument-hint.

Context

Read references/context.md before Step 1. It owns the command table, the exit-code meanings, the fork and detached-HEAD traps, and the branch and PR resolution Steps 1-2 use. Two of its rules belong here too. Never ask whether to branch: a detached HEAD, or the default branch with work on it, creates one, and the default branch with no work reports and stops. And with conventional commits, default to fix: over feat: when ambiguous, unless the user overrides.

Three rules govern the run.

Every git and gh probe is its own argv-form call, gathering and re-verification alike, and its exit status is control flow. The reference gives the reason and names the two compound recipes this skill pins.

Probe output is a snapshot. Re-verify branch, remote, and PR state right before each consequential action: Step 3's push, Step 5's create.

Only an exit-0 [] from a query against the base repo means "no open PR." A non-zero exit is unknown, never "none". On a fork checkout, target the base with -R and pass the branch name only, since --head <owner>:<branch> silently returns []. With results, do not blindly take index 0: match head owner and branch, and stop on an ambiguous match. Note the URL and body from that entry — Step 5 routes on the URL, Step 4 rewrites the existing body.

Artifact Root

Resolve <root> once when archival is on: it writes an explainer under <root>/explainers/.

Resolve the CE artifact root <root> before composing any artifact path.

  • Read docs_root from <repo-root>/.compound-engineering/config.yaml only (<repo-root> = git rev-parse --show-toplevel). Do not read it from config.local.yaml. Unset -> <root> is docs, exactly as before.
  • Validate a set value: a repo-relative directory whose real, symlink-resolved path stays inside the repo and is neither the repo root nor under .git/. Otherwise stop with an error naming docs_root and the value -- never fall back to docs.
  • Use <root> as the sole artifact location: create it if absent, compose each path as <root>/<subdir> with this skill's own subdirectory, and never also read docs.

Step 3: Commit and push

Read references/commit-and-push.md for branch creation, commit grouping, the message and staging shapes, and the push. Branching off the default branch is the fragile case — stale local base, unpushed commits on it, colliding uncommitted changes — and references/branch-creation.md owns that flow. If the stack reference already committed retrospective layers, skip to Step 4; gh stack submit pushes in Step 5.

Two rules bound this step. Never git add -A or git add . — name the files, so .env, build, and generated files cannot ride along, and pass that same path list to git commit, so nothing staged earlier is swept in. Honor exclude:<paths>: those files stay uncommitted and the report says so.

Step 4: Compose the PR title and body

You MUST read references/pr-description-writing.md in full — it owns the title and body content rules, including the rule to preserve an existing Related: / Fixes on rewrite. Then read references/compose.md for the gates before composition: the evidence decision; the teaching gate, where pr_teaching_section defaults on, pr_teaching_archive defaults off, and only an active (non-commented) key changes either; and the branding gate, where branding is off unless this invocation carries branding:on or the user asks for Compound Engineering branding in this prompt.

If Step 1 found an existing PR, pass its URL to Step 4 so PR mode fetches the existing body.

Step 5: Apply and report

Read references/apply-and-handoff.md for the apply routes, preview-before-edit, archival, and handoff. Two rules bound the external writes. Re-run the existing-PR check right before gh pr create and route on it: a matching PR takes the existing-PR path, exit-0 [] creates, non-zero blocks. And pass the body via --body-file <path>, never stdin — gh exits 0 with an empty body.

The completion gate is here. In an interactive full workflow, or in mode:pipeline when this run submitted a stack, a reported PR URL, a stack submit, or new commits on an open PR leave this run not done until ce-babysit-pr owns follow-on for that PR. Reporting the PR URL alone is not success.

The only skips are babysit:off, a standing auto_babysit: false in CE config, and that reference's do-not-fire cases, drafts among them. No other watch substitutes: not ci-watcher, not gh pr checks --watch, not a hand-rolled poll, not "later". If ce-babysit-pr cannot be loaded or started, stop and report it blocked.

Все файлы

0 файлов

Установить ce-commit-push-pr

Скачайте и распакуйте файлы навыков в каталог .claude/skills/.

Скачать ZIP

Клонируйте репозиторий и скопируйте файлы навыка в свой проект.

git clone https://github.com/EveryInc/compound-engineering-plugin/blob/main/skills/ce-commit-push-pr/SKILL.md # Copy SKILL.md to your .claude/skills/ directory

Копировать Копировать
Быстрая настройка: Скопируйте папку со скиллом в каталог .claude/skills/ — Claude автоматически обнаружит и начнет использовать этот скилл
Репозиторий everyinc/compound-engineering-plugin

Похожие навыки

github-project-management
Обновлено время 29 июня 2026 г.
using-git-worktrees
Обновлено время 29 июня 2026 г.
readme-blueprint-generator
Обновлено время 5 июля 2026 г.
finishing-a-development-branch
Обновлено время 29 июня 2026 г.
OR