rse/ase/ase-repo-resolve
Claude Code and agent skill by rse/ase
- community
Checking that the SKILL.md file is still in the repository.
Resolve the Git merge conflicts of a working directory -- of an in-progress merge, rebase, cherry-pick, revert, stash apply, or of conflict markers left by patch -- carefully and semantically, never losing any change, escalate unresolvable hunks as-is, continue the in-progress operation, and emit a RESOLVED, PARTIAL, NONE, or FAILED verdict. Use when the user calls to "resolve" or "fix" merge conflicts.
Install
npx vskill@latest install rse/ase/ase-repo-resolveSKILL.md
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md @${CLAUDE_SKILL_DIR}/../../meta/ase-dialog.md @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
<purpose name="ase-repo-resolve"> Resolve Merge Conflicts </purpose>
<expand name="getopt" arg1="ase-repo-resolve" arg2="--dir|-d=. --safe|-s --interactive|-i"> $ARGUMENTS </expand>
<objective> Resolve the merge conflicts of the working directory semantically, never losing any change, escalate the unresolvable hunks as-is, continue the in-progress operation, and report the resolve verdict. </objective>
@${CLAUDE_SKILL_DIR}/../../meta/ase-common-resolve.md
Procedure
<flow>
- <step id="STEP 1: Resolve Conflicts">
- Set <paths/> to <getopt-arguments/> with any leading and
trailing whitespace stripped. Do not output anything.
- Resolve the conflicts by expanding the following:
<expand name="resolve-conflicts" arg1="ase-repo-resolve" arg2="<getopt-option-dir/>" arg3="<getopt-option-interactive/>" arg4="<getopt-option-safe/>" arg5="<paths/>"></expand>
- <if condition="<resolve-verdict/> is
FAILED">
Only output the following <template/> and then immediately STOP processing the entire current skill:
<template> ⧉ ASE: ✪ skill: ase-repo-resolve, ▶ ERROR: <getopt-option-dir/> is no Git working directory, ▶ RESOLVE VERDICT: FAILED </template> </if> <elseif condition="<resolve-verdict/> is NONE"> Only output the following <template/> and then immediately STOP processing the entire current skill:
<template> ⧉ ASE: ✪ skill: ase-repo-resolve, ⎇ operation: <resolve-operation/>, ▶ RESOLVE VERDICT: NONE </template> </elseif>
</step>
- <step id="STEP 2: Continue Operation">
- If <resolve-verdict/> is not
RESOLVEDor <resolve-operation/>
is none, skip this entire STEP 2, as either conflicts remain or there is no operation to continue (e.g., after git stash apply or patch --merge).
- Run the command
git -C "<repo-root/>" diff --name-only --diff-filter=U. If its output is not empty (unmerged files outside of <paths/> remain), only output the following <template/> and skip the remaining items of this STEP 2:
<template> ⧉ ASE: ✪ skill: ase-repo-resolve, ⎇ operation: <resolve-operation/>, ▶ status: not continued -- further conflicted files remain </template>
- Continue the operation by running the command
git -C "<repo-root/>" -c core.editor=true <resolve-operation/> --continue, which keeps the prepared commit message without opening an editor.
<if condition="the command stopped again with new conflicts (only possible for a rebase, cherry-pick, or revert of multiple commits)"> Only output the following <template/> and then START OVER at STEP 1, item 2, to resolve the conflicts of the next commit:
<template> ⧉ ASE: ✪ skill: ase-repo-resolve, ⎇ operation: <resolve-operation/>, ▶ status: continued -- next conflicts </template> </if> <elseif condition="the command failed for another reason"> Only output the following <template/>, as the resolution itself is complete and staged:
<template> ⧉ ASE: ✪ skill: ase-repo-resolve, ⎇ operation: <resolve-operation/>, ▶ WARNING: operation failed to continue </template> </elseif> <else> Only output the following <template/>:
<template> ⧉ ASE: ✪ skill: ase-repo-resolve, ⎇ operation: <resolve-operation/>, ▶ status: operation continued </template> </else>
</step>
- <step id="STEP 3: Report Verdict">
- Report the escalations by expanding the following:
<expand name="resolve-report" arg1="ase-repo-resolve"></expand>
- Only output the following <template/>:
<template> ⧉ ASE: ✪ skill: ase-repo-resolve, ⎇ operation: <resolve-operation/>, ▶ RESOLVE VERDICT: <resolve-verdict/> </template>
- <if condition="<resolve-verdict/> is
PARTIAL">
Give the closing hint by expanding the following (which, depending on the configured <ase-guidance-level/>, may expand into nothing and hence emit no output at all):
<ase-tpl-hint level="minimal"> Resolve the escalated hunks manually (or re-run with --interactive), stage the files via git add, and continue the operation. </ase-tpl-hint> </if>
</step>
</flow>
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugin/skills/ase-repo-resolve/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/rse/ase/ase-repo-resolve)