Agent skill

Resolving Rebase Conflicts

by buildonspark in buildonspark/spark

Resolve rebase conflicts in Ent generated code and Atlas migrations using repository scripts.

Apache-2.0Auto-check passedDevelopment

Install Resolving Rebase Conflicts

skills CLI
$ npx skills add buildonspark/spark --skill resolving-rebase-conflicts -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install buildonspark/spark resolving-rebase-conflicts --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/buildonspark/spark.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/resolving-rebase-conflicts .claude/skills/resolving-rebase-conflicts && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
resolving-rebase-conflicts
GitHub stars
113
Token cost
~1.5k tokens
SKILL.md length
713 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
Apache-2.0

At a glance

Resolve rebase conflicts in Ent generated code and Atlas migrations using repository scripts.

  • Works in 5 steps: Finds migration .sql files added by the… → Determines the highest timestamp among… → Renames our files to timestamps after… → …
  • Tasks that involve Git workflow
  • SKILL.md covers Triggers, Two Conflict Scenarios, Scenario A: Atlas-Only Fix and Scenario B: Ent + Atlas Fix, plus 1 more section
  • Calls mise, git and go

What it does

Resolving Rebase Conflicts is an agent skill from buildonspark/spark. Resolve rebase conflicts in Ent generated code and Atlas migrations using repository scripts.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Git workflow. It works with Git. The repository describes itself as: The Spark Bitcoin layer 2 protocol. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Git workflow

Example prompts

  • “/resolving-rebase-conflicts”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Finds migration .sql files added by the rebasing commit (via REBASE_HEAD)
  2. Determines the highest timestamp among all other (upstream) migrations
  3. Renames our files to timestamps after the upstream max (offset +1000, increment by 1)
  4. Regenerates atlas.sum from scratch using atlas migrate hash
  5. Stages all changes

What it can do on your machine

Read from SKILL.md and the folder at commit 0b3a32a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • mise
    • git
    • go

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Resolving Rebase Conflicts loads about 1.5k tokens when it runs. Until then it costs about 30 tokens; SKILL.md has 713 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~30
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from buildonspark/spark at commit 0b3a32a, republished under its Apache-2.0 licence (© buildonspark). 713 words, ~1,468 tokens.

