원클릭으로
merge-prs
Merge all open PRs (or specific ones) and close their associated issues
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Merge all open PRs (or specific ones) and close their associated issues
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Drive ALL open issues to terminal (MERGED / PLAN-KILLED / PLAN-DEFERRED-with-reason) — a drive-to-zero campaign. Ranks the backlog, fans out /research + /engineer agents (parallel route) or chains coupled work (serial route), PARENT-reviews every PR, files new issues found during audits, and stops when nothing driveable remains.
Alias for /triple-review — drive a refactor through the full quad-review methodology (Codex + Antigravity + Claude SMR + Copilot) with plan-review, smoke, and 4-of-4 merge gate.
Run IPv4/IPv6 throughput and CPU profiling on bpfrx cluster or standalone VM using iperf3 + perf record.
Research an issue with hostile reviews from Claude SMR + Codex + AGY; produce a plan-of-action doc for manual approval BEFORE any implementation. Stops at PLAN-READY — does NOT engineer the PR.
Drive a hostile network-expert quad-review on a GitHub PR — Claude hostile in-conversation, Codex hostile, Antigravity adversarial, plus Copilot inline reviews. All four reviewers hostile-verify rather than confirm. Iterate across force-pushes until all reviewers agree. Never autonomously merge — synthesis only.
Verify the core security/forwarding matrix on real traffic — plain forwarding at max throughput, trust→untrust ALLOW, untrust→trust BLOCK, trust→trust ALLOW — with captured proof, then document the evidence.
| name | merge-prs |
| description | Merge all open PRs (or specific ones) and close their associated issues |
| user_invocable | true |
Merge open pull requests and automatically close any issues they reference via "Fixes #N".
/merge-prs — merge ALL open PRs/merge-prs 123 456 789 — merge specific PR numbers--merge strategy.# Get PR list — either from args or all open
if [ -n "$ARGS" ]; then
PRS="$ARGS"
else
PRS=$(gh pr list --state open --json number -q '.[].number' | sort -n)
fi
if [ -z "$PRS" ]; then
echo "No open PRs to merge."
exit 0
fi
MERGED=""
FAILED=""
ISSUES_CLOSED=""
for pr in $PRS; do
if gh pr merge $pr --merge 2>/dev/null; then
MERGED="$MERGED $pr"
# Extract and close associated issues
FIXES=$(gh pr view $pr --json body -q '.body' 2>/dev/null | grep -oP '[Ff]ixes #\d+' | grep -oP '\d+')
for issue in $FIXES; do
gh issue close $issue --reason completed --comment "Fixed by PR #$pr (merged)." 2>/dev/null && \
ISSUES_CLOSED="$ISSUES_CLOSED #$issue"
done
else
# Try rebase and retry
BRANCH=$(gh pr view $pr --json headRefName -q '.headRefName' 2>/dev/null)
if [ -n "$BRANCH" ]; then
git fetch origin $BRANCH 2>/dev/null
git checkout $BRANCH 2>/dev/null
if git merge origin/master --no-edit 2>/dev/null; then
# Check for _Log.md conflicts only
if git diff --name-only --diff-filter=U 2>/dev/null | grep -q '_Log.md'; then
git checkout --theirs _Log.md && git add _Log.md && git commit --no-edit 2>/dev/null
fi
git push 2>/dev/null
git checkout master 2>/dev/null
sleep 3
if gh pr merge $pr --merge 2>/dev/null; then
MERGED="$MERGED $pr"
FIXES=$(gh pr view $pr --json body -q '.body' 2>/dev/null | grep -oP '[Ff]ixes #\d+' | grep -oP '\d+')
for issue in $FIXES; do
gh issue close $issue --reason completed --comment "Fixed by PR #$pr (merged)." 2>/dev/null && \
ISSUES_CLOSED="$ISSUES_CLOSED #$issue"
done
else
FAILED="$FAILED $pr"
fi
else
git merge --abort 2>/dev/null
git checkout master 2>/dev/null
FAILED="$FAILED $pr"
fi
else
FAILED="$FAILED $pr"
fi
fi
done
git checkout master 2>/dev/null
git pull origin master 2>/dev/null
echo ""
echo "=== Results ==="
[ -n "$MERGED" ] && echo "Merged:$MERGED"
[ -n "$FAILED" ] && echo "Failed:$FAILED (need manual rebase)"
[ -n "$ISSUES_CLOSED" ] && echo "Issues closed:$ISSUES_CLOSED"
[ -z "$MERGED" ] && [ -z "$FAILED" ] && echo "Nothing to do."