MCPInstall

melt

Resolve content conflicts during Git merge, rebase, cherry-pick, pull, or branch integration. Use for CONFLICT, unmerged paths, or Git's "needs merge" diagnostic for an unmerged path. Trigger on fix merge conflicts, resolve rebase conflicts, cherry-pick conflict, and similar requests. Do not use for clean Git operations or review-only questions.

Installs
641
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/paulnsorensen/easy-cheese --skill melt
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads melt automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

/melt

Resolve the current conflict without rewriting a published branch. Use the safe cascade: squash repair → summary → mergiraf → rerere → manual resolution → continuation. Keep the original branch for recovery. Never push, reset, or force-push here.

Use the selected source-code backend for searches, bounded reads, and manual edits. Follow code-intelligence routing: search, fresh read, stale-safe write.

1. Repair squash residue

Run this before resolving file conflicts:

python3 skills/melt/scripts/melt.pyz detect-squash-residue --apply

Use --base <ref> when the base is not origin/main. Use --branch <name> when Git cannot identify the original branch. The command previews by default without --apply. It creates <original-branch>-clean and replays verified commits in order when safe. Otherwise it merges the base into the original branch. It preflights branch collisions before aborting an interrupted operation. It never pushes or rewrites either branch.

If application.state is confirmation-required, keep the active operation intact. Ask once whether to discard its staged resolution and abort it. After explicit confirmation, rerun with --apply --abort-operation. If confirmation is refused, continue the existing operation instead. If application.state is failed, report failed_step, error, and recovery_branch; stop. If it is needs-resolution, continue the cascade. If it is applied without conflicts, check the operation state and proceed to handoff. If it is not-applied, continue the existing conflict.

2. Diagnose and inspect

python3 skills/melt/scripts/melt.pyz conflict-summary
python3 skills/melt/scripts/melt.pyz operation

Read each summary hunk and the operation's unmerged_paths and conflict_marker_files. Use git log --merge --oneline only when commit intent is unclear. Do not accept a structural merge only because it has no markers.

3. Resolve structures

Preview mergiraf, then inspect its semantic result before applying it:

python3 skills/melt/scripts/melt.pyz batch-resolve
python3 skills/melt/scripts/melt.pyz batch-resolve --debug <path>

The debug command gives the merged output path, log path, and marker count. Read that output with the selected backend. Confirm that both sides' intended edits remain. Then apply clean resolutions and stage them:

python3 skills/melt/scripts/melt.pyz batch-resolve --apply

Melt text tools refuse binary files. Select a side for ordinary binaries and stage it. For generated archives, resolve source files and rebuild the archive instead.

4. Resolve what remains

Run operation again. Its rerere_enabled, configured_merge_tool, and selected_manual_tool fields define the available fallback. When rerere is enabled, inspect git rerere status and git rerere diff. If it is disabled, report the setting and skip that stage. Do not change global Git configuration during this invocation.

For unresolved text, use the selected manual tool or edit after semantic inspection. Prefer git mergetool --tool=kdiff3 <path> when selected_manual_tool is kdiff3. Otherwise use the configured tool and report the substitution. Stage each resolved path. Resolve lockfiles from their manifests, not their conflict text.

Read conditional cascade stages only when selecting sides, regenerating lockfiles, debugging mergiraf, or maintaining rerere data. Its side-selection and lockfile commands require a judgment about intended content.

5. Continue once

python3 skills/melt/scripts/melt.pyz operation
python3 skills/melt/scripts/melt.pyz operation --continue

Run --continue only when status is ready. It refuses unmerged paths and conflict markers, then continues without an interactive editor. If it returns blocked, resolve the next conflict and repeat steps 2–5. If it returns failure, report failed_step and stop. Handoff only when status is complete. Do not run a separate raw Git continuation command.

Handoff

After completion, use the shared handoff gate. Fill the placeholders from the upstream invocation and propagated flags.