Download SKILL.mdSave it as .claude/skills/resolving-rebase-conflicts/SKILL.md (or your agent's skills folder).
name
resolving-rebase-conflicts
description
Resolve rebase conflicts in Ent generated code and Atlas migrations using repository scripts.

Resolving Rebase Conflicts in Ent and Atlas Migrations

Triggers

Activate this skill when any of these conditions are detected:

  • User is in a git rebase or gt restack and atlas.sum has conflict markers
  • User mentions atlas migration conflicts, migration ordering issues, or atlas.sum conflicts
  • git status shows atlas.sum as "both modified" or migration .sql files with conflicts
  • User asks about resolving migration timestamp collisions after rebase
  • Generated ent files in spark/so/ent/ have conflict markers after rebase
  • go build or go generate fails due to conflict markers in ent-generated code
  • User mentions ent conflicts, generated code conflicts, or ent regeneration during rebase

Two Conflict Scenarios

Scenario A: Atlas-only conflicts (unrelated schema changes)

Symptom: atlas.sum has conflict markers, but ent-generated .go files are fine. The base branch added migrations for schemas unrelated to yours - only ordering conflicts.

Fix: mise fix-atlas-conflicts

Scenario B: Ent schema conflicts (base changed schemas you also changed)

Symptom: Generated ent .go files in spark/so/ent/ have conflict markers (<<<<<<</>>>>>>>). Go compilation fails, so go generate can't run. If this commit also added atlas migrations, those migrations are invalid (generated against pre-rebase schema state).

Fix: mise fix-ent-conflicts

Scenario A: Atlas-Only Fix

The repository includes scripts/fix-atlas-conflicts.sh (also available as mise fix-atlas-conflicts) which automates the fix:

  1. Finds migration .sql files added by the rebasing commit (via REBASE_HEAD)
  2. Determines the highest timestamp among all other (upstream) migrations
  3. Renames our files to timestamps after the upstream max (offset +1000, increment by 1)
  4. Regenerates atlas.sum from scratch using atlas migrate hash
  5. Stages all changes
Steps
  1. Preview the fix (always do this first):

    bash
    mise fix-atlas-conflicts -- --dry-run

    This shows which files will be renamed and to what timestamps, without making changes.

  2. Apply the fix:

    bash
    mise fix-atlas-conflicts
  3. Continue the rebase. The script will suggest the correct command:

    • If using Graphite (gt on PATH and .graphite/ exists): gt continue
    • Otherwise: git rebase --continue
Edge Cases
  • No migrations in commit: Script exits cleanly with "Nothing to do"
  • Outside of rebase: Use mise fix-atlas-conflicts -- --commit <SHA> to specify the commit manually
  • Multiple migrations in one commit: All are renamed with sequential timestamps, preserving relative order
  • Collision detection: Script checks that renamed files don't collide with existing files before proceeding

Scenario B: Ent + Atlas Fix

The repository includes scripts/fix-ent-conflicts.sh (also available as mise fix-ent-conflicts) which automates the fix:

  1. Checks all .go files for conflict markers in hand-written files (any file without the Code generated by ent header)
  2. Identifies generated .go files by scanning for the // Code generated by ent, DO NOT EDIT. header
  3. Resets generated files to their upstream (--ours) version via git checkout --ours. This removes conflict markers while keeping valid, type-checkable Go - necessary because ent's codegen parses schemas that import from generated packages
  4. Runs go generate ./so/ent/... to regenerate from the merged schemas
  5. If the current rebase commit added migration .sql files, deletes them (they're stale) and rehashes atlas.sum
  6. Stages all changes
Show full SKILL.md (243 more words)Show less
Steps
  1. Resolve conflicts in hand-written files first. The script will abort if it finds conflict markers in any .go file that lacks the Code generated by ent header (schemas, extensions, tests, config files, etc.).

  2. Preview the fix:

    bash
    mise fix-ent-conflicts -- --dry-run
  3. Apply the fix:

    bash
    mise fix-ent-conflicts
  4. If the script deleted stale migrations, regenerate them:

    bash
    ./scripts/gen-migration.sh <migration-name>
  5. Continue the rebase. The script will suggest the correct command.

Flags
  • --dry-run - Preview which files would be reset, without making changes
  • --force - Skip generated-file conflict-marker check (useful outside a rebase, e.g. after manual schema merge)
  • -h/--help - Usage information
Hand-Written Files (Preserved)

The script detects generated files by their // Code generated by ent, DO NOT EDIT. header. Any .go file without this header is treated as hand-written and left untouched. Examples:

FileWhy
ent/schema/**Schema definitions, mixins, schematype/
ent/*_extension.goHand-written extension files
ent/*_ext.goHand-written predicate extensions
ent/*_test.goTest files
ent/entc.goCodegen driver config
ent/generate.go//go:generate directive
ent/interceptor.goCustom OpenTelemetry interceptors
ent/telemetry.goCustom tracer init
ent/migrate/dump_schema.goHand-written schema dump utility
ent/migrate/migrations/**Migration SQL files + atlas.sum

What NOT to Do

  • Do not manually edit atlas.sum conflict markers - the hash file is regenerated from scratch
  • Do not manually rename migration files without regenerating atlas.sum
  • Do not use git checkout --theirs atlas.sum - this loses the entry for our migration files
  • Do not run fix-ent-conflicts for atlas-only conflicts - use fix-atlas-conflicts instead
  • Do not try to manually fix conflict markers in generated ent files - delete and regenerate

© buildonspark, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/resolving-rebase-conflicts of buildonspark/spark.

Open the folder on GitHubat commit 0b3a32a

Compare with similar skills

Resolving Rebase Conflicts next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Resolving Rebase Conflicts compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Resolving Rebase Conflicts this skillbuildonspark/spark113—~1.5kAutomated safety check: PassApache-2.0
Finishing a Development Branchobra/superpowers297k5 repos~1.9kAutomated safety check: PassMIT
Code Design Rationale Investigatorcursor/plugins10k9 repos~2.6kAutomated safety check: PassNone
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT
Migrate Internal Package into GhostTryGhost/Ghost56k—~3.8kAutomated safety check: PassMIT
Create Pull Requestcline/cline70k1 repos~1.6kAutomated safety check: PassApache-2.0

Similar skills

  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    297k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Official

    Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.

    10k GitHub starsUsed in 9 repos~2.6k tokens
    DevelopmentAuto-check passed
  • Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.

    16k GitHub starsUsed in 1 repo~847 tokens
    DevelopmentAuto-check passed
  • Moves a package from another TryGhost repository into Ghost as an internal workspace package while keeping its Git history, with checkpoints for the steps that need an administrator.

    56k GitHub stars~3.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Opens a GitHub pull request from your current branch with the gh CLI, after reviewing the commits and diff and gathering the details the PR needs.

    70k GitHub starsUsed in 1 repo~1.6k tokens
    DevelopmentAuto-check passed
  • Git Merge Conflict Resolver

    tailcallhq/forgecode

    Resolves Git merge conflicts with a plan-first workflow that keeps both sides' intent, regenerates lock files and backs up deleted-but-modified files.

    7.6k GitHub starsUsed in 1 repo~4.5k tokens
    DevelopmentAuto-check passed

More from buildonspark/spark

  • Proto Regenerate

    buildonspark/spark

    Regenerate proto bindings for both SO (Go) and SDK (TypeScript) after proto file changes

    113 GitHub stars~308 tokensUpdated 1 mo ago
    Auto-check: warnings

Works with

Categories

Questions about Resolving Rebase Conflicts

What does Resolving Rebase Conflicts do?

Resolve rebase conflicts in Ent generated code and Atlas migrations using repository scripts. Resolving Rebase Conflicts is an agent skill from buildonspark/spark. Resolve rebase conflicts in Ent generated code and Atlas migrations using repository scripts.

When should I use Resolving Rebase Conflicts?

Resolving Rebase Conflicts fits situations like: tasks that involve Git workflow.

How do I install Resolving Rebase Conflicts in Claude Code?

Run `npx skills add buildonspark/spark --skill resolving-rebase-conflicts -a claude-code`. Or copy the skill folder (.claude/skills/resolving-rebase-conflicts in buildonspark/spark) into .claude/skills/resolving-rebase-conflicts in your project. Claude Code loads it when a task matches its description.

How do I install Resolving Rebase Conflicts in Codex?

Run `npx skills add buildonspark/spark --skill resolving-rebase-conflicts -a codex`. Or copy the skill folder (.claude/skills/resolving-rebase-conflicts in buildonspark/spark) into .agents/skills/resolving-rebase-conflicts in your project. Codex loads it when a task matches its description.

Can I use Resolving Rebase Conflicts in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add buildonspark/spark --skill resolving-rebase-conflicts -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/resolving-rebase-conflicts, .gemini/skills/resolving-rebase-conflicts, .github/skills/resolving-rebase-conflicts and .opencode/skills/resolving-rebase-conflicts in your project.

What does Resolving Rebase Conflicts need to run?

Going by SKILL.md and its folder, Resolving Rebase Conflicts needs the command-line tools its instructions call (mise, git and go).

Does Resolving Rebase Conflicts access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Resolving Rebase Conflicts safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Resolving Rebase Conflicts use?

Resolving Rebase Conflicts is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Resolving Rebase Conflicts use?

About 1.5k tokens (SKILL.md is roughly 5.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Resolving Rebase Conflicts?

Skills that share tags, products or a category with Resolving Rebase Conflicts: Finishing a Development Branch (obra/superpowers, 297k stars), Code Design Rationale Investigator (cursor/plugins, 10k stars), Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars) and Migrate Internal Package into Ghost (TryGhost/Ghost, 56k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Resolving Rebase Conflicts?

buildonspark (a GitHub organization) maintains it in buildonspark/spark, which has 113 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on September 1, 2026.

Source: buildonspark/spark on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.