Awesome-omni-skill merge
Commit, rebase, and merge the current branch into its base branch (never main).
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data-ai/merge" ~/.claude/skills/diegosouzapw-awesome-omni-skill-merge && rm -rf "$T"
manifest:
skills/data-ai/merge/SKILL.mdsource content
Safety Rules
CRITICAL — these rules must NEVER be violated:
- NEVER merge into
ormain
. If the resolved base branch ismaster
ormain
, stop immediately and inform the user.master - NEVER force push. Do not use
,--force
, or--force-with-lease
with-f
.git push
Step 1: Verify Branch
git branch --show-current
If the current branch is
main or master, STOP and tell the user they must be on a feature branch.
Step 2: Commit
If there are staged changes, commit them.
- Run
to detect the repo's commit convention and match it.git log --format="%s" -n 20 - If no clear convention exists, default to conventional commits with a scope, e.g.
.feat(auth): add login endpoint - Always include a co-author trailer:
Co-Authored-By: Claude <noreply@anthropic.com> - Skip if nothing is staged.
Step 3: Determine Base Branch
git config --local --get "branch.$(git branch --show-current).workmux-base" 2>/dev/null
If no base branch is configured, STOP and tell the user no base branch is set. Do NOT default to main.
If the base branch is
or main
, STOP and tell the user: "Refusing to merge into main/master. Set a different base branch or use /pr instead."master
Step 4: Rebase
Rebase onto the local base branch (do NOT fetch from origin first):
git rebase <base-branch>
IMPORTANT: Do NOT run
git fetch. Do NOT rebase onto origin/<branch>. Only rebase onto the local branch name.
If conflicts occur:
- BEFORE resolving any conflict, understand what changes were made to each conflicting file in the base branch
- For each conflicting file, run
to see recent changesgit log -p -n 3 <base-branch> -- <file> - Preserve BOTH the base branch changes AND our branch's changes
- After resolving each conflict, stage the file and continue with
git rebase --continue - If a conflict is too complex or unclear, ask for guidance
Step 5: Merge
Run:
workmux merge --rebase --notification