بنقرة واحدة
resolve-conflict
Gitのマージコンフリクトを検出・分析し、安全に解決する。ユーザーが「コンフリクト解決」「マージ競合」と言ったとき、または /resolve-conflict を実行したときに使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Gitのマージコンフリクトを検出・分析し、安全に解決する。ユーザーが「コンフリクト解決」「マージ競合」と言ったとき、または /resolve-conflict を実行したときに使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
dev系パイプライン(dev-pr-review / dev-pr-review-resolve / dev-issue-implement / dev-issue-review)を人間の確認なしで自律的に1タスク回すオーケストレーター。main を最新化した後、レビュー系を優先する固定順で対象を探し、最初に見つかった1件を対応するスキルで処理する。途中で解決済みIssueを見つけたら理由を書いてcloseする。needs-info によるユーザー確認待ちは禁止で、必ず自律判断する。ユーザーが「devパイプライン回して」「自律で開発回して」と言ったとき、または /dev-hotl を実行したときに使用。
reviewed ラベルがついたIssueを見つけて実装する。対象Issueに WIP ラベルをつけ、git worktree で main を汚さずに開発し、テストがPASSすることを確認した上でIssueに紐づくPR(Closes
現在のリポジトリの開発Issueが妥当かどうかをレビューする。リポジトリの目的に沿っているか、調査内容・設計に問題がないかをチェックし、WebSearch や Parallel Search MCP で裏取りして本文を追記・修正する。レビュー着手時に in-review ラベルで排他し、問題なければ reviewed ラベルをつけ、あまりに見当違いな場合は理由を記述してcloseする。Issue番号・URLを引数に取るか、未レビューのIssueを自動で探す。ユーザーが「Issueレビュー」「Issueの妥当性チェック」と言ったとき、または /dev-issue-review を実行したときに使用。
reviewed ラベルがついたPRを見つけて、レビュー指摘事項を検討・修正する。着手時に in-review ラベルで排他する。妥当な指摘は worktree 上で修正し、反論がある場合は根拠をコメントに記述して、各レビュースレッドをresolveしていく。すべてのレビューをresolveしたら必ずmergeする。PR番号・URLを引数に取るか、対応待ちのPRを自動で探す。ユーザーが「レビュー指摘を解消して」「reviewedのPRを片付けて」と言ったとき、または /dev-pr-review-resolve を実行したときに使用。
in-review ラベルがついていないオープンPRを見つけてレビューする。git worktree でPRのコードをローカルに取得し、変更箇所以外との整合性・紐づくIssue通りの実装かを確認する。問題なければmerge、軽微な指摘なら修正してmerge、問題が多い場合はレビューを記述して reviewed ラベルをつけ、見当違い・修正済みのPRは理由を記述してcloseする。PR番号・URLを引数に取るか、レビュー待ちのPRを自動で探す。ユーザーが「PRレビューして回して」「レビュー待ちPRを処理して」と言ったとき、または /dev-pr-review を実行したときに使用。
ローカルにインストール済みの Codex CLI (OpenAI) を使って、別 LLM からのコードレビュー・セカンドオピニオン・意見交換を取得する。Claude が書いたコードに対して「別モデルの目」を入れたいとき、設計判断で複数モデルの見解を突き合わせたいとき、`codex` / `/codex` と言われたときに使用。
| name | resolve-conflict |
| description | Gitのマージコンフリクトを検出・分析し、安全に解決する。ユーザーが「コンフリクト解決」「マージ競合」と言ったとき、または /resolve-conflict を実行したときに使用。 |
Detect, analyze, and safely resolve git merge conflicts.
Run these commands to identify the current conflict state:
# Check if we're in a merge/rebase/cherry-pick state
git status
# List all conflicted files
git diff --name-only --diff-filter=U
If there are no conflicts, inform the user and stop.
For each conflicted file:
<<<<<<<, =======, >>>>>>>)Use these commands for additional context:
# Show what each side changed
git log --oneline --merge -- <file>
# Show the common ancestor version
git show :1:<file>
# Show our version
git show :2:<file>
# Show their version
git show :3:<file>
For each conflict, present the user with a clear summary:
File: <path>
Conflict #N:
OURS (current branch): <description of our change>
THEIRS (incoming branch): <description of their change>
Recommendation: <keep ours / keep theirs / merge both / manual review needed>
Reason: <why this resolution is recommended>
Wait for user confirmation before applying any resolution.
Apply the approved resolution using the Edit tool:
<<<<<<<, =======, >>>>>>>)After editing each file, verify it is valid:
# Check no conflict markers remain
grep -rn '<<<<<<<\|=======\|>>>>>>>' <file> || echo "No conflict markers remaining"
Run validation checks on all resolved files:
# Confirm no conflict markers remain in any file
git diff --check
# Show the resolved changes for review
git diff --staged
git diff
If the project has a build or type-check command, suggest running it to verify correctness.
Stage the resolved files individually:
git add <resolved-file-1> <resolved-file-2> ...
Do NOT use git add -A or git add ..
Depending on the operation in progress:
git status to confirm all conflicts are resolved, then inform the user they can commitgit rebase --continuegit cherry-pick --continueDo NOT automatically commit or continue without user confirmation.
git checkout --ours or git checkout --theirs on entire files without confirmationgit merge --abort or git rebase --abort unless the user explicitly requests itpackage-lock.json, yarn.lock) - recommend regenerating instead of manual merge<<<<<<< HEAD
import { UserService } from './user.service'
=======
import { AuthService } from './auth.service'
>>>>>>> feature/auth
Resolution: Keep both imports.
import { UserService } from './user.service'
import { AuthService } from './auth.service'
<<<<<<< HEAD
function getUser(id: string): User {
return cache.get(id) ?? db.findUser(id)
}
=======
function getUser(id: string): Promise<User> {
const user = await db.findUser(id)
if (!user) throw new NotFoundError('User not found')
return user
}
>>>>>>> feature/error-handling
Resolution: Merge both changes (caching + error handling). Requires careful analysis.
async function getUser(id: string): Promise<User> {
const cached = cache.get(id)
if (cached) return cached
const user = await db.findUser(id)
if (!user) throw new NotFoundError('User not found')
return user
}
Conflict in package-lock.json
Resolution: Do not manually resolve. Recommend:
git checkout --theirs package-lock.json
npm install