handoff_gate:
  source_skill: /melt
  id: post-melt-next-step
  prompt: The Git operation is complete. What should happen next?
  recommended: rerun-upstream
  multi: false
  options:
    - id: rerun-upstream
      label: Re-run the upstream gate
      description: Run the invocation that found the conflict.
      dispatch: <upstream_invocation>
      context:
        upstream_invocation: <command>
        flags: [<propagated flags>]
    - id: plate-it
      label: Plate it
      description: Publish completed work through /plate.
      dispatch: /plate
      context:
        flags: [<propagated --hard, --open-pr>]
    - id: checkpoint-and-stop
      label: Checkpoint & stop
      description: Write a durable checkpoint, then pause the pipeline.
      dispatch: /wheypoint
    - id: stop
      label: Stop
      description: Leave the completed operation for inspection.
      dispatch: none

Omit rerun-upstream and recommend stop when its invocation is unknown. Wait for the user's selection. Run a selected non-stop action immediately. Melt never commits or pushes. /plate owns publication.

See the generated command inventory for all Melt commands.

FAQ

What does the melt skill do?

Resolve content conflicts during Git merge, rebase, cherry-pick, pull, or branch integration. Use for CONFLICT, unmerged paths, or Git's "needs merge" diagnostic for an unmerged path. Trigger on fix merge conflicts, resolve rebase conflicts, cherry-pick conflict, and similar requests. Do not use for clean Git operations or review-only questions.

How do I install melt?

Run npx skills add https://github.com/paulnsorensen/easy-cheese --skill melt in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/melt/ (personal) or .claude/skills/melt/ (project).

Which AI agents can use melt?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is melt safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains melt?

It is published by paulnsorensen in paulnsorensen/easy-cheese. It has 641 recorded installs.

More from paulnsorensen/easy-cheese

View all →

cook

paulnsorensen/easy-cheese

Implement an approved spec or focused task through stale-safe source edits. Use this skill when the user says "implement this", "cook this spec", or "fix this bug". Use it for /cook .cheese/specs/ .md. Also use it when the user says "go" with clear acceptance criteria. Run it alone for an unambiguous task. Use --prototype when the user says "prototype this", "go prototype it", or "spike this out" and wants to refine the result round by round. A spec helps but is not required. Do not use it for fuzzy planning (/mold). Do not use it for no-write discussion (/culture) or review-only work (/age).

mold

paulnsorensen/easy-cheese

Turn a high-leverage design decision into a validated spec through grounded dialogue. Use it when a leverage trigger fires (auth, irreversible effects, concurrency, contracts, destructive ops, a new slice, a cross-slice dependency, an invariant gap) or when the user asks for a spec or design. Typical phrases include "let's design X", "shape this into a spec", "what should the API for Z look like", and "/mold". A feature ask with zero fired triggers is a /cook mini-spec, not a mold; route it through /cheese. Do NOT use it for free-form discussion without artifact intent (/culture), direct implementation (/cook), or research-only questions (/briesearch). Ceremony scales to the ask through references/tiers.md, so a small clear change gets a validated mini-spec without a write-approval turn.

cure

paulnsorensen/easy-cheese

Apply selected fixes from an /age report, findings list, or CI failure. Run the project gates and hand a clean result to /plate. Use when the user wants selected findings resolved. Do not use for review, test authoring, or direct publication.

DevOps & Cloud649 installs

age

paulnsorensen/easy-cheese

Review a diff, PR, branch, or path across thirteen dimensions. Emit a severity-grouped findings report. Use when the user wants a code review. Trigger on "review this", "/age", "is this safe to merge", or "find bugs". Also trigger on "spot security issues", "check for slop", "review my PR", or "what's wrong with this code". Review every requested dimension. Review all thirteen dimensions by default. Do not apply fixes. Route them to /cure. Do not harden tests; route that work to /press.

cheese

paulnsorensen/easy-cheese

Route an idea, path, pull request, issue, failure, question, or bare /cheese to the correct workflow skill. Use this skill for /cheese, routing requests, help requests, or opening messages without a named workflow skill.

culture

paulnsorensen/easy-cheese

Models problems and trade-offs without writing code or specifications. Use when a workflow needs silent reasoning, or the user asks for "/culture", "no writes", "rubber-duck this", or "these bugs feel connected". Not for specs (/mold), code (/cook), or bug diagnosis and fixes (/pasteurize).

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.