skills/pr-merge-base/SKILL.md
Merge one or more PRs into the base branch with queue-like sequencing and conflict resolution. Use when merging PRs that may conflict with each other or the base, requiring ordered application and intelligent conflict handling.
npx skillsauth add outlinedriven/odin-codex-plugin pr-merge-baseInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Merge one or more PRs into the base branch (main/master) using queue-like sequencing.
Detect base branch: Identify the default branch (main, master, or repo-specific) via git remote show origin or repo conventions.
Enumerate PRs: List all PRs to merge. For each, fetch the latest HEAD.
Create checkpoint: Record the current base branch tip as a rollback point.
CHECKPOINT=$(git rev-parse HEAD)
Create integration branch: Work on a temporary branch to validate before touching base.
git checkout -b merge-queue/<timestamp> <base>
Determine merge order:
Sequential merge with conflict handling — for each PR in order:
a. Attempt git merge --no-ff <pr-branch> into the integration branch.
b. If merge succeeds cleanly, continue to next PR.
c. If conflicts occur:
difft and codebase context.git merge --abort), stop and report the conflict to the user with both sides and a recommended resolution.
d. After each successful merge, verify the build still passes (if build commands are available).Validate integration branch: Once all PRs are merged on the integration branch, run full build/test suite if available.
Report results: Present the validated integration branch to the user. Do NOT advance the base branch automatically — only update base if the user explicitly requests it.
Abort conditions — stop the queue and report if:
git checkout <base> && git branch -D merge-queue/<timestamp> — base remains untouched at checkpoint.Report for each PR: merged successfully, conflicts resolved (with details), or blocked (with reason).
testing
ODIN's compress-operations dispatcher under the Compressor/Extender role. Invoke on "tidy", "clean up", "tidy this file/memory/workspace/git/docs", or when active context (current file, diff, stack, memory directory) has structural rot to resolve before touching behavior. Detects target domain from context and routes to the sibling skill. Requires explicit target or clear active-context signal — do not invoke speculatively.
development
Cross-domain taste skill — apply distinctive judgment to any artifact (prose, code, design, decisions) instead of converging to AI defaults. Two modes — `audit` (judge work against the two-sided charter and portable anchors) and `anchor` (load register before producing). Auto-detects by phrasing; override via `/taste audit | anchor`. Trigger on "is this slop?", "overkill?", "elegant?", "taste-test this".
tools
One-shot bootstrap of strict-mode tooling per ecosystem plus per-task GOALS.md scaffolding so an agentic loop can self-verify. Writes typechecker/linter/schema-validator config for TS (strict + noUncheckedIndexedAccess + exactOptionalPropertyTypes), Python (Pyright strict, Ruff strict), Rust (Clippy deny-correctness), Go (golangci-lint with staticcheck), OCaml (dune --release); establishes `.agent-tasks/<id>/GOALS.md` per-task convention distinct from project-stable AGENTS.md. C++/Java/Kotlin and framework specifics (Spring Boot, Nest, React-strict) are out of scope. Trigger on new project bootstrap, agentic-task setup, "make this self-verifying", "set the loop's goal", "scaffold goals for this issue". Pairs with `llm-self-loop` runtime.
tools
Install git pre-commit hooks via the project's hook tool — Husky+lint-staged (JS), pre-commit (Python/OCaml), lefthook (Go), cargo-husky (Rust). Use when the user wants commit-time formatting, linting, type-checking, or test gates. Detects ecosystem first.