google-labs-code/jules-merge
npx skills add https://github.com/google-labs-code/jules-sdk --skill jules-merge
Always execute commands in this sequence:
scan — detect conflicts and build the manifestget-contents — fetch file versions (base, main, pr:<N>) for each hot zonestage-resolution — write resolved content for each conflicted filestatus — confirm all files resolved (ready: true, pending is empty)push — create the multi-parent reconciliation commit and PRmerge — merge the reconciliation PR using a merge commitscanprs (array of PR numbers), repo (owner/repo)base (branch name, default: main), includeCleanget-contentssource values: "base" | "main" | "pr:<N>" (e.g. "pr:42")totalLines in the response — if it exceeds your context budget, surface to the user rather than attempting to process the file"base" = the common ancestor commit (merge base), not mainstage-resolutionparents format: "main,<prNumber>,<prNumber>" — always start with "main", followed by the PR numbers (as strings) that touch the file["main", "10", "11"]content (inline string) or fromFile (local path) must be provided--dry-run to validate without writing to the manifestpushmergeStrategy values: "sequential" (default) | "octopus"sequential: creates N 2-parent merge commits in a chain — required for GitHub auto-closeoctopus: creates a single N-parent commit — use for non-GitHub platforms or atomic historywarnings in the output — if "BASE_SHA_MISMATCH" is present, re-run scan before merging--dry-run is safe to call at any time; it validates without writingpush is idempotent: calling it twice on the same branch reuses the existing PRsequential, the output includes mergeChain — an array of { commitSha, parents, prId } per stepmerge| Code | Meaning | Action |
|------|---------|--------|
| 0 | Success | Continue |
| 1 | Recoverable conflict | Surface to user or re-scan |
| 2 | Hard error | Abort and surface to user |
merge (not squash/rebase) — squash breaks the ancestry chain that closes fleet PRssequential creates 2-parent chain for GitHub compatibility; use octopus only for non-GitHub platforms["main", "<prN>", "<prN>"] — the string "main" is always first, followed by PR numbers as stringspush returns warnings: ["BASE_SHA_MISMATCH"], re-run scan to refresh the base SHA before proceedingtotalLines on every get-contents response; if a file is too large for your context budget, surface to the user rather than processing itscan overwrites the manifest; push reuses an existing open PR on the same branchpush will throw if status.pending is non-empty — resolve all hot zones firstjules-merge schema <command> # input/output schema for one command
jules-merge schema --all # all schemas at once
Take google-labs-code/jules-merge from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.