git-dev-merge

Merge feature branches back to their base branches across the main repo and submodules. Use when user says "merge feature", "finish feature", "merge back", or invokes /git-dev-merge.

5 stars

Best use case

git-dev-merge is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Merge feature branches back to their base branches across the main repo and submodules. Use when user says "merge feature", "finish feature", "merge back", or invokes /git-dev-merge.

Teams using git-dev-merge should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/git-dev-merge/SKILL.md --create-dirs "https://raw.githubusercontent.com/bluredengine/blured/main/.claude/skills/git-dev-merge/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/git-dev-merge/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How git-dev-merge Compares

Feature / Agentgit-dev-mergeStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Merge feature branches back to their base branches across the main repo and submodules. Use when user says "merge feature", "finish feature", "merge back", or invokes /git-dev-merge.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Git Dev Merge

Merge feature branches back to their base branches across the main repo and submodules.

## Repository Layout

- **Main repo**: `origin` → `github.com:bluredengine/blured.git`, base branch `main`
- **godot/** submodule: `origin` → `github.com:bluredengine/godot.git`, base branch `main`
- **opencode/** submodule: `origin` → `github.com:bluredengine/opencode.git`, base branch `main`

The script auto-detects the workspace root from its own location.

## Workflow

**ALWAYS use the script (from any workspace):**

```bash
bash "<workspace>/.claude/skills/git-dev-merge/scripts/merge.sh" "<feature-branch>" "<issue-number>"
```

Both arguments are optional:
- If `<feature-branch>` is omitted, auto-detects from the current branch in the main repo
- If `<issue-number>` is omitted, no issue is closed

### Examples

```bash
# Auto-detect branch, no issue
bash "<workspace>/.claude/skills/git-dev-merge/scripts/merge.sh"

# Explicit branch and issue
bash "<workspace>/.claude/skills/git-dev-merge/scripts/merge.sh" "feature/7-ai-mesh-generation" "7"
```

## What the Script Does

1. **Pushes pending changes first** — use `/git-pushing` before running this if there are uncommitted changes
2. **Merges godot/** submodule: `feature/<branch>` → `main`, deletes feature branch
3. **Merges opencode/** submodule: `feature/<branch>` → `main`, deletes feature branch
4. **Updates submodule refs** in the main repo
5. **Merges main repo**: `feature/<branch>` → `main`, deletes feature branch
6. **Closes the GitHub issue** (if issue number provided)
7. **Shows merge summary**

## Post-Merge Cleanup

After running the script, also:
1. Remove the "Current Work Session" section from `CLAUDE.local.md` if it exists
2. Report the merge summary to the user

## Handling Conflicts

- If a merge conflict occurs in any repo, the script **stops and reports the error**
- Do NOT force merge or discard changes
- Let the user resolve manually, then re-run

## Important Rules

1. Always merge submodules BEFORE the main repo
2. Use `--no-ff` to preserve merge history
3. Use `--no-verify` when pushing submodules (upstream hooks may fail on forks)
4. Delete feature branches from both local and remote after merge
5. If a submodule feature branch has no changes, just delete it (no merge needed)
6. Push any uncommitted work before starting the merge process

Related Skills

worldbuilding

5
from bluredengine/blured

Build the game world's foundation before generating concept art. Use when starting a new game project, when user says "build world", "worldbuilding", "world design", or before art direction. Guides the user through 3 questions to establish the world's unique identity.

ui-production

5
from bluredengine/blured

Create polished player-facing UI from whitebox to final assets. 5-step workflow from UI mockup to deployed game UI. Do NOT use for whitebox/prototype UI.

ui-layout-replicate

5
from bluredengine/blured

Replicate a UI layout from a cornerstone reference image into a pixel-perfect .tscn scene. Use when user says "replicate UI layout", "build layout from reference", "1:1 UI copy", or has a cornerstone UI image to turn into a scene.

polish

5
from bluredengine/blured

Systematic polish pass — add juice, screen effects, audio, transitions, UI animations, and game feel improvements. Use when user says "polish", "add juice", "make it feel better", "add effects", or similar.

analyze-screenshot

5
from bluredengine/blured

Analyze game screenshots for visual design issues, UI problems, and art consistency. Automatically triggers when a screenshot is attached.

add-level

5
from bluredengine/blured

Guided level design — create a new level with purpose, environment, layout, enemies, and auto-generated assets. Use when user says "add a level", "new level", "create a stage", or similar.

tech-debt

5
from bluredengine/blured

Clean up tech debt - remove obsolete files, temporary files, unused code, dead imports, and other cruft. Use when user wants to clean up the codebase, remove unused code, or reduce tech debt.

start-blured

5
from bluredengine/blured

Start the Blured Engine (OpenCode AI server + Godot editor)

package-blured

5
from bluredengine/blured

Package the Blured Engine into a distributable directory

git-pushing

5
from bluredengine/blured

Stage, commit, and push git changes with conventional commit messages. Use when user wants to commit and push changes, mentions pushing to remote, or asks to save and push their work. Also activates when user says "push changes", "commit and push", "push this", "push to github", or similar git workflow requests.

git-dev-feature

5
from bluredengine/blured

Start a new feature development workflow by creating an issue and feature branches across the main repo and submodules.

build-blured

5
from bluredengine/blured

Build the Blured Engine (OpenCode + Godot)