# Add entire-powered commit-push-pr skill, bump to v0.4.0

`3896d53`·

alishakawaguchi·2mo ago·9 files·+195 added/-7 removed

New skill at skills/commit-push-pr/SKILL.md that mines `entire explain --commit <sha> --short --no-pager` for every commit in the push range to synthesize the PR title and body, with a silent fallback to a git-only flow when no commit in the range is checkpoint-backed. Caps per-commit lookups at 10 and uses a single `entire dispatch --local --since` for larger ranges. Always opens the PR as --draft, updates an existing open PR via `gh pr edit` instead of creating a duplicate, and never uses `entire search` (server-indexed, missing local checkpoints) or `git add -A`/`git add .`.

README adds a section for the new skill, two natural-language Quick Start triggers, and a cross-reference to the upstream `commit-commands:commit-push-pr` for users without Entire history.

Bumps the version from 0.3.0 to 0.4.0 across all six versioned manifests (package.json, gemini-extension.json, .claude-plugin/{plugin, marketplace}.json, .codex-plugin/plugin.json, .cursor-plugin/plugin.json) and updates the pinned tag in .opencode/INSTALL.md to match.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

## Sessions

Transcript data is unavailable for this checkpoint.

## Changes

9

- .claude-plugin

- Mmarketplace.json+1/-1

- Mplugin.json+1/-1

- .codex-plugin

- Mplugin.json+1/-1

- .cursor-plugin

- Mplugin.json+1/-1

- .opencode

- MINSTALL.md+1/-1

- MREADME.md+16

- Mgemini-extension.json+1/-1

- Mpackage.json+1/-1

- skills/commit-push-pr

- ASKILL.md+172

### `commit-push-pr`

Commits, pushes, and opens a draft PR with the title and body synthesized from `entire` checkpoint context instead of `git diff` / `git log`. Use when you want a PR description that explains *why* the changes were made — drawn from the agent transcripts that produced them.

Current behavior:

- aggregates `entire explain --commit <sha> --short --no-pager` for every commit in the push range (capped at 10) so each PR bullet is sourced from the original session intent
- falls back to a single `entire dispatch --local --since <window>` for branches with more than 10 commits
- if no commit in the push range has Entire context, silently falls back to a git-only PR equivalent to upstream `commit-commands:commit-push-pr`
- always opens the PR as `--draft`; updates an existing open PR via `gh pr edit` instead of creating a duplicate
- never uses `entire search` (server-indexed, missing local checkpoints) or `git add -A`/`git add .`

Pick this over `commit-commands:commit-push-pr` when the branch was driven by Entire-tracked agent work; pick the upstream one when there is no Entire history to draw on.

## Installation

Install with [skills](https://skills.sh/) CLI (universal, works with any [Agent Skills](https://agentskills.io)-compatible tool):

## Checkpoint Resolution

```json
{
  "name": "entire",
  "description": "Cross-agent skills and commands powered by Entire.",
  "version": "0.4.0"
}
```

## Fallback: no Entire data

If `entire` is not installed, not configured for the repo, or the push range produced **zero** `checkpoint-backed` commits, fall back silently to a git-only flow equivalent to `commit-commands:commit-push-pr`:

- Commit message seed from `git diff --staged` (Step 3) or last commit subject.
- Title: most recent commit subject, trimmed to ≤70 chars.
- Body: `## Summary` (1-3 bullets from `git log "$MERGE_BASE"..HEAD --format=%s`), `## Test plan` (derived from `git diff --stat`).
- Steps 1, 2, 4, 6, 7 unchanged.

The fallback emits no error — it just produces a git-only PR.

```markdown
## Summary

<2-4 sentences synthesized from the per-commit intents>

## Changes

- <commit-subject> — <one-line "why" from entire explain --short>
- <commit-subject> — <one-line "why" from entire explain --short>

## Test plan

- [ ] <derived from `git diff --stat "$MERGE_BASE"..HEAD`>
```
