К основному содержанию
скилл CX Codex

melt — скилл для Claude Code: разрешает конфликты Git

Скилл для разрешения конфликтов при merge, rebase, cherry-pick и pull. Ведёт по шагам и не трогает опубликованные ветки.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add paulnsorensen/easy-cheese --skill melt -a claude-code
Открыть на GitHub

Что делает melt

Melt запускается, когда Git оставил после себя CONFLICT, unmerged paths или диагностику «needs merge». Дальше он идёт по безопасной лестнице: починка squash-остатков, сводка конфликтов, mergiraf, rerere, ручное разрешение, продолжение операции. Ветка-источник остаётся на месте для отката.

Первый шаг — команда python3 skills/melt/scripts/melt.pyz detect-squash-residue --apply, она чинит следы squash до разбора файлов. Без --apply команда только показывает, что собирается сделать. Если состояние confirmation-required, скилл один раз спросит, сбрасывать ли уже подготовленное разрешение, и без явного подтверждения продолжит текущую операцию.

Дальше conflict-summary и operation дают список неслитых путей и файлов с маркерами. Структурные конфликты сначала прогоняются через batch-resolve в режиме предпросмотра, и только после проверки результата применяются. Бинарники текстовые инструменты не берут: для обычного бинарного файла выбирается одна сторона, а сгенерированный архив собирается заново из исходников. Melt не коммитит и не пушит — публикация остаётся за /plate.

Какие задачи решает

  • разобрать конфликт после rebase, не потеряв чужие правки
  • починить остатки squash-мержа до ручного разбора файлов
  • понять, какие пути остались неслитыми после прерванной операции
  • разрешить конфликт в lockfile через пересборку из манифеста
  • продолжить merge или cherry-pick без интерактивного редактора

Примеры запросов агенту

  • разреши конфликт после rebase в текущей ветке
  • у меня CONFLICT при cherry-pick, разберись по шагам
  • проверь, что осталось неслитым, и продолжи операцию

Как установить melt

1Через Skills CLI (Vercel)

npx skills add paulnsorensen/easy-cheese --skill melt -a claude-code

2Вручную: положить файлы

~/.claude/skills/melt/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/melt/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о melt

Как установить melt в Claude?

Выполните npx skills add paulnsorensen/easy-cheese --skill melt -a claude-code. Скилл встанет в ~/.claude/skills/melt/SKILL.md.

Что делает melt?

Разрешает конфликты содержимого при merge, rebase, cherry-pick, pull и слиянии веток. Идёт по каскаду от починки squash-остатков до ручного разрешения и продолжения операции.

Melt коммитит или пушит изменения?

Нет. Скилл не коммитит и не пушит, а ветку-источник оставляет для отката. Публикацию выполняет /plate.

Исходный текст

SKILL.md · MIT
---
name: melt
description: >-
  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.
license: MIT
---

# /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](../cheese/references/code-intelligence-routing.md): search, fresh read, stale-safe write.

## 1. Repair squash residue

Run this before resolving file conflicts:

```bash
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

```bash
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:

```bash
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:

```bash
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](references/cascade-stages.md) 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

```bash
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](../cheese/references/handoff-gate.md).
Fill the placeholders from the upstream invocation and propagated flags.

```yaml
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](references/commands.md) for all Melt commands.

© paulnsorensen · MIT · paulnsorensen/easy-cheese

Похожие скиллы

Все скиллы по теме «Git и GitHub» →
resolve-conflicts tailcallhq Разбирает Git-конфликты по плану: оценивает файлы, пересобирает lock-файлы, спасает правки из удалённых файлов и спрашивает вас о спорных местах. CX Codex +1 683установок git-master JosiahSiegel Скилл по Git для ИИ-агентов: подсказывает команды, страхует опасные операции и разбирает конфликты. Пригодится, когда агент лезет в историю репозитория. CX Codex +1 787установок git-integrate LegendApp Ведёт rebase, merge, cherry-pick или revert до конца и не трогает постороннюю работу. Пригодится, когда операция встала на конфликте. CX Codex +1 389установок git-advanced-workflows Seth Hobson Скилл помогает править историю Git, переносить коммиты, искать источник бага и восстанавливать потерянные ветки. Подойдёт для сложных ветвлений и подготовки PR. CX Codex 19 356установок fix-merge-conflicts cursor Разрешает конфликты слияния в ветке, проверяет сборку и тесты перед завершением работы. Нужен, когда конфликтов несколько и их надо разобрать без рефакторинга. CX Codex +1 2 700установок

Из того же набора10

cure Берёт выбранные замечания из отчёта /age, списка находок или падения CI, вносит правки и прогоняет проверки проекта. CX Codex +1 642установок ultracook Скилл выведен из обращения: вызов /ultracook перенаправляется на /cook, который теперь ведёт весь путь реализации. Ставить стоит только ради совместимости. CX Codex +1 640установок cheese Скилл-роутер принимает идею, путь, PR, баг или вопрос и сам решает, какой рабочий скилл запустить. Полезен, когда не хочется помнить имена команд. CX Codex +1 645установок briesearch Собирает доказательства из документации, веба, репозиториев и локального кода, а затем отдаёт отчёт со ссылками на источники. Пригодится перед выбором библиотеки или проверкой фактов. CX Codex +1 643установок hard-cheese Скилл проверяет, может ли автор объяснить своё изменение до ревью. Пригодится перед пул-реквестом, когда код проходит проверки, а объяснить его не получается. CX Codex +1 642установок press Прогоняет тесты, которые пытаются сломать только что изменённое поведение. Нужен, когда тесты зелёные, а исходная жалоба всё ещё воспроизводится. CX Codex +1 636установок pasteurize Скилл ведёт агента по шагам: собрать воспроизведение, назвать причину, добавить регрессионный тест, внести минимальную правку. CX Codex +1 632установок wheypoint Записывает состояние работы в durable-чекпоинт, чтобы другая сессия агента могла продолжить с того же места. CX Codex +1 618установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой