From delivery-plugin
現在の作業ブランチへ既定でmainを取り込み、必要ならコンフリクト解消まで進める。mainの取り込み、最新mainの反映、merge main、コンフリクト解消、resolve merge conflicts を依頼された時に使用する。
npx claudepluginhub caphtech/claude-marketplace --plugin delivery-pluginThis skill is limited to using the following tools:
現在の作業ブランチに既定で `main` を取り込み、必要なら安全にコンフリクトを解消する。
Automates git rebase on main/master: fetches updates, rebases current branch, intelligently resolves conflicts, and force-pushes with lease. Use before PRs or merges.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
現在の作業ブランチに既定で main を取り込み、必要なら安全にコンフリクトを解消する。
1. Preconditions
2. Resolve Merge Source
3. Merge
4. Resolve Conflicts or Escalate
5. Complete Merge
6. Validate & Report
7. Ask Before Push
最初に以下を確認する。
maingit rev-parse --is-inside-work-tree
git branch --show-current
git status --porcelain
git status --porcelain が空でない場合は、マージを実行せずに止まる。
ユーザーに以下を簡潔に伝えて確認する:
既定の取り込み元は main。引数があればそのブランチを使う。
origin remote があり、git fetch origin <base> が成功したら origin/<base> を使うorigin remote が無く、ローカル <base> があるならそれを使うorigin remote はあるが fetch 失敗時は自動で続行せず、ユーザーに確認するgit remote get-url origin
git fetch origin "<base>"
git show-ref --verify --quiet "refs/remotes/origin/<base>"
git show-ref --verify --quiet "refs/heads/<base>"
origin remote がある場合は、git fetch origin <base> の成功を確認してから origin/<base> をマージ対象にするorigin remote があるのに fetch が失敗した場合は、古い origin/<base> をそのまま使わない<base> を使うかをユーザーに確認するorigin remote が無い場合に限り、ローカル <base> があればそれを使うマージ対象が決まったら通常の merge を実行する。
git merge --no-ff "<merge_source>"
競合発生後は以下を収集する。
git status --short
git diff --name-only --diff-filter=U
git diff --ours -- <file>
git diff --theirs -- <file>
意図が明白な機械的統合のみ自動で進める。
次に該当したら、自動解消せず質問する。
以下を短くまとめて質問する。
例:
config/app.yml で設定値の競合があります。
- ours: feature 用の timeout=10
- theirs: main 側の timeout=30 と retry 設定追加
推奨: main 側の retry を残しつつ timeout の採用方針を確認
どちらを基準に解消しますか?
競合解消後は、解消したファイルだけを stage してマージを完了する。
git add <resolved-file-1> <resolved-file-2>
git commit --no-edit
git add -A を使わないgit add . を使わないgit commit 単独実行を避けるプロジェクト内から明確な検証コマンドがすぐ分かる場合だけ、軽量チェックを実行する。
例:
明確なコマンドが即座に判別できない場合は、無理に推測実行しない。
最後に以下を簡潔にまとめる。
このスキルは git push を自動では実行しない。
push が必要な場合は、マージ完了後に必ずユーザーへ確認する。
例:
ローカルでマージは完了しています。必要ならこの後 push できます。push しますか?
git reset --hardgit checkout -- .git checkout -- <file> を安易な競合解消に使うUser: main をマージして
Claude:
1. 現在ブランチと working tree を確認
2. `origin/main` を fetch して merge source に採用
3. `git merge --no-ff origin/main` を実行
4. 競合なしなら結果を要約
5. push 前で停止し、必要なら確認する
User: latest main を反映して、競合も見て
Claude:
1. `main` を既定ベースとして解決
2. 競合発生時はファイルごとの差分を確認
3. import の単純併合は自動解消
4. 仕様判断が必要な競合はユーザーへ質問
5. ローカルマージ完了後、push は確認待ちで止める