manual-merge

Squash-merge a feature branch into main using the PR title and body.

Updated Oct 28, 2025
One-click install
npx skills add https://github.com/SnowboardTechie/dotfiles --skill manual-merge
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: manual-merge
Source: https://github.com/SnowboardTechie/dotfiles/tree/main/dot-config/opencode/skills/manual-merge
Command: npx skills add https://github.com/SnowboardTechie/dotfiles --skill manual-merge

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Manual squash-merging a branch into main locally can be error-prone and create inconsistent history. This skill automates the workflow by using the PR title and description as the commit message, ensuring a clear, linear main branch.

Core Features & Use Cases

  • Detects the current or provided feature branch, validates it is not main, and locates the corresponding PR from the remote (GitHub or Forgejo-compatible).
  • Performs a squash-merge into main with the PR title and body as the commit message, preserving context.
  • Supports workflows on multiple remotes and handles pre-flight checks (dirty worktrees, up-to-date main) with guardrails.

Quick Start

Run the manual-merge workflow on your feature branch to squash-merge into main using the PR description as the commit message.

Frequently Asked Questions about manual-merge

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I perform a local squash-merge using a pull request title and body as the commit message?

To perform a local squash-merge, the skill automates applying a feature branch to main by fetching the pull request title and body from the remote forge and using them directly as the squash commit message.

Does the local squash-merge skill work with both GitHub and Forgejo remotes?

Yes, the local squash-merge skill works with both GitHub and Forgejo-compatible remotes by automatically detecting the configured remote forge and locating the corresponding pull request for the branch.

What safety checks are enforced before running a local squash-merge into main?

Before running a local squash-merge, the skill enforces safety checks by aborting if the current branch is main, verifying the worktree is clean, and preventing the merge if any conflicts are detected.

Can I squash-merge a feature branch locally if my git worktree is dirty?

No, you cannot squash-merge a feature branch locally if the git worktree is dirty, as the skill enforces pre-flight guardrails requiring a clean worktree and an up-to-date main branch to prevent errors.

Why use a local squash-merge instead of merging directly through the GitHub interface?

Using a local squash-merge instead of merging directly through the GitHub interface ensures a clear, linear main branch history by programmatically applying the PR description as the commit message while maintaining local validation guardrails.