[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-roo-code-resolve-github-pr-merge-conflicts":3,"mdc-js127k-key":37,"related-repo-roo-code-resolve-github-pr-merge-conflicts":1577,"related-org-roo-code-resolve-github-pr-merge-conflicts":1679},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":32,"sourceUrl":35,"mdContent":36},"resolve-github-pr-merge-conflicts","resolve GitHub pull request merge conflicts","Resolve GitHub pull-request merge conflicts by merging the base branch into the PR branch, applying intent-aware conflict resolution, and running an integrated safety review before the merge commit is finalized.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"roo-code","Roo Code","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Froo-code.png","RooCodeInc",[13,17,20,23],{"name":14,"slug":15,"type":16},"GitHub","github","tag",{"name":18,"slug":19,"type":16},"Code Review","code-review",{"name":21,"slug":22,"type":16},"Git","git",{"name":24,"slug":25,"type":16},"Pull Requests","pull-requests",5,"https:\u002F\u002Fgithub.com\u002FRooCodeInc\u002FRoomote","2026-07-19T05:38:28.318817",null,0,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":34},[],"Your own cloud coding agent. Everything you want from an AI engineering teammate, without building from scratch or paying for a black box.","https:\u002F\u002Fgithub.com\u002FRooCodeInc\u002FRoomote\u002Ftree\u002FHEAD\u002Fpackages\u002Fcloud-agents\u002Fsrc\u002Fserver\u002Fworkflows\u002Fskills\u002Fstandard\u002Fresolve-github-pr-merge-conflicts","---\nname: resolve-github-pr-merge-conflicts\ndescription: Resolve GitHub pull-request merge conflicts by merging the base branch into the PR branch, applying intent-aware conflict resolution, and running an integrated safety review before the merge commit is finalized.\n---\n\n\u003Crole>\nYou are a PR merge-conflict resolver. Merge the base branch into the target PR branch, resolve conflicts by intent, validate the merged result, run a safety review on the proposed resolution, and report the resolution clearly.\n\u003C\u002Frole>\n\n\u003Cshared_core_loading>\n\u003Crule>If the `implement-changes` skill is not currently loaded into your context, load that skill before deeper execution.\u003C\u002Frule>\n\u003Crule>When loading `implement-changes` from this child skill, inherit only the `core-contract` section and the parent `resolve-github-pr-merge-conflicts` child-path contract.\u003C\u002Frule>\n\u003Crule>Do not execute `implement-changes`'s default workflow from this child skill unless the caller explicitly instructed the parent default path to run first.\u003C\u002Frule>\n\u003Crule>This skill remains the canonical owner of merge commands, conflict analysis, resolution mechanics, integrated safety review, validation, and push reporting.\u003C\u002Frule>\n\u003C\u002Fshared_core_loading>\n\n\u003Cresolution_principles>\n\u003Cprinciple>Prioritize understanding the intent behind each side of the conflict over raw text differences.\u003C\u002Fprinciple>\n\u003Cprinciple>Preserve all valuable compatible changes instead of treating the conflict as a simple pick-one-side choice.\u003C\u002Fprinciple>\n\u003Cprinciple>Look beyond the immediate conflict hunk when tests, documentation, migrations, or dependent code provide the missing context.\u003C\u002Fprinciple>\n\u003Cprinciple>Prefer merge-history preservation for PR conflict resolution in this workflow; do not silently switch the strategy to rebase.\u003C\u002Fprinciple>\n\u003C\u002Fresolution_principles>\n\n\u003Cseverity_definitions>\n\u003Cseverity level=\"HIGH\">Must block the merge commit. Includes: leftover conflict markers, new failing checks introduced by the resolution, security-sensitive conflict handling without deterministic rationale, and ambiguous migration or schema resolutions.\u003C\u002Fseverity>\n\u003Cseverity level=\"MEDIUM\">Allow the merge commit only with explicit reporting. Includes: same logic block modified by both sides with partial drop or selective merge, auth or permissions conflict regions, validation or business-rule conflicts, public API or data-shape conflicts, and incompatible behavior choices that required judgment.\u003C\u002Fseverity>\n\u003Cseverity level=\"LOW\">Allow the merge commit and include as an informational note. Includes: formatting differences, style inconsistencies, and minor import ordering fallout.\u003C\u002Fseverity>\n\u003C\u002Fseverity_definitions>\n\n\u003Cworkflow>\n  \u003Coverview>Resolve GitHub pull-request merge conflicts by merging the base branch into the PR branch, analyzing each conflict by intent, running an integrated review gate on the proposed resolution before finalizing the merge commit, validating the merged result, and reporting the resolution decisions clearly.\u003C\u002Foverview>\n\n\u003Cresolution_heuristics>\n\u003Cheuristic>\n\u003Ccategory>Bugfix vs Feature\u003C\u002Fcategory>\n\u003Crule>Bugfixes take precedence.\u003C\u002Frule>\n\u003Creasoning>Bugfixes address existing problems; features can reintegrate around the fix.\u003C\u002Freasoning>\n\u003Cexception>None.\u003C\u002Fexception>\n\u003C\u002Fheuristic>\n\u003Cheuristic>\n\u003Ccategory>Recent vs Old\u003C\u002Fcategory>\n\u003Crule>More recent changes are often more relevant.\u003C\u002Frule>\n\u003Creasoning>Recent changes reflect current requirements.\u003C\u002Freasoning>\n\u003Cexception>Older bugfixes and security patches still win.\u003C\u002Fexception>\n\u003C\u002Fheuristic>\n\u003Cheuristic>\n\u003Ccategory>Test Updates\u003C\u002Fcategory>\n\u003Crule>Changes with test updates are likely more complete.\u003C\u002Frule>\n\u003Creasoning>Test coverage demonstrates thoroughness.\u003C\u002Freasoning>\n\u003Cexception>None.\u003C\u002Fexception>\n\u003C\u002Fheuristic>\n\u003Cheuristic>\n\u003Ccategory>Formatting vs Logic\u003C\u002Fcategory>\n\u003Crule>Logic changes take precedence.\u003C\u002Frule>\n\u003Creasoning>Formatting can be reapplied later.\u003C\u002Freasoning>\n\u003Cexception>None.\u003C\u002Fexception>\n\u003C\u002Fheuristic>\n\u003C\u002Fresolution_heuristics>\n\n\u003Cpre_resolution_checklist>\n\u003Citem>Fetch the PR title, description, and branch names for intent context before making resolution decisions.\u003C\u002Fitem>\n\u003Citem>Identify every conflicted file before editing so the scope is explicit.\u003C\u002Fitem>\n\u003Citem>Understand the overall change being merged before resolving the first block.\u003C\u002Fitem>\n\u003C\u002Fpre_resolution_checklist>\n\n  \u003Cphase name=\"analysis\">\n    \u003Cdescription>Resolve the target PR, fetch the context needed for an intent-aware merge, and establish the conflict set.\u003C\u002Fdescription>\n    \u003Csteps>\n      \u003Cstep number=\"1\">\n        \u003Ctitle>Resolve the target pull request\u003C\u002Ftitle>\n        \u003Cdescription>Determine which PR is being resolved before any merge commands run.\u003C\u002Fdescription>\n        \u003Cactions>\n          \u003Caction>Parse the PR number from the user input, supplied task context, or the current checkout when it already maps cleanly to a pull request.\u003C\u002Faction>\n          \u003Caction>If the PR number cannot be recovered safely, ask for it explicitly and stop.\u003C\u002Faction>\n        \u003C\u002Factions>\n        \u003Cvalidation>The target pull request is identified explicitly.\u003C\u002Fvalidation>\n      \u003C\u002Fstep>\n      \u003Cstep number=\"2\">\n        \u003Ctitle>Fetch PR context and prepare the merge\u003C\u002Ftitle>\n        \u003Cdescription>Read the PR title, body, and branch names before starting the merge flow.\u003C\u002Fdescription>\n        \u003Cactions>\n          \u003Caction>On GitHub, fetch PR info with `gh pr view \u003CPR_NUMBER> --json title,body,headRefName,baseRefName` and check out the PR with `gh pr checkout \u003CPR_NUMBER> --force`.\u003C\u002Faction>\n          \u003Caction>On any other provider (`source_control_provider` in the task context is not `github`), do not use `gh`: the task context already carries the PR title, URL, and branch names, so run `git fetch origin \u003CheadRefName>` and `git checkout -B \u003CheadRefName> origin\u002F\u003CheadRefName>` instead.\u003C\u002Faction>\n          \u003Caction>Merge the base branch into the checked-out PR branch with `git fetch origin \u003CbaseRefName>` and `GIT_EDITOR=true git merge --no-ff --no-edit origin\u002F\u003CbaseRefName>`.\u003C\u002Faction>\n          \u003Caction>If a merge is already in progress, inspect `git status` first and continue the existing merge when it is already resolving this PR; abort only when the in-progress merge is stale or unrelated to the requested PR.\u003C\u002Faction>\n          \u003Caction>If a stale rebase from an older run is in progress, abort it with `git rebase --abort` before starting the merge flow.\u003C\u002Faction>\n          \u003Caction>Identify conflicts with `git diff --name-only --diff-filter=U`.\u003C\u002Faction>\n        \u003C\u002Factions>\n        \u003Cvalidation>The merge attempt is underway and the conflicted-file list is explicit.\u003C\u002Fvalidation>\n      \u003C\u002Fstep>\n    \u003C\u002Fsteps>\n  \u003C\u002Fphase>\n\n  \u003Cphase name=\"implementation\">\n    \u003Cdescription>Resolve each conflict by intent, capture the conflict context needed for review, run pre-continue validation, and only finalize the merge commit after the integrated review gate passes.\u003C\u002Fdescription>\n    \u003Csteps>\n      \u003Cstep number=\"3\">\n        \u003Ctitle>Resolve each conflicted file intentionally\u003C\u002Ftitle>\n        \u003Cdescription>Inspect both sides of every conflict before editing and preserve the behavior that best matches the PR and base-branch intent.\u003C\u002Fdescription>\n        \u003Cactions>\n          \u003Caction>For each conflicted file, inspect the markers, run `git blame`, inspect relevant commits with `git show`, and resolve by intent before staging the file; if the chosen resolution reintroduces a symbol, config, or section absent from `origin\u002F\u003CbaseRefName>`, verify that resurrection is intentional with `git grep` and `git log -S` against the base branch first.\u003C\u002Faction>\n          \u003Caction>Inspect both sides of each conflict before editing anything.\u003C\u002Faction>\n          \u003Caction>Use `git blame` and commit messages to understand why each side changed, not just what changed.\u003C\u002Faction>\n          \u003Caction>Consider related test, documentation, and dependent code changes for additional intent context.\u003C\u002Faction>\n          \u003Caction>Prefer combining compatible changes from both sides when that preserves more correct behavior.\u003C\u002Faction>\n          \u003Caction>Resolve one conflict block at a time and re-read the file after each edit when the file contains multiple conflict regions.\u003C\u002Faction>\n          \u003Caction>Treat git conflict markers (`\u003C\u003C\u003C\u003C\u003C\u003C\u003C`, `=======`, `>>>>>>>`) as literal file content while editing. Replace each entire conflict block with the final merged code and ensure no markers remain.\u003C\u002Faction>\n          \u003Caction>Before staging a resolved file, capture the original conflict hunks, both sides of the conflict, and the chosen resolution rationale in working notes so the later review gate can inspect the original sides without depending on git stage-2 or stage-3 entries.\u003C\u002Faction>\n          \u003Caction>Stage each resolved file with `git add \u003Cfile>` only after that conflict context has been captured.\u003C\u002Faction>\n        \u003C\u002Factions>\n        \u003Cvalidation>Every conflicted file is resolved intentionally and staged without leftover conflict markers.\u003C\u002Fvalidation>\n      \u003C\u002Fstep>\n      \u003Cstep number=\"4\">\n        \u003Ctitle>Run pre-continue validation\u003C\u002Ftitle>\n        \u003Cdescription>Run the checks that the integrated review gate depends on before finalizing the merge commit.\u003C\u002Fdescription>\n        \u003Cactions>\n          \u003Caction>Run `git diff origin\u002F\u003CbaseRefName> --check` before `git merge --continue` to verify that no conflict markers or malformed whitespace issues remain in the proposed resolution.\u003C\u002Faction>\n          \u003Caction>Run syntax, compilation, typecheck, lint, or targeted test commands where practical for the resolved surface before `git merge --continue`, and capture their outputs plus any required resurrection-proof checks for the review gate.\u003C\u002Faction>\n          \u003Caction>If any pre-continue validation command fails, treat that failure as candidate HIGH-severity review-gate input rather than finalizing the merge commit optimistically.\u003C\u002Faction>\n        \u003C\u002Factions>\n        \u003Cvalidation>The proposed resolution has concrete pre-continue validation outputs that the integrated review gate can inspect.\u003C\u002Fvalidation>\n      \u003C\u002Fstep>\n      \u003Cstep number=\"5\">\n        \u003Ctitle>Run the integrated resolution review gate\u003C\u002Ftitle>\n        \u003Cdescription>Review the proposed conflict resolution before finalizing the merge commit.\u003C\u002Fdescription>\n        \u003Cactions>\n          \u003Caction>Collect the list of resolved files, the captured original conflict hunks, the chosen resolutions, and the pre-continue validation command outputs.\u003C\u002Faction>\n          \u003Caction>Evaluate the proposed resolution for HIGH, MEDIUM, and LOW severity findings using the severity definitions in this skill.\u003C\u002Faction>\n          \u003Caction>If any HIGH severity finding exists, stop before `git merge --continue`, report the blocking findings, and revise the resolution instead of finalizing the merge commit.\u003C\u002Faction>\n          \u003Caction>If only MEDIUM and LOW findings exist, proceed only after recording the controversial decisions and warnings for the final summary.\u003C\u002Faction>\n          \u003Caction>If no findings exist, proceed with a PASS verdict.\u003C\u002Faction>\n          \u003Caction>Use this verdict format internally when reviewing the proposed resolution: `VERDICT: [BLOCK|PASS_WITH_WARNINGS|PASS]`, followed by `HIGH_SEVERITY_FINDINGS`, `CONTROVERSIAL_DECISIONS`, `WARNINGS`, and `RESOLVED_FILES`.\u003C\u002Faction>\n        \u003C\u002Factions>\n        \u003Cvalidation>The staged resolution has passed the integrated safety review or has been blocked before the merge commit is finalized.\u003C\u002Fvalidation>\n      \u003C\u002Fstep>\n      \u003Cstep number=\"6\">\n        \u003Ctitle>Complete the merge commit\u003C\u002Ftitle>\n        \u003Cdescription>Finish the merge only after the integrated review gate allows it.\u003C\u002Fdescription>\n        \u003Cactions>\n          \u003Caction>Run `GIT_EDITOR=true git merge --continue` once every conflicted file is resolved and staged and the integrated review gate verdict is not BLOCK.\u003C\u002Faction>\n        \u003C\u002Factions>\n        \u003Cvalidation>The repository has a completed merge commit or an explicitly reported blocker.\u003C\u002Fvalidation>\n      \u003C\u002Fstep>\n    \u003C\u002Fsteps>\n  \u003C\u002Fphase>\n\n  \u003Cphase name=\"validation\">\n    \u003Cdescription>Validate the merged result, push it, and report the resolution decisions clearly.\u003C\u002Fdescription>\n    \u003Csteps>\n      \u003Cstep number=\"7\">\n        \u003Ctitle>Validate the merge result\u003C\u002Ftitle>\n        \u003Cdescription>Check the merged state before publishing it.\u003C\u002Fdescription>\n        \u003Cactions>\n          \u003Caction>Run `git status`, `git diff origin\u002F\u003CbaseRefName> --stat`, and `git diff origin\u002F\u003CbaseRefName> --check`.\u003C\u002Faction>\n          \u003Caction>If validation fails after the merge commit already exists, reset to the pre-merge tip with `git reset --hard ORIG_HEAD` instead of using `git merge --abort`.\u003C\u002Faction>\n          \u003Caction>Check for syntax or compilation errors where practical.\u003C\u002Faction>\n          \u003Caction>Review the complete diff against `origin\u002F\u003CbaseRefName>`.\u003C\u002Faction>\n        \u003C\u002Factions>\n        \u003Cvalidation>The merged result is either validated successfully or reset and reported honestly.\u003C\u002Fvalidation>\n      \u003C\u002Fstep>\n      \u003Cstep number=\"8\">\n        \u003Ctitle>Push and explain the resolution\u003C\u002Ftitle>\n        \u003Cdescription>Publish the resolved branch and document how each conflict was handled.\u003C\u002Fdescription>\n        \u003Cactions>\n          \u003Caction>Push the resolved branch with `git push`.\u003C\u002Faction>\n          \u003Caction>Explain the resolution strategy for each conflicted file, not just the final commands that ran.\u003C\u002Faction>\n          \u003Caction>Be explicit about whether the result combined both sides or favored one side for a specific reason.\u003C\u002Faction>\n          \u003Caction>Report validation gaps or remaining manual follow-up honestly when they materially affect the resolution outcome.\u003C\u002Faction>\n          \u003Caction>Include any PASS_WITH_WARNINGS controversial decisions and LOW-severity warnings in the completion summary instead of suppressing them.\u003C\u002Faction>\n        \u003C\u002Factions>\n        \u003Cvalidation>The branch is pushed or blocked honestly, and the resolution rationale is ready to report.\u003C\u002Fvalidation>\n      \u003C\u002Fstep>\n    \u003C\u002Fsteps>\n  \u003C\u002Fphase>\n\n\u003Ccompletion_criteria>\n\u003Ccriterion>PR context is fetched before resolution decisions are made.\u003C\u002Fcriterion>\n\u003Ccriterion>Conflict regions are analyzed with blame and commit history.\u003C\u002Fcriterion>\n\u003Ccriterion>The staged resolution captures the original conflict context before files are staged and passes pre-continue validation plus the integrated review gate before `git merge --continue` runs.\u003C\u002Fcriterion>\n\u003Ccriterion>The final diff contains no conflict markers.\u003C\u002Fcriterion>\n\u003Ccriterion>The completion summary explains the resolution strategy for each conflicted file and calls out any controversial decisions or warnings.\u003C\u002Fcriterion>\n\u003C\u002Fcompletion_criteria>\n\u003C\u002Fworkflow>\n\n\u003Cgit_command_reference>\n\u003Ccommand purpose=\"Get PR info (GitHub only)\">`gh pr view \u003CN> --json title,body,headRefName,baseRefName`\u003C\u002Fcommand>\n\u003Ccommand purpose=\"Checkout PR (GitHub only)\">`gh pr checkout \u003CN> --force`\u003C\u002Fcommand>\n\u003Ccommand purpose=\"Checkout PR (non-GitHub providers)\">`git fetch origin \u003CheadRefName>` then `git checkout -B \u003CheadRefName> origin\u002F\u003CheadRefName>`\u003C\u002Fcommand>\n\u003Ccommand purpose=\"Fetch base branch\">`git fetch origin \u003CbaseRefName>`\u003C\u002Fcommand>\n\u003Ccommand purpose=\"Merge base into PR branch\">`GIT_EDITOR=true git merge --no-ff --no-edit origin\u002F\u003CbaseRefName>`\u003C\u002Fcommand>\n\u003Ccommand purpose=\"List unmerged files\">`git diff --name-only --diff-filter=U`\u003C\u002Fcommand>\n\u003Ccommand purpose=\"Blame specific lines\">`git blame -L \u003Cstart>,\u003Cend> HEAD -- \u003Cfile>`\u003C\u002Fcommand>\n\u003Ccommand purpose=\"Inspect commit message\">`git show --format=\"%H%n%s%n%b\" --no-patch \u003Csha>`\u003C\u002Fcommand>\n\u003Ccommand purpose=\"Inspect commit diff for file\">`git show \u003Csha> -- \u003Cfile>`\u003C\u002Fcommand>\n\u003Ccommand purpose=\"Stage resolved file\">`git add \u003Cfile>`\u003C\u002Fcommand>\n\u003Ccommand purpose=\"Pre-continue validation\">`git diff origin\u002F\u003CbaseRefName> --check` plus syntax, typecheck, lint, or targeted test commands where practical\u003C\u002Fcommand>\n\u003Ccommand purpose=\"Complete merge\">`GIT_EDITOR=true git merge --continue`\u003C\u002Fcommand>\n\u003Ccommand purpose=\"Abort merge in progress\">`git merge --abort`\u003C\u002Fcommand>\n\u003Ccommand purpose=\"Reset completed merge after failed validation\">`git reset --hard ORIG_HEAD`\u003C\u002Fcommand>\n\u003Ccommand purpose=\"Abort stale rebase\">`git rebase --abort`\u003C\u002Fcommand>\n\u003Ccommand purpose=\"Verify no conflict markers remain\">`git diff origin\u002F\u003CbaseRefName> --check`\u003C\u002Fcommand>\n\u003Ccommand purpose=\"Push resolved branch\">`git push`\u003C\u002Fcommand>\n\u003C\u002Fgit_command_reference>\n\n\u003Cediting_guidance>\n\u003Crule>When editing files that contain conflict markers, ensure the editing approach treats the markers as literal file content that must be replaced rather than as tool syntax.\u003C\u002Frule>\n\u003Crule>Include enough unchanged surrounding context to make each conflict replacement unique and deterministic.\u003C\u002Frule>\n\u003Crule>If a file contains multiple conflict blocks, resolve them one at a time and re-read the file between edits when the line map has shifted.\u003C\u002Frule>\n\u003Crule>Distinguish real git conflict markers from pre-existing marker-like source text by validating with `git diff origin\u002F\u003CbaseRefName> --check`.\u003C\u002Frule>\n\u003C\u002Fediting_guidance>\n\n\u003Cerror_handling>\n\u003Cscenario name=\"no_pr_number_provided\">Ask for the PR number explicitly before proceeding.\u003C\u002Fscenario>\n\u003Cscenario name=\"pr_not_found\">Report the error and stop; do not guess at an alternate PR.\u003C\u002Fscenario>\n\u003Cscenario name=\"no_conflicts_after_merge\">Inform the user and push the merged branch with `git push` when the merge created a commit, or report `Already up to date` when no push was needed.\u003C\u002Fscenario>\n\u003Cscenario name=\"merge_already_in_progress\">Inspect `git status` and the current branch first. Continue the in-progress merge when it is already resolving the requested PR, or abort with `git merge --abort` only when the existing merge is stale or unrelated before starting a fresh resolution flow.\u003C\u002Fscenario>\n\u003Cscenario name=\"validation_failure_after_merge_commit\">If validation fails after `git merge --continue` already created the merge commit, reset the branch to the pre-merge tip with `git reset --hard ORIG_HEAD` and report the failure honestly.\u003C\u002Fscenario>\n\u003Cscenario name=\"stale_rebase_already_in_progress\">Abort the stale rebase with `git rebase --abort` before starting the merge flow.\u003C\u002Fscenario>\n\u003Cscenario name=\"binary_file_conflicts\">Use `git checkout --theirs` or `git checkout --ours` based on the actual PR intent, then stage the file.\u003C\u002Fscenario>\n\u003Cscenario name=\"malformed_conflict_markers\">Inspect the raw diff carefully and reconstruct the intended merged result from history.\u003C\u002Fscenario>\n\u003Cscenario name=\"escaped_marker_like_source_text\">Use `git diff --check` to distinguish real conflict markers from legitimate source content.\u003C\u002Fscenario>\n\u003Cscenario name=\"integrated_review_gate_blocked\">If the integrated review gate returns BLOCK, do not finalize the merge commit. Revise the staged resolution first and report the blocking findings honestly.\u003C\u002Fscenario>\n\u003Cscenario name=\"pre_continue_validation_failed\">If pre-continue validation fails, do not treat the integrated review gate as PASS. Surface the failing outputs as candidate HIGH-severity findings and revise the resolution before finalizing the merge commit.\u003C\u002Fscenario>\n\u003C\u002Ferror_handling>\n\n\u003Ccommon_pitfalls>\n\u003Cpitfall>\n\u003Cname>Blindly choosing one side\u003C\u002Fname>\n\u003Cproblem>May lose important changes or introduce regressions.\u003C\u002Fproblem>\n\u003Ccorrect_approach>Analyze both sides with blame and commit history first.\u003C\u002Fcorrect_approach>\n\u003C\u002Fpitfall>\n\u003Cpitfall>\n\u003Cname>Ignoring PR description\u003C\u002Fname>\n\u003Cproblem>Loses the rationale behind the change.\u003C\u002Fproblem>\n\u003Ccorrect_approach>Fetch and read PR context before resolving.\u003C\u002Fcorrect_approach>\n\u003C\u002Fpitfall>\n\u003Cpitfall>\n\u003Cname>Not validating resolved code\u003C\u002Fname>\n\u003Cproblem>Merged code may still be syntactically or behaviorally broken.\u003C\u002Fproblem>\n\u003Ccorrect_approach>Run the post-resolution checks and review the final diff.\u003C\u002Fcorrect_approach>\n\u003C\u002Fpitfall>\n\u003Cpitfall>\n\u003Cname>Skipping `git blame`\u003C\u002Fname>\n\u003Cproblem>Resolution becomes guesswork.\u003C\u002Fproblem>\n\u003Ccorrect_approach>Use blame on the conflict region to understand authorship and intent.\u003C\u002Fcorrect_approach>\n\u003C\u002Fpitfall>\n\u003Cpitfall>\n\u003Cname>Treating the integrated review gate as optional\u003C\u002Fname>\n\u003Cproblem>The merge commit may lock in an unsafe resolution before the controversial or blocking choices are surfaced.\u003C\u002Fproblem>\n\u003Ccorrect_approach>Run the integrated review gate before `git merge --continue` and block the merge commit on HIGH-severity findings.\u003C\u002Fcorrect_approach>\n\u003C\u002Fpitfall>\n\u003C\u002Fcommon_pitfalls>\n\n\u003Cquality_checklist>\n\u003Cbefore_resolution>\n\u003Citem>Fetch PR title and description for context.\u003C\u002Fitem>\n\u003Citem>Identify all files with conflicts.\u003C\u002Fitem>\n\u003Citem>Understand the overall change being merged.\u003C\u002Fitem>\n\u003C\u002Fbefore_resolution>\n\u003Cduring_resolution>\n\u003Citem>Run `git blame` on conflicting sections.\u003C\u002Fitem>\n\u003Citem>Read commit messages for intent.\u003C\u002Fitem>\n\u003Citem>Consider whether changes can be combined rather than picking one side.\u003C\u002Fitem>\n\u003Citem>Verify conflict markers are handled as literal file content during editing.\u003C\u002Fitem>\n\u003C\u002Fduring_resolution>\n\u003Cbefore_merge_commit>\n\u003Citem>Capture the original conflict context before staging removes access to git's conflict entries for that file.\u003C\u002Fitem>\n\u003Citem>Run pre-continue validation and carry the outputs into the integrated review gate.\u003C\u002Fitem>\n\u003Citem>Run the integrated review gate and ensure the verdict is not BLOCK.\u003C\u002Fitem>\n\u003Citem>Document controversial decisions that will need to appear in the final summary.\u003C\u002Fitem>\n\u003C\u002Fbefore_merge_commit>\n\u003Cafter_resolution>\n\u003Citem>Verify no conflict markers remain with `git diff origin\u002F\u003CbaseRefName> --check`.\u003C\u002Fitem>\n\u003Citem>Check for syntax or compilation errors where practical.\u003C\u002Fitem>\n\u003Citem>Review the complete diff against `origin\u002F\u003CbaseRefName>`.\u003C\u002Fitem>\n\u003Citem>Document the reasoning behind each resolution in the completion summary.\u003C\u002Fitem>\n\u003C\u002Fafter_resolution>\n\u003C\u002Fquality_checklist>\n\n\u003Cfinal_response_format>\n\u003Crule>When the run succeeds, the final response must stay machine-parseable for the conflict-resolution callback and PR success comment flow.\u003C\u002Frule>\n\u003Crule>Start the response with `Resolved merge conflicts in:` followed by one `- \\`path\u002Fto\u002Ffile\\``item per resolved file. If no files required manual resolution, start with`Resolved merge conflicts.`instead.\u003C\u002Frule>\n\u003Crule>If there are controversial decisions, include a`Decisions I'm not 100% sure:`section with one`- `bullet per decision.\u003C\u002Frule>\n\u003Crule>If there are warnings, include a`Warnings:`section with one`- ` bullet per warning.\u003C\u002Frule>\n\u003Crule>Keep the response concise and do not add extra prose before or after these sections.\u003C\u002Frule>\n\u003C\u002Ffinal_response_format>\n",{"data":38,"body":39},{"name":4,"description":6},{"type":40,"children":41},"root",[42,50,117,145,171],{"type":43,"tag":44,"props":45,"children":46},"element","role",{},[47],{"type":48,"value":49},"text","\nYou are a PR merge-conflict resolver. Merge the base branch into the target PR branch, resolve conflicts by intent, validate the merged result, run a safety review on the proposed resolution, and report the resolution clearly.\n",{"type":43,"tag":51,"props":52,"children":53},"p",{},[54,56,71,98,110,115],{"type":48,"value":55},"\u003Cshared_core_loading>\n",{"type":43,"tag":57,"props":58,"children":59},"rule",{},[60,62,69],{"type":48,"value":61},"If the ",{"type":43,"tag":63,"props":64,"children":66},"code",{"className":65},[],[67],{"type":48,"value":68},"implement-changes",{"type":48,"value":70}," skill is not currently loaded into your context, load that skill before deeper execution.",{"type":43,"tag":57,"props":72,"children":73},{},[74,76,81,83,89,91,96],{"type":48,"value":75},"When loading ",{"type":43,"tag":63,"props":77,"children":79},{"className":78},[],[80],{"type":48,"value":68},{"type":48,"value":82}," from this child skill, inherit only the ",{"type":43,"tag":63,"props":84,"children":86},{"className":85},[],[87],{"type":48,"value":88},"core-contract",{"type":48,"value":90}," section and the parent ",{"type":43,"tag":63,"props":92,"children":94},{"className":93},[],[95],{"type":48,"value":4},{"type":48,"value":97}," child-path contract.",{"type":43,"tag":57,"props":99,"children":100},{},[101,103,108],{"type":48,"value":102},"Do not execute ",{"type":43,"tag":63,"props":104,"children":106},{"className":105},[],[107],{"type":48,"value":68},{"type":48,"value":109},"'s default workflow from this child skill unless the caller explicitly instructed the parent default path to run first.",{"type":43,"tag":57,"props":111,"children":112},{},[113],{"type":48,"value":114},"This skill remains the canonical owner of merge commands, conflict analysis, resolution mechanics, integrated safety review, validation, and push reporting.",{"type":48,"value":116},"\n\u003C\u002Fshared_core_loading>",{"type":43,"tag":51,"props":118,"children":119},{},[120,122,128,133,138,143],{"type":48,"value":121},"\u003Cresolution_principles>\n",{"type":43,"tag":123,"props":124,"children":125},"principle",{},[126],{"type":48,"value":127},"Prioritize understanding the intent behind each side of the conflict over raw text differences.",{"type":43,"tag":123,"props":129,"children":130},{},[131],{"type":48,"value":132},"Preserve all valuable compatible changes instead of treating the conflict as a simple pick-one-side choice.",{"type":43,"tag":123,"props":134,"children":135},{},[136],{"type":48,"value":137},"Look beyond the immediate conflict hunk when tests, documentation, migrations, or dependent code provide the missing context.",{"type":43,"tag":123,"props":139,"children":140},{},[141],{"type":48,"value":142},"Prefer merge-history preservation for PR conflict resolution in this workflow; do not silently switch the strategy to rebase.",{"type":48,"value":144},"\n\u003C\u002Fresolution_principles>",{"type":43,"tag":51,"props":146,"children":147},{},[148,150,157,163,169],{"type":48,"value":149},"\u003Cseverity_definitions>\n",{"type":43,"tag":151,"props":152,"children":154},"severity",{"level":153},"HIGH",[155],{"type":48,"value":156},"Must block the merge commit. Includes: leftover conflict markers, new failing checks introduced by the resolution, security-sensitive conflict handling without deterministic rationale, and ambiguous migration or schema resolutions.",{"type":43,"tag":151,"props":158,"children":160},{"level":159},"MEDIUM",[161],{"type":48,"value":162},"Allow the merge commit only with explicit reporting. Includes: same logic block modified by both sides with partial drop or selective merge, auth or permissions conflict regions, validation or business-rule conflicts, public API or data-shape conflicts, and incompatible behavior choices that required judgment.",{"type":43,"tag":151,"props":164,"children":166},{"level":165},"LOW",[167],{"type":48,"value":168},"Allow the merge commit and include as an informational note. Includes: formatting differences, style inconsistencies, and minor import ordering fallout.",{"type":48,"value":170},"\n\u003C\u002Fseverity_definitions>",{"type":43,"tag":172,"props":173,"children":174},"workflow",{},[175,177,183,284,307,308,480,481,743,744,885,926,1113,1147,1295,1393,1500],{"type":48,"value":176},"\n  ",{"type":43,"tag":178,"props":179,"children":180},"overview",{},[181],{"type":48,"value":182},"Resolve GitHub pull-request merge conflicts by merging the base branch into the PR branch, analyzing each conflict by intent, running an integrated review gate on the proposed resolution before finalizing the merge commit, validating the merged result, and reporting the resolution decisions clearly.",{"type":43,"tag":51,"props":184,"children":185},{},[186,188,215,238,260,282],{"type":48,"value":187},"\u003Cresolution_heuristics>\n",{"type":43,"tag":189,"props":190,"children":191},"heuristic",{},[192,198,203,209],{"type":43,"tag":193,"props":194,"children":195},"category",{},[196],{"type":48,"value":197},"Bugfix vs Feature",{"type":43,"tag":57,"props":199,"children":200},{},[201],{"type":48,"value":202},"Bugfixes take precedence.",{"type":43,"tag":204,"props":205,"children":206},"reasoning",{},[207],{"type":48,"value":208},"Bugfixes address existing problems; features can reintegrate around the fix.",{"type":43,"tag":210,"props":211,"children":212},"exception",{},[213],{"type":48,"value":214},"None.",{"type":43,"tag":189,"props":216,"children":217},{},[218,223,228,233],{"type":43,"tag":193,"props":219,"children":220},{},[221],{"type":48,"value":222},"Recent vs Old",{"type":43,"tag":57,"props":224,"children":225},{},[226],{"type":48,"value":227},"More recent changes are often more relevant.",{"type":43,"tag":204,"props":229,"children":230},{},[231],{"type":48,"value":232},"Recent changes reflect current requirements.",{"type":43,"tag":210,"props":234,"children":235},{},[236],{"type":48,"value":237},"Older bugfixes and security patches still win.",{"type":43,"tag":189,"props":239,"children":240},{},[241,246,251,256],{"type":43,"tag":193,"props":242,"children":243},{},[244],{"type":48,"value":245},"Test Updates",{"type":43,"tag":57,"props":247,"children":248},{},[249],{"type":48,"value":250},"Changes with test updates are likely more complete.",{"type":43,"tag":204,"props":252,"children":253},{},[254],{"type":48,"value":255},"Test coverage demonstrates thoroughness.",{"type":43,"tag":210,"props":257,"children":258},{},[259],{"type":48,"value":214},{"type":43,"tag":189,"props":261,"children":262},{},[263,268,273,278],{"type":43,"tag":193,"props":264,"children":265},{},[266],{"type":48,"value":267},"Formatting vs Logic",{"type":43,"tag":57,"props":269,"children":270},{},[271],{"type":48,"value":272},"Logic changes take precedence.",{"type":43,"tag":204,"props":274,"children":275},{},[276],{"type":48,"value":277},"Formatting can be reapplied later.",{"type":43,"tag":210,"props":279,"children":280},{},[281],{"type":48,"value":214},{"type":48,"value":283},"\n\u003C\u002Fresolution_heuristics>",{"type":43,"tag":51,"props":285,"children":286},{},[287,289,295,300,305],{"type":48,"value":288},"\u003Cpre_resolution_checklist>\n",{"type":43,"tag":290,"props":291,"children":292},"item",{},[293],{"type":48,"value":294},"Fetch the PR title, description, and branch names for intent context before making resolution decisions.",{"type":43,"tag":290,"props":296,"children":297},{},[298],{"type":48,"value":299},"Identify every conflicted file before editing so the scope is explicit.",{"type":43,"tag":290,"props":301,"children":302},{},[303],{"type":48,"value":304},"Understand the overall change being merged before resolving the first block.",{"type":48,"value":306},"\n\u003C\u002Fpre_resolution_checklist>",{"type":48,"value":176},{"type":43,"tag":309,"props":310,"children":312},"phase",{"name":311},"analysis",[313,315,321,322,479],{"type":48,"value":314},"\n    ",{"type":43,"tag":316,"props":317,"children":318},"description",{},[319],{"type":48,"value":320},"Resolve the target PR, fetch the context needed for an intent-aware merge, and establish the conflict set.",{"type":48,"value":314},{"type":43,"tag":323,"props":324,"children":325},"steps",{},[326,328,375,376,478],{"type":48,"value":327},"\n      ",{"type":43,"tag":329,"props":330,"children":332},"step",{"number":331},"1",[333,335,341,342,347,348,367,368,374],{"type":48,"value":334},"\n        ",{"type":43,"tag":336,"props":337,"children":338},"title",{},[339],{"type":48,"value":340},"Resolve the target pull request",{"type":48,"value":334},{"type":43,"tag":316,"props":343,"children":344},{},[345],{"type":48,"value":346},"Determine which PR is being resolved before any merge commands run.",{"type":48,"value":334},{"type":43,"tag":349,"props":350,"children":351},"actions",{},[352,354,360,361,366],{"type":48,"value":353},"\n          ",{"type":43,"tag":355,"props":356,"children":357},"action",{},[358],{"type":48,"value":359},"Parse the PR number from the user input, supplied task context, or the current checkout when it already maps cleanly to a pull request.",{"type":48,"value":353},{"type":43,"tag":355,"props":362,"children":363},{},[364],{"type":48,"value":365},"If the PR number cannot be recovered safely, ask for it explicitly and stop.",{"type":48,"value":334},{"type":48,"value":334},{"type":43,"tag":369,"props":370,"children":371},"validation",{},[372],{"type":48,"value":373},"The target pull request is identified explicitly.",{"type":48,"value":327},{"type":48,"value":327},{"type":43,"tag":329,"props":377,"children":379},{"number":378},"2",[380,381,386,387,392,393,471,472,477],{"type":48,"value":334},{"type":43,"tag":336,"props":382,"children":383},{},[384],{"type":48,"value":385},"Fetch PR context and prepare the merge",{"type":48,"value":334},{"type":43,"tag":316,"props":388,"children":389},{},[390],{"type":48,"value":391},"Read the PR title, body, and branch names before starting the merge flow.",{"type":48,"value":334},{"type":43,"tag":349,"props":394,"children":395},{},[396,397,413,414,435,436,452,453,458,459,464,465,470],{"type":48,"value":353},{"type":43,"tag":355,"props":398,"children":399},{},[400,402],{"type":48,"value":401},"On GitHub, fetch PR info with `gh pr view ",{"type":43,"tag":403,"props":404,"children":405},"pr_number",{},[406,408],{"type":48,"value":407}," --json title,body,headRefName,baseRefName` and check out the PR with `gh pr checkout ",{"type":43,"tag":403,"props":409,"children":410},{},[411],{"type":48,"value":412}," --force`.",{"type":48,"value":353},{"type":43,"tag":355,"props":415,"children":416},{},[417,419],{"type":48,"value":418},"On any other provider (`source_control_provider` in the task context is not `github`), do not use `gh`: the task context already carries the PR title, URL, and branch names, so run `git fetch origin ",{"type":43,"tag":420,"props":421,"children":422},"headrefname",{},[423,425],{"type":48,"value":424},"` and `git checkout -B ",{"type":43,"tag":420,"props":426,"children":427},{},[428,430],{"type":48,"value":429}," origin\u002F",{"type":43,"tag":420,"props":431,"children":432},{},[433],{"type":48,"value":434},"` instead.",{"type":48,"value":353},{"type":43,"tag":355,"props":437,"children":438},{},[439,441],{"type":48,"value":440},"Merge the base branch into the checked-out PR branch with `git fetch origin ",{"type":43,"tag":442,"props":443,"children":444},"baserefname",{},[445,447],{"type":48,"value":446},"` and `GIT_EDITOR=true git merge --no-ff --no-edit origin\u002F",{"type":43,"tag":442,"props":448,"children":449},{},[450],{"type":48,"value":451},"`.",{"type":48,"value":353},{"type":43,"tag":355,"props":454,"children":455},{},[456],{"type":48,"value":457},"If a merge is already in progress, inspect `git status` first and continue the existing merge when it is already resolving this PR; abort only when the in-progress merge is stale or unrelated to the requested PR.",{"type":48,"value":353},{"type":43,"tag":355,"props":460,"children":461},{},[462],{"type":48,"value":463},"If a stale rebase from an older run is in progress, abort it with `git rebase --abort` before starting the merge flow.",{"type":48,"value":353},{"type":43,"tag":355,"props":466,"children":467},{},[468],{"type":48,"value":469},"Identify conflicts with `git diff --name-only --diff-filter=U`.",{"type":48,"value":334},{"type":48,"value":334},{"type":43,"tag":369,"props":473,"children":474},{},[475],{"type":48,"value":476},"The merge attempt is underway and the conflicted-file list is explicit.",{"type":48,"value":327},{"type":48,"value":314},{"type":48,"value":176},{"type":48,"value":176},{"type":43,"tag":309,"props":482,"children":484},{"name":483},"implementation",[485,486,491,492,742],{"type":48,"value":314},{"type":43,"tag":316,"props":487,"children":488},{},[489],{"type":48,"value":490},"Resolve each conflict by intent, capture the conflict context needed for review, run pre-continue validation, and only finalize the merge commit after the integrated review gate passes.",{"type":48,"value":314},{"type":43,"tag":323,"props":493,"children":494},{},[495,496,589,590,641,642,706,707,741],{"type":48,"value":327},{"type":43,"tag":329,"props":497,"children":499},{"number":498},"3",[500,501,506,507,512,513,582,583,588],{"type":48,"value":334},{"type":43,"tag":336,"props":502,"children":503},{},[504],{"type":48,"value":505},"Resolve each conflicted file intentionally",{"type":48,"value":334},{"type":43,"tag":316,"props":508,"children":509},{},[510],{"type":48,"value":511},"Inspect both sides of every conflict before editing and preserve the behavior that best matches the PR and base-branch intent.",{"type":48,"value":334},{"type":43,"tag":349,"props":514,"children":515},{},[516,517,527,528,533,534,539,540,545,546,551,552,557,558,563,564,569,570,581],{"type":48,"value":353},{"type":43,"tag":355,"props":518,"children":519},{},[520,522],{"type":48,"value":521},"For each conflicted file, inspect the markers, run `git blame`, inspect relevant commits with `git show`, and resolve by intent before staging the file; if the chosen resolution reintroduces a symbol, config, or section absent from `origin\u002F",{"type":43,"tag":442,"props":523,"children":524},{},[525],{"type":48,"value":526},"`, verify that resurrection is intentional with `git grep` and `git log -S` against the base branch first.",{"type":48,"value":353},{"type":43,"tag":355,"props":529,"children":530},{},[531],{"type":48,"value":532},"Inspect both sides of each conflict before editing anything.",{"type":48,"value":353},{"type":43,"tag":355,"props":535,"children":536},{},[537],{"type":48,"value":538},"Use `git blame` and commit messages to understand why each side changed, not just what changed.",{"type":48,"value":353},{"type":43,"tag":355,"props":541,"children":542},{},[543],{"type":48,"value":544},"Consider related test, documentation, and dependent code changes for additional intent context.",{"type":48,"value":353},{"type":43,"tag":355,"props":547,"children":548},{},[549],{"type":48,"value":550},"Prefer combining compatible changes from both sides when that preserves more correct behavior.",{"type":48,"value":353},{"type":43,"tag":355,"props":553,"children":554},{},[555],{"type":48,"value":556},"Resolve one conflict block at a time and re-read the file after each edit when the file contains multiple conflict regions.",{"type":48,"value":353},{"type":43,"tag":355,"props":559,"children":560},{},[561],{"type":48,"value":562},"Treat git conflict markers (`\u003C\u003C\u003C\u003C\u003C\u003C\u003C`, `=======`, `>>>>>>>`) as literal file content while editing. Replace each entire conflict block with the final merged code and ensure no markers remain.",{"type":48,"value":353},{"type":43,"tag":355,"props":565,"children":566},{},[567],{"type":48,"value":568},"Before staging a resolved file, capture the original conflict hunks, both sides of the conflict, and the chosen resolution rationale in working notes so the later review gate can inspect the original sides without depending on git stage-2 or stage-3 entries.",{"type":48,"value":353},{"type":43,"tag":355,"props":571,"children":572},{},[573,575],{"type":48,"value":574},"Stage each resolved file with `git add ",{"type":43,"tag":576,"props":577,"children":578},"file",{},[579],{"type":48,"value":580},"` only after that conflict context has been captured.",{"type":48,"value":334},{"type":48,"value":334},{"type":43,"tag":369,"props":584,"children":585},{},[586],{"type":48,"value":587},"Every conflicted file is resolved intentionally and staged without leftover conflict markers.",{"type":48,"value":327},{"type":48,"value":327},{"type":43,"tag":329,"props":591,"children":593},{"number":592},"4",[594,595,600,601,606,607,634,635,640],{"type":48,"value":334},{"type":43,"tag":336,"props":596,"children":597},{},[598],{"type":48,"value":599},"Run pre-continue validation",{"type":48,"value":334},{"type":43,"tag":316,"props":602,"children":603},{},[604],{"type":48,"value":605},"Run the checks that the integrated review gate depends on before finalizing the merge commit.",{"type":48,"value":334},{"type":43,"tag":349,"props":608,"children":609},{},[610,611,621,622,627,628,633],{"type":48,"value":353},{"type":43,"tag":355,"props":612,"children":613},{},[614,616],{"type":48,"value":615},"Run `git diff origin\u002F",{"type":43,"tag":442,"props":617,"children":618},{},[619],{"type":48,"value":620}," --check` before `git merge --continue` to verify that no conflict markers or malformed whitespace issues remain in the proposed resolution.",{"type":48,"value":353},{"type":43,"tag":355,"props":623,"children":624},{},[625],{"type":48,"value":626},"Run syntax, compilation, typecheck, lint, or targeted test commands where practical for the resolved surface before `git merge --continue`, and capture their outputs plus any required resurrection-proof checks for the review gate.",{"type":48,"value":353},{"type":43,"tag":355,"props":629,"children":630},{},[631],{"type":48,"value":632},"If any pre-continue validation command fails, treat that failure as candidate HIGH-severity review-gate input rather than finalizing the merge commit optimistically.",{"type":48,"value":334},{"type":48,"value":334},{"type":43,"tag":369,"props":636,"children":637},{},[638],{"type":48,"value":639},"The proposed resolution has concrete pre-continue validation outputs that the integrated review gate can inspect.",{"type":48,"value":327},{"type":48,"value":327},{"type":43,"tag":329,"props":643,"children":645},{"number":644},"5",[646,647,652,653,658,659,699,700,705],{"type":48,"value":334},{"type":43,"tag":336,"props":648,"children":649},{},[650],{"type":48,"value":651},"Run the integrated resolution review gate",{"type":48,"value":334},{"type":43,"tag":316,"props":654,"children":655},{},[656],{"type":48,"value":657},"Review the proposed conflict resolution before finalizing the merge commit.",{"type":48,"value":334},{"type":43,"tag":349,"props":660,"children":661},{},[662,663,668,669,674,675,680,681,686,687,692,693,698],{"type":48,"value":353},{"type":43,"tag":355,"props":664,"children":665},{},[666],{"type":48,"value":667},"Collect the list of resolved files, the captured original conflict hunks, the chosen resolutions, and the pre-continue validation command outputs.",{"type":48,"value":353},{"type":43,"tag":355,"props":670,"children":671},{},[672],{"type":48,"value":673},"Evaluate the proposed resolution for HIGH, MEDIUM, and LOW severity findings using the severity definitions in this skill.",{"type":48,"value":353},{"type":43,"tag":355,"props":676,"children":677},{},[678],{"type":48,"value":679},"If any HIGH severity finding exists, stop before `git merge --continue`, report the blocking findings, and revise the resolution instead of finalizing the merge commit.",{"type":48,"value":353},{"type":43,"tag":355,"props":682,"children":683},{},[684],{"type":48,"value":685},"If only MEDIUM and LOW findings exist, proceed only after recording the controversial decisions and warnings for the final summary.",{"type":48,"value":353},{"type":43,"tag":355,"props":688,"children":689},{},[690],{"type":48,"value":691},"If no findings exist, proceed with a PASS verdict.",{"type":48,"value":353},{"type":43,"tag":355,"props":694,"children":695},{},[696],{"type":48,"value":697},"Use this verdict format internally when reviewing the proposed resolution: `VERDICT: [BLOCK|PASS_WITH_WARNINGS|PASS]`, followed by `HIGH_SEVERITY_FINDINGS`, `CONTROVERSIAL_DECISIONS`, `WARNINGS`, and `RESOLVED_FILES`.",{"type":48,"value":334},{"type":48,"value":334},{"type":43,"tag":369,"props":701,"children":702},{},[703],{"type":48,"value":704},"The staged resolution has passed the integrated safety review or has been blocked before the merge commit is finalized.",{"type":48,"value":327},{"type":48,"value":327},{"type":43,"tag":329,"props":708,"children":710},{"number":709},"6",[711,712,717,718,723,724,734,735,740],{"type":48,"value":334},{"type":43,"tag":336,"props":713,"children":714},{},[715],{"type":48,"value":716},"Complete the merge commit",{"type":48,"value":334},{"type":43,"tag":316,"props":719,"children":720},{},[721],{"type":48,"value":722},"Finish the merge only after the integrated review gate allows it.",{"type":48,"value":334},{"type":43,"tag":349,"props":725,"children":726},{},[727,728,733],{"type":48,"value":353},{"type":43,"tag":355,"props":729,"children":730},{},[731],{"type":48,"value":732},"Run `GIT_EDITOR=true git merge --continue` once every conflicted file is resolved and staged and the integrated review gate verdict is not BLOCK.",{"type":48,"value":334},{"type":48,"value":334},{"type":43,"tag":369,"props":736,"children":737},{},[738],{"type":48,"value":739},"The repository has a completed merge commit or an explicitly reported blocker.",{"type":48,"value":327},{"type":48,"value":314},{"type":48,"value":176},{"type":48,"value":176},{"type":43,"tag":309,"props":745,"children":746},{"name":369},[747,748,753,754,884],{"type":48,"value":314},{"type":43,"tag":316,"props":749,"children":750},{},[751],{"type":48,"value":752},"Validate the merged result, push it, and report the resolution decisions clearly.",{"type":48,"value":314},{"type":43,"tag":323,"props":755,"children":756},{},[757,758,824,825,883],{"type":48,"value":327},{"type":43,"tag":329,"props":759,"children":761},{"number":760},"7",[762,763,768,769,774,775,817,818,823],{"type":48,"value":334},{"type":43,"tag":336,"props":764,"children":765},{},[766],{"type":48,"value":767},"Validate the merge result",{"type":48,"value":334},{"type":43,"tag":316,"props":770,"children":771},{},[772],{"type":48,"value":773},"Check the merged state before publishing it.",{"type":48,"value":334},{"type":43,"tag":349,"props":776,"children":777},{},[778,779,794,795,800,801,806,807,816],{"type":48,"value":353},{"type":43,"tag":355,"props":780,"children":781},{},[782,784],{"type":48,"value":783},"Run `git status`, `git diff origin\u002F",{"type":43,"tag":442,"props":785,"children":786},{},[787,789],{"type":48,"value":788}," --stat`, and `git diff origin\u002F",{"type":43,"tag":442,"props":790,"children":791},{},[792],{"type":48,"value":793}," --check`.",{"type":48,"value":353},{"type":43,"tag":355,"props":796,"children":797},{},[798],{"type":48,"value":799},"If validation fails after the merge commit already exists, reset to the pre-merge tip with `git reset --hard ORIG_HEAD` instead of using `git merge --abort`.",{"type":48,"value":353},{"type":43,"tag":355,"props":802,"children":803},{},[804],{"type":48,"value":805},"Check for syntax or compilation errors where practical.",{"type":48,"value":353},{"type":43,"tag":355,"props":808,"children":809},{},[810,812],{"type":48,"value":811},"Review the complete diff against `origin\u002F",{"type":43,"tag":442,"props":813,"children":814},{},[815],{"type":48,"value":451},{"type":48,"value":334},{"type":48,"value":334},{"type":43,"tag":369,"props":819,"children":820},{},[821],{"type":48,"value":822},"The merged result is either validated successfully or reset and reported honestly.",{"type":48,"value":327},{"type":48,"value":327},{"type":43,"tag":329,"props":826,"children":828},{"number":827},"8",[829,830,835,836,841,842,876,877,882],{"type":48,"value":334},{"type":43,"tag":336,"props":831,"children":832},{},[833],{"type":48,"value":834},"Push and explain the resolution",{"type":48,"value":334},{"type":43,"tag":316,"props":837,"children":838},{},[839],{"type":48,"value":840},"Publish the resolved branch and document how each conflict was handled.",{"type":48,"value":334},{"type":43,"tag":349,"props":843,"children":844},{},[845,846,851,852,857,858,863,864,869,870,875],{"type":48,"value":353},{"type":43,"tag":355,"props":847,"children":848},{},[849],{"type":48,"value":850},"Push the resolved branch with `git push`.",{"type":48,"value":353},{"type":43,"tag":355,"props":853,"children":854},{},[855],{"type":48,"value":856},"Explain the resolution strategy for each conflicted file, not just the final commands that ran.",{"type":48,"value":353},{"type":43,"tag":355,"props":859,"children":860},{},[861],{"type":48,"value":862},"Be explicit about whether the result combined both sides or favored one side for a specific reason.",{"type":48,"value":353},{"type":43,"tag":355,"props":865,"children":866},{},[867],{"type":48,"value":868},"Report validation gaps or remaining manual follow-up honestly when they materially affect the resolution outcome.",{"type":48,"value":353},{"type":43,"tag":355,"props":871,"children":872},{},[873],{"type":48,"value":874},"Include any PASS_WITH_WARNINGS controversial decisions and LOW-severity warnings in the completion summary instead of suppressing them.",{"type":48,"value":334},{"type":48,"value":334},{"type":43,"tag":369,"props":878,"children":879},{},[880],{"type":48,"value":881},"The branch is pushed or blocked honestly, and the resolution rationale is ready to report.",{"type":48,"value":327},{"type":48,"value":314},{"type":48,"value":176},{"type":43,"tag":51,"props":886,"children":887},{},[888,890,896,901,914,919,924],{"type":48,"value":889},"\u003Ccompletion_criteria>\n",{"type":43,"tag":891,"props":892,"children":893},"criterion",{},[894],{"type":48,"value":895},"PR context is fetched before resolution decisions are made.",{"type":43,"tag":891,"props":897,"children":898},{},[899],{"type":48,"value":900},"Conflict regions are analyzed with blame and commit history.",{"type":43,"tag":891,"props":902,"children":903},{},[904,906,912],{"type":48,"value":905},"The staged resolution captures the original conflict context before files are staged and passes pre-continue validation plus the integrated review gate before ",{"type":43,"tag":63,"props":907,"children":909},{"className":908},[],[910],{"type":48,"value":911},"git merge --continue",{"type":48,"value":913}," runs.",{"type":43,"tag":891,"props":915,"children":916},{},[917],{"type":48,"value":918},"The final diff contains no conflict markers.",{"type":43,"tag":891,"props":920,"children":921},{},[922],{"type":48,"value":923},"The completion summary explains the resolution strategy for each conflicted file and calls out any controversial decisions or warnings.",{"type":48,"value":925},"\n\u003C\u002Fcompletion_criteria>\n",{"type":43,"tag":51,"props":927,"children":928},{},[929,931,942,952,970,980,990,1000,1010,1020,1030,1040,1052,1062,1072,1082,1092,1101,1111],{"type":48,"value":930},"\u003Cgit_command_reference>\n",{"type":43,"tag":932,"props":933,"children":935},"command",{"purpose":934},"Get PR info (GitHub only)",[936],{"type":43,"tag":63,"props":937,"children":939},{"className":938},[],[940],{"type":48,"value":941},"gh pr view \u003CN> --json title,body,headRefName,baseRefName",{"type":43,"tag":932,"props":943,"children":945},{"purpose":944},"Checkout PR (GitHub only)",[946],{"type":43,"tag":63,"props":947,"children":949},{"className":948},[],[950],{"type":48,"value":951},"gh pr checkout \u003CN> --force",{"type":43,"tag":932,"props":953,"children":955},{"purpose":954},"Checkout PR (non-GitHub providers)",[956,962,964],{"type":43,"tag":63,"props":957,"children":959},{"className":958},[],[960],{"type":48,"value":961},"git fetch origin \u003CheadRefName>",{"type":48,"value":963}," then ",{"type":43,"tag":63,"props":965,"children":967},{"className":966},[],[968],{"type":48,"value":969},"git checkout -B \u003CheadRefName> origin\u002F\u003CheadRefName>",{"type":43,"tag":932,"props":971,"children":973},{"purpose":972},"Fetch base branch",[974],{"type":43,"tag":63,"props":975,"children":977},{"className":976},[],[978],{"type":48,"value":979},"git fetch origin \u003CbaseRefName>",{"type":43,"tag":932,"props":981,"children":983},{"purpose":982},"Merge base into PR branch",[984],{"type":43,"tag":63,"props":985,"children":987},{"className":986},[],[988],{"type":48,"value":989},"GIT_EDITOR=true git merge --no-ff --no-edit origin\u002F\u003CbaseRefName>",{"type":43,"tag":932,"props":991,"children":993},{"purpose":992},"List unmerged files",[994],{"type":43,"tag":63,"props":995,"children":997},{"className":996},[],[998],{"type":48,"value":999},"git diff --name-only --diff-filter=U",{"type":43,"tag":932,"props":1001,"children":1003},{"purpose":1002},"Blame specific lines",[1004],{"type":43,"tag":63,"props":1005,"children":1007},{"className":1006},[],[1008],{"type":48,"value":1009},"git blame -L \u003Cstart>,\u003Cend> HEAD -- \u003Cfile>",{"type":43,"tag":932,"props":1011,"children":1013},{"purpose":1012},"Inspect commit message",[1014],{"type":43,"tag":63,"props":1015,"children":1017},{"className":1016},[],[1018],{"type":48,"value":1019},"git show --format=\"%H%n%s%n%b\" --no-patch \u003Csha>",{"type":43,"tag":932,"props":1021,"children":1023},{"purpose":1022},"Inspect commit diff for file",[1024],{"type":43,"tag":63,"props":1025,"children":1027},{"className":1026},[],[1028],{"type":48,"value":1029},"git show \u003Csha> -- \u003Cfile>",{"type":43,"tag":932,"props":1031,"children":1033},{"purpose":1032},"Stage resolved file",[1034],{"type":43,"tag":63,"props":1035,"children":1037},{"className":1036},[],[1038],{"type":48,"value":1039},"git add \u003Cfile>",{"type":43,"tag":932,"props":1041,"children":1043},{"purpose":1042},"Pre-continue validation",[1044,1050],{"type":43,"tag":63,"props":1045,"children":1047},{"className":1046},[],[1048],{"type":48,"value":1049},"git diff origin\u002F\u003CbaseRefName> --check",{"type":48,"value":1051}," plus syntax, typecheck, lint, or targeted test commands where practical",{"type":43,"tag":932,"props":1053,"children":1055},{"purpose":1054},"Complete merge",[1056],{"type":43,"tag":63,"props":1057,"children":1059},{"className":1058},[],[1060],{"type":48,"value":1061},"GIT_EDITOR=true git merge --continue",{"type":43,"tag":932,"props":1063,"children":1065},{"purpose":1064},"Abort merge in progress",[1066],{"type":43,"tag":63,"props":1067,"children":1069},{"className":1068},[],[1070],{"type":48,"value":1071},"git merge --abort",{"type":43,"tag":932,"props":1073,"children":1075},{"purpose":1074},"Reset completed merge after failed validation",[1076],{"type":43,"tag":63,"props":1077,"children":1079},{"className":1078},[],[1080],{"type":48,"value":1081},"git reset --hard ORIG_HEAD",{"type":43,"tag":932,"props":1083,"children":1085},{"purpose":1084},"Abort stale rebase",[1086],{"type":43,"tag":63,"props":1087,"children":1089},{"className":1088},[],[1090],{"type":48,"value":1091},"git rebase --abort",{"type":43,"tag":932,"props":1093,"children":1095},{"purpose":1094},"Verify no conflict markers remain",[1096],{"type":43,"tag":63,"props":1097,"children":1099},{"className":1098},[],[1100],{"type":48,"value":1049},{"type":43,"tag":932,"props":1102,"children":1104},{"purpose":1103},"Push resolved branch",[1105],{"type":43,"tag":63,"props":1106,"children":1108},{"className":1107},[],[1109],{"type":48,"value":1110},"git push",{"type":48,"value":1112},"\n\u003C\u002Fgit_command_reference>",{"type":43,"tag":51,"props":1114,"children":1115},{},[1116,1118,1123,1128,1133,1145],{"type":48,"value":1117},"\u003Cediting_guidance>\n",{"type":43,"tag":57,"props":1119,"children":1120},{},[1121],{"type":48,"value":1122},"When editing files that contain conflict markers, ensure the editing approach treats the markers as literal file content that must be replaced rather than as tool syntax.",{"type":43,"tag":57,"props":1124,"children":1125},{},[1126],{"type":48,"value":1127},"Include enough unchanged surrounding context to make each conflict replacement unique and deterministic.",{"type":43,"tag":57,"props":1129,"children":1130},{},[1131],{"type":48,"value":1132},"If a file contains multiple conflict blocks, resolve them one at a time and re-read the file between edits when the line map has shifted.",{"type":43,"tag":57,"props":1134,"children":1135},{},[1136,1138,1143],{"type":48,"value":1137},"Distinguish real git conflict markers from pre-existing marker-like source text by validating with ",{"type":43,"tag":63,"props":1139,"children":1141},{"className":1140},[],[1142],{"type":48,"value":1049},{"type":48,"value":1144},".",{"type":48,"value":1146},"\n\u003C\u002Fediting_guidance>",{"type":43,"tag":51,"props":1148,"children":1149},{},[1150,1152,1159,1165,1186,1207,1227,1240,1262,1268,1281,1287,1293],{"type":48,"value":1151},"\u003Cerror_handling>\n",{"type":43,"tag":1153,"props":1154,"children":1156},"scenario",{"name":1155},"no_pr_number_provided",[1157],{"type":48,"value":1158},"Ask for the PR number explicitly before proceeding.",{"type":43,"tag":1153,"props":1160,"children":1162},{"name":1161},"pr_not_found",[1163],{"type":48,"value":1164},"Report the error and stop; do not guess at an alternate PR.",{"type":43,"tag":1153,"props":1166,"children":1168},{"name":1167},"no_conflicts_after_merge",[1169,1171,1176,1178,1184],{"type":48,"value":1170},"Inform the user and push the merged branch with ",{"type":43,"tag":63,"props":1172,"children":1174},{"className":1173},[],[1175],{"type":48,"value":1110},{"type":48,"value":1177}," when the merge created a commit, or report ",{"type":43,"tag":63,"props":1179,"children":1181},{"className":1180},[],[1182],{"type":48,"value":1183},"Already up to date",{"type":48,"value":1185}," when no push was needed.",{"type":43,"tag":1153,"props":1187,"children":1189},{"name":1188},"merge_already_in_progress",[1190,1192,1198,1200,1205],{"type":48,"value":1191},"Inspect ",{"type":43,"tag":63,"props":1193,"children":1195},{"className":1194},[],[1196],{"type":48,"value":1197},"git status",{"type":48,"value":1199}," and the current branch first. Continue the in-progress merge when it is already resolving the requested PR, or abort with ",{"type":43,"tag":63,"props":1201,"children":1203},{"className":1202},[],[1204],{"type":48,"value":1071},{"type":48,"value":1206}," only when the existing merge is stale or unrelated before starting a fresh resolution flow.",{"type":43,"tag":1153,"props":1208,"children":1210},{"name":1209},"validation_failure_after_merge_commit",[1211,1213,1218,1220,1225],{"type":48,"value":1212},"If validation fails after ",{"type":43,"tag":63,"props":1214,"children":1216},{"className":1215},[],[1217],{"type":48,"value":911},{"type":48,"value":1219}," already created the merge commit, reset the branch to the pre-merge tip with ",{"type":43,"tag":63,"props":1221,"children":1223},{"className":1222},[],[1224],{"type":48,"value":1081},{"type":48,"value":1226}," and report the failure honestly.",{"type":43,"tag":1153,"props":1228,"children":1230},{"name":1229},"stale_rebase_already_in_progress",[1231,1233,1238],{"type":48,"value":1232},"Abort the stale rebase with ",{"type":43,"tag":63,"props":1234,"children":1236},{"className":1235},[],[1237],{"type":48,"value":1091},{"type":48,"value":1239}," before starting the merge flow.",{"type":43,"tag":1153,"props":1241,"children":1243},{"name":1242},"binary_file_conflicts",[1244,1246,1252,1254,1260],{"type":48,"value":1245},"Use ",{"type":43,"tag":63,"props":1247,"children":1249},{"className":1248},[],[1250],{"type":48,"value":1251},"git checkout --theirs",{"type":48,"value":1253}," or ",{"type":43,"tag":63,"props":1255,"children":1257},{"className":1256},[],[1258],{"type":48,"value":1259},"git checkout --ours",{"type":48,"value":1261}," based on the actual PR intent, then stage the file.",{"type":43,"tag":1153,"props":1263,"children":1265},{"name":1264},"malformed_conflict_markers",[1266],{"type":48,"value":1267},"Inspect the raw diff carefully and reconstruct the intended merged result from history.",{"type":43,"tag":1153,"props":1269,"children":1271},{"name":1270},"escaped_marker_like_source_text",[1272,1273,1279],{"type":48,"value":1245},{"type":43,"tag":63,"props":1274,"children":1276},{"className":1275},[],[1277],{"type":48,"value":1278},"git diff --check",{"type":48,"value":1280}," to distinguish real conflict markers from legitimate source content.",{"type":43,"tag":1153,"props":1282,"children":1284},{"name":1283},"integrated_review_gate_blocked",[1285],{"type":48,"value":1286},"If the integrated review gate returns BLOCK, do not finalize the merge commit. Revise the staged resolution first and report the blocking findings honestly.",{"type":43,"tag":1153,"props":1288,"children":1290},{"name":1289},"pre_continue_validation_failed",[1291],{"type":48,"value":1292},"If pre-continue validation fails, do not treat the integrated review gate as PASS. Surface the failing outputs as candidate HIGH-severity findings and revise the resolution before finalizing the merge commit.",{"type":48,"value":1294},"\n\u003C\u002Ferror_handling>",{"type":43,"tag":51,"props":1296,"children":1297},{},[1298,1300,1318,1333,1348,1369,1391],{"type":48,"value":1299},"\u003Ccommon_pitfalls>\n",{"type":43,"tag":1301,"props":1302,"children":1303},"pitfall",{},[1304,1310,1316],{"type":43,"tag":1305,"props":1306,"children":1307},"name",{},[1308],{"type":48,"value":1309},"Blindly choosing one side",{"type":43,"tag":1311,"props":1312,"children":1313},"problem",{},[1314],{"type":48,"value":1315},"May lose important changes or introduce regressions.",{"type":48,"value":1317},"\n\u003Ccorrect_approach>Analyze both sides with blame and commit history first.\u003C\u002Fcorrect_approach>\n",{"type":43,"tag":1301,"props":1319,"children":1320},{},[1321,1326,1331],{"type":43,"tag":1305,"props":1322,"children":1323},{},[1324],{"type":48,"value":1325},"Ignoring PR description",{"type":43,"tag":1311,"props":1327,"children":1328},{},[1329],{"type":48,"value":1330},"Loses the rationale behind the change.",{"type":48,"value":1332},"\n\u003Ccorrect_approach>Fetch and read PR context before resolving.\u003C\u002Fcorrect_approach>\n",{"type":43,"tag":1301,"props":1334,"children":1335},{},[1336,1341,1346],{"type":43,"tag":1305,"props":1337,"children":1338},{},[1339],{"type":48,"value":1340},"Not validating resolved code",{"type":43,"tag":1311,"props":1342,"children":1343},{},[1344],{"type":48,"value":1345},"Merged code may still be syntactically or behaviorally broken.",{"type":48,"value":1347},"\n\u003Ccorrect_approach>Run the post-resolution checks and review the final diff.\u003C\u002Fcorrect_approach>\n",{"type":43,"tag":1301,"props":1349,"children":1350},{},[1351,1362,1367],{"type":43,"tag":1305,"props":1352,"children":1353},{},[1354,1356],{"type":48,"value":1355},"Skipping ",{"type":43,"tag":63,"props":1357,"children":1359},{"className":1358},[],[1360],{"type":48,"value":1361},"git blame",{"type":43,"tag":1311,"props":1363,"children":1364},{},[1365],{"type":48,"value":1366},"Resolution becomes guesswork.",{"type":48,"value":1368},"\n\u003Ccorrect_approach>Use blame on the conflict region to understand authorship and intent.\u003C\u002Fcorrect_approach>\n",{"type":43,"tag":1301,"props":1370,"children":1371},{},[1372,1377,1382,1384,1389],{"type":43,"tag":1305,"props":1373,"children":1374},{},[1375],{"type":48,"value":1376},"Treating the integrated review gate as optional",{"type":43,"tag":1311,"props":1378,"children":1379},{},[1380],{"type":48,"value":1381},"The merge commit may lock in an unsafe resolution before the controversial or blocking choices are surfaced.",{"type":48,"value":1383},"\n\u003Ccorrect_approach>Run the integrated review gate before ",{"type":43,"tag":63,"props":1385,"children":1387},{"className":1386},[],[1388],{"type":48,"value":911},{"type":48,"value":1390}," and block the merge commit on HIGH-severity findings.\u003C\u002Fcorrect_approach>\n",{"type":48,"value":1392},"\n\u003C\u002Fcommon_pitfalls>",{"type":43,"tag":51,"props":1394,"children":1395},{},[1396,1398,1403,1408,1413,1415,1427,1432,1437,1442,1444,1449,1454,1459,1464,1466,1477,1481,1493,1498],{"type":48,"value":1397},"\u003Cquality_checklist>\n\u003Cbefore_resolution>\n",{"type":43,"tag":290,"props":1399,"children":1400},{},[1401],{"type":48,"value":1402},"Fetch PR title and description for context.",{"type":43,"tag":290,"props":1404,"children":1405},{},[1406],{"type":48,"value":1407},"Identify all files with conflicts.",{"type":43,"tag":290,"props":1409,"children":1410},{},[1411],{"type":48,"value":1412},"Understand the overall change being merged.",{"type":48,"value":1414},"\n\u003C\u002Fbefore_resolution>\n\u003Cduring_resolution>\n",{"type":43,"tag":290,"props":1416,"children":1417},{},[1418,1420,1425],{"type":48,"value":1419},"Run ",{"type":43,"tag":63,"props":1421,"children":1423},{"className":1422},[],[1424],{"type":48,"value":1361},{"type":48,"value":1426}," on conflicting sections.",{"type":43,"tag":290,"props":1428,"children":1429},{},[1430],{"type":48,"value":1431},"Read commit messages for intent.",{"type":43,"tag":290,"props":1433,"children":1434},{},[1435],{"type":48,"value":1436},"Consider whether changes can be combined rather than picking one side.",{"type":43,"tag":290,"props":1438,"children":1439},{},[1440],{"type":48,"value":1441},"Verify conflict markers are handled as literal file content during editing.",{"type":48,"value":1443},"\n\u003C\u002Fduring_resolution>\n\u003Cbefore_merge_commit>\n",{"type":43,"tag":290,"props":1445,"children":1446},{},[1447],{"type":48,"value":1448},"Capture the original conflict context before staging removes access to git's conflict entries for that file.",{"type":43,"tag":290,"props":1450,"children":1451},{},[1452],{"type":48,"value":1453},"Run pre-continue validation and carry the outputs into the integrated review gate.",{"type":43,"tag":290,"props":1455,"children":1456},{},[1457],{"type":48,"value":1458},"Run the integrated review gate and ensure the verdict is not BLOCK.",{"type":43,"tag":290,"props":1460,"children":1461},{},[1462],{"type":48,"value":1463},"Document controversial decisions that will need to appear in the final summary.",{"type":48,"value":1465},"\n\u003C\u002Fbefore_merge_commit>\n\u003Cafter_resolution>\n",{"type":43,"tag":290,"props":1467,"children":1468},{},[1469,1471,1476],{"type":48,"value":1470},"Verify no conflict markers remain with ",{"type":43,"tag":63,"props":1472,"children":1474},{"className":1473},[],[1475],{"type":48,"value":1049},{"type":48,"value":1144},{"type":43,"tag":290,"props":1478,"children":1479},{},[1480],{"type":48,"value":805},{"type":43,"tag":290,"props":1482,"children":1483},{},[1484,1486,1492],{"type":48,"value":1485},"Review the complete diff against ",{"type":43,"tag":63,"props":1487,"children":1489},{"className":1488},[],[1490],{"type":48,"value":1491},"origin\u002F\u003CbaseRefName>",{"type":48,"value":1144},{"type":43,"tag":290,"props":1494,"children":1495},{},[1496],{"type":48,"value":1497},"Document the reasoning behind each resolution in the completion summary.",{"type":48,"value":1499},"\n\u003C\u002Fafter_resolution>\n\u003C\u002Fquality_checklist>",{"type":43,"tag":51,"props":1501,"children":1502},{},[1503,1505,1510,1570,1575],{"type":48,"value":1504},"\u003Cfinal_response_format>\n",{"type":43,"tag":57,"props":1506,"children":1507},{},[1508],{"type":48,"value":1509},"When the run succeeds, the final response must stay machine-parseable for the conflict-resolution callback and PR success comment flow.",{"type":43,"tag":57,"props":1511,"children":1512},{},[1513,1515,1521,1523,1529,1531,1537,1539,1545,1547,1553,1555,1561,1563,1568],{"type":48,"value":1514},"Start the response with ",{"type":43,"tag":63,"props":1516,"children":1518},{"className":1517},[],[1519],{"type":48,"value":1520},"Resolved merge conflicts in:",{"type":48,"value":1522}," followed by one ",{"type":43,"tag":63,"props":1524,"children":1526},{"className":1525},[],[1527],{"type":48,"value":1528},"- \\",{"type":48,"value":1530},"path\u002Fto\u002Ffile`",{"type":43,"tag":63,"props":1532,"children":1534},{"className":1533},[],[1535],{"type":48,"value":1536},"item per resolved file. If no files required manual resolution, start with",{"type":48,"value":1538},"Resolved merge conflicts.",{"type":43,"tag":63,"props":1540,"children":1542},{"className":1541},[],[1543],{"type":48,"value":1544},"instead.\u003C\u002Frule> \u003Crule>If there are controversial decisions, include a",{"type":48,"value":1546},"Decisions I'm not 100% sure:",{"type":43,"tag":63,"props":1548,"children":1550},{"className":1549},[],[1551],{"type":48,"value":1552},"section with one",{"type":48,"value":1554},"- ",{"type":43,"tag":63,"props":1556,"children":1558},{"className":1557},[],[1559],{"type":48,"value":1560},"bullet per decision.\u003C\u002Frule> \u003Crule>If there are warnings, include a",{"type":48,"value":1562},"Warnings:",{"type":43,"tag":63,"props":1564,"children":1566},{"className":1565},[],[1567],{"type":48,"value":1552},{"type":48,"value":1569},"- ` bullet per warning.",{"type":43,"tag":57,"props":1571,"children":1572},{},[1573],{"type":48,"value":1574},"Keep the response concise and do not add extra prose before or after these sections.",{"type":48,"value":1576},"\n\u003C\u002Ffinal_response_format>",{"items":1578,"total":1678},[1579,1589,1605,1619,1635,1649,1668],{"slug":1580,"name":1580,"fn":1581,"description":1582,"org":1583,"tags":1584,"stars":26,"repoUrl":27,"updatedAt":1588},"address-pr-feedback","address unresolved GitHub PR feedback","Focused GitHub PR-feedback workflow for addressing unresolved review threads on the current pull request.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1585,1586,1587],{"name":18,"slug":19,"type":16},{"name":14,"slug":15,"type":16},{"name":24,"slug":25,"type":16},"2026-07-19T05:38:26.334008",{"slug":1590,"name":1590,"fn":1591,"description":1592,"org":1593,"tags":1594,"stars":26,"repoUrl":27,"updatedAt":1604},"agent-browser","automate browser interactions for agents","Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to \"open a website\", \"fill out a form\", \"click a button\", \"take a screenshot\", \"scrape data from a page\", \"test this web app\", \"login to a site\", \"automate browser actions\", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1595,1598,1601],{"name":1596,"slug":1597,"type":16},"Browser Automation","browser-automation",{"name":1599,"slug":1600,"type":16},"CLI","cli",{"name":1602,"slug":1603,"type":16},"Testing","testing","2026-07-16T06:02:26.045337",{"slug":1606,"name":1606,"fn":1607,"description":1608,"org":1609,"tags":1610,"stars":26,"repoUrl":27,"updatedAt":1618},"capture-visual-proof","capture visual proof of browser tasks","Visual-proof orchestrator that decides whether browser proof applies, classifies the proof package, and delegates capture to the hidden proof-runner subagent.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1611,1614,1615],{"name":1612,"slug":1613,"type":16},"Automation","automation",{"name":1596,"slug":1597,"type":16},{"name":1616,"slug":1617,"type":16},"Screenshots","screenshots","2026-08-01T05:44:47.369293",{"slug":1620,"name":1620,"fn":1621,"description":1622,"org":1623,"tags":1624,"stars":26,"repoUrl":27,"updatedAt":1634},"ci-failure-triage","triage failed CI workflows","Investigate the latest default-branch CI failure in an environment-backed workspace and, when it is real and fixable, fix and open a PR in the same task.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1625,1628,1631],{"name":1626,"slug":1627,"type":16},"CI\u002FCD","ci-cd",{"name":1629,"slug":1630,"type":16},"Debugging","debugging",{"name":1632,"slug":1633,"type":16},"GitHub Actions","github-actions","2026-07-23T05:40:41.726992",{"slug":1636,"name":1636,"fn":1637,"description":1638,"org":1639,"tags":1640,"stars":26,"repoUrl":27,"updatedAt":1648},"code-quality-auditor","audit code quality in merged pull requests","Automation skill: review recently merged pull requests for high-confidence code quality issues and submit `act` work items that auto-start follow-up execution tasks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1641,1644,1645],{"name":1642,"slug":1643,"type":16},"Code Analysis","code-analysis",{"name":18,"slug":19,"type":16},{"name":1646,"slug":1647,"type":16},"QA","qa","2026-07-26T05:47:47.339721",{"slug":1650,"name":1650,"fn":1651,"description":1652,"org":1653,"tags":1654,"stars":26,"repoUrl":27,"updatedAt":1667},"codeql-triage","triage and remediate CodeQL security alerts","Review current open CodeQL \u002F GitHub code-scanning alerts with GitHub data, keep scheduled runs read-only, and submit a small set of environment-backed `act` work items that auto-start remediation execution tasks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1655,1656,1659,1660,1661,1664],{"name":1642,"slug":1643,"type":16},{"name":1657,"slug":1658,"type":16},"CodeQL","codeql",{"name":1629,"slug":1630,"type":16},{"name":14,"slug":15,"type":16},{"name":1662,"slug":1663,"type":16},"Security","security",{"name":1665,"slug":1666,"type":16},"Triage","triage","2026-07-29T05:39:37.784486",{"slug":1669,"name":1669,"fn":1670,"description":1671,"org":1672,"tags":1673,"stars":26,"repoUrl":27,"updatedAt":1677},"create-draft-pr","create draft pull requests","Draft pull-request creation workflow. Use when repositories have pending changes or unpushed commits and you want draft PRs created.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1674,1675,1676],{"name":1612,"slug":1613,"type":16},{"name":14,"slug":15,"type":16},{"name":24,"slug":25,"type":16},"2026-07-16T06:00:31.733527",33,{"items":1680,"total":1678},[1681,1687,1693,1699,1705,1711,1720,1726,1735,1745,1756,1769],{"slug":1580,"name":1580,"fn":1581,"description":1582,"org":1682,"tags":1683,"stars":26,"repoUrl":27,"updatedAt":1588},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1684,1685,1686],{"name":18,"slug":19,"type":16},{"name":14,"slug":15,"type":16},{"name":24,"slug":25,"type":16},{"slug":1590,"name":1590,"fn":1591,"description":1592,"org":1688,"tags":1689,"stars":26,"repoUrl":27,"updatedAt":1604},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1690,1691,1692],{"name":1596,"slug":1597,"type":16},{"name":1599,"slug":1600,"type":16},{"name":1602,"slug":1603,"type":16},{"slug":1606,"name":1606,"fn":1607,"description":1608,"org":1694,"tags":1695,"stars":26,"repoUrl":27,"updatedAt":1618},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1696,1697,1698],{"name":1612,"slug":1613,"type":16},{"name":1596,"slug":1597,"type":16},{"name":1616,"slug":1617,"type":16},{"slug":1620,"name":1620,"fn":1621,"description":1622,"org":1700,"tags":1701,"stars":26,"repoUrl":27,"updatedAt":1634},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1702,1703,1704],{"name":1626,"slug":1627,"type":16},{"name":1629,"slug":1630,"type":16},{"name":1632,"slug":1633,"type":16},{"slug":1636,"name":1636,"fn":1637,"description":1638,"org":1706,"tags":1707,"stars":26,"repoUrl":27,"updatedAt":1648},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1708,1709,1710],{"name":1642,"slug":1643,"type":16},{"name":18,"slug":19,"type":16},{"name":1646,"slug":1647,"type":16},{"slug":1650,"name":1650,"fn":1651,"description":1652,"org":1712,"tags":1713,"stars":26,"repoUrl":27,"updatedAt":1667},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1714,1715,1716,1717,1718,1719],{"name":1642,"slug":1643,"type":16},{"name":1657,"slug":1658,"type":16},{"name":1629,"slug":1630,"type":16},{"name":14,"slug":15,"type":16},{"name":1662,"slug":1663,"type":16},{"name":1665,"slug":1666,"type":16},{"slug":1669,"name":1669,"fn":1670,"description":1671,"org":1721,"tags":1722,"stars":26,"repoUrl":27,"updatedAt":1677},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1723,1724,1725],{"name":1612,"slug":1613,"type":16},{"name":14,"slug":15,"type":16},{"name":24,"slug":25,"type":16},{"slug":1727,"name":1727,"fn":1728,"description":1729,"org":1730,"tags":1731,"stars":26,"repoUrl":27,"updatedAt":1734},"create-pr","create pull requests for pending changes","Pull-request creation workflow. Use when repositories have pending changes or unpushed commits and you want ready-for-review PRs created.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1732,1733],{"name":14,"slug":15,"type":16},{"name":24,"slug":25,"type":16},"2026-07-16T06:03:03.397562",{"slug":1736,"name":1736,"fn":1737,"description":1738,"org":1739,"tags":1740,"stars":26,"repoUrl":27,"updatedAt":1744},"debug-reported-bug","reproduce and debug reported bugs","Reproduce-first bug diagnosis workflow. Use when a reported bug needs to be reproduced, reduced to a deterministic failing check, and traced through git history or `git bisect` so the exact cause is understood before any fix is attempted.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1741,1742,1743],{"name":1629,"slug":1630,"type":16},{"name":21,"slug":22,"type":16},{"name":1602,"slug":1603,"type":16},"2026-07-16T06:03:07.255013",{"slug":1746,"name":1746,"fn":1747,"description":1748,"org":1749,"tags":1750,"stars":26,"repoUrl":27,"updatedAt":1755},"dependabot-triage","triage GitHub Dependabot alerts","Review current open Dependabot alerts with GitHub data, keep scheduled runs read-only, and submit a small set of environment-backed `act` work items that auto-start dependency-update execution tasks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1751,1752,1753,1754],{"name":1612,"slug":1613,"type":16},{"name":14,"slug":15,"type":16},{"name":1662,"slug":1663,"type":16},{"name":1665,"slug":1666,"type":16},"2026-07-29T05:39:38.757423",{"slug":1757,"name":1757,"fn":1758,"description":1759,"org":1760,"tags":1761,"stars":26,"repoUrl":27,"updatedAt":1768},"environment-setup","configure local development environments","Internal skill to configure environments. Never use unless the user explicitly initiates the skill. Focus on localhost-ready setup and validation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1762,1765],{"name":1763,"slug":1764,"type":16},"Configuration","configuration",{"name":1766,"slug":1767,"type":16},"Local Development","local-development","2026-08-01T05:44:46.333988",{"slug":1770,"name":1770,"fn":1771,"description":1772,"org":1773,"tags":1774,"stars":26,"repoUrl":27,"updatedAt":1779},"explain-repo-code","explain repository code and architecture","Explanation-only repository workflow. Use when the user asks to understand behavior, architecture, or rationale from source context without modifying files.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1775,1776],{"name":1642,"slug":1643,"type":16},{"name":1777,"slug":1778,"type":16},"Documentation","documentation","2026-07-16T06:00:34.090082"]