Our review
Commits, rebases, and merges a feature branch into its configured base branch while preventing merges into main or master.
Strengths
- Prevents accidental merges into main/master
- Uses conventional commits with co-author
- Handles conflict resolution by preserving both branches' changes
- Configurable base branch per feature branch
Limitations
- Only works with a configured base branch via git config
- Does not fetch from remote before rebase
- If conflict resolution is too complex, asks for guidance
Use when you want to integrate a feature branch into its base branch with a clean history and without risking main.
Do not use if you need to merge into main/master or if the base branch requires remote updates before rebase.
Security analysis
SafeOnly uses git operations within the current repository, with explicit safeguards against merging into main/master and force pushing. No dangerous commands or data exfiltration.
No concerns found
Examples
Merge my current branch into its configured base branch.Commit staged changes and merge this feature branch into its base.Please run the merge skill to integrate the current branch into its base, resolving any conflicts.name: merge description: Commit, rebase, and merge the current branch into its base branch (never main). disable-model-invocation: true allowed-tools: Read, Bash, Glob, Grep
Safety Rules
CRITICAL — these rules must NEVER be violated:
- NEVER merge into
mainormaster. If the resolved base branch ismainormaster, stop immediately and inform the user. - NEVER force push. Do not use
--force,--force-with-lease, or-fwithgit 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
git log --format="%s" -n 20to detect the repo's commit convention and match it. - 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 main or master, STOP and tell the user: "Refusing to merge into main/master. Set a different base branch or use /pr instead."
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
git log -p -n 3 <base-branch> -- <file>to see recent changes - 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
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.