一键导入
resolve-all-pr-comments
Scan ALL open PRs for unreplied Sentry/Copilot comments and resolve them in batch
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Scan ALL open PRs for unreplied Sentry/Copilot comments and resolve them in batch
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Check changelogs for Bevy, Next.js, Zustand, wasm-bindgen, Rapier, and all SpawnForge deps. Use when training data may be stale, before major upgrades, or when a library API behaves unexpectedly.
Forward-looking sister to changelog-review. Scans our SaaS + library stack (analytics, monitoring, observability, agent tracking, infrastructure, AI, payments, auth) against TODAY's provider changelogs / releases / betas to surface capabilities we are NOT yet using — newly shipped or long-available-but-unadopted — that could improve the product or our build harness. Every opportunity comes with its provider cost. Use for quarterly capability audits, when asking "what new features can we leverage," or before planning a growth/observability/infra initiative.
SpawnForge Stripe webhook patterns — idempotent refunds, CTE atomic claims, neonSql transaction ordering, token billing. Auto-loads when editing billing code.
Monitor open PRs for CI failures and review comments, then fix issues automatically. Use when PRs need to be driven to green — checks CI status, Sentry comments, merge conflicts, and applies fixes.
Review a PR for SpawnForge bugs, security issues, and regressions. Posts inline GitHub comments with severity markers. Use when asked to "review PR", "code review", or "check this PR". Invoke with /pr-code-review <PR number>.
Taskboard management skill. View, create, update, and manage tickets on the project taskboard. Enforces standard ticket format with user stories and acceptance criteria.
| name | resolve-all-pr-comments |
| description | Scan ALL open PRs for unreplied Sentry/Copilot comments and resolve them in batch |
| user-invocable | true |
Batch-resolve unreplied bot comments across ALL open PRs in the repository.
Wraps the /resolve-pr-comments skill for each PR that has unreplied comments.
REPO="Tristan578/project-forge"
# Get all open PRs
OPEN_PRS=$(gh pr list --repo "$REPO" --state open --json number --jq '.[].number')
# For each PR, check for unreplied bot comments
for PR in $OPEN_PRS; do
UNREPLIED=$(gh api "repos/$REPO/pulls/$PR/comments" --paginate --jq '
[.[] | {id, user: .user.login, in_reply_to_id}] |
[.[].in_reply_to_id // empty] as $replied |
[.[] | select(.user == "sentry[bot]" or .user == "Copilot") | select(.id | IN($replied[]) | not)] |
# NOTE: IN($replied[]) streams scalar IDs correctly in jq 1.7+.
# For jq < 1.7, use: select([.id] | inside($replied) | not)
length
' 2>/dev/null || echo "0")
if [ "$UNREPLIED" -gt 0 ]; then
echo "PR #$PR: $UNREPLIED unreplied bot comments"
fi
done
For each PR with unreplied comments, invoke /resolve-pr-comments <PR_NUMBER>.
Process PRs sequentially (not in parallel) to avoid branch conflicts:
/resolve-pr-comments protocol (Step 0-5)After processing all PRs, output a summary table:
## Cross-PR Comment Resolution Summary
| PR | Branch | Unreplied Before | Resolved | Remaining |
|----|--------|-----------------|----------|-----------|
| #1234 | feat/foo | 5 | 5 | 0 |
| #5678 | fix/bar | 3 | 3 | 0 |
Total: X comments resolved across Y PRs.
Subagents do NOT inherit settings.json hooks. The block-deferred-fixes.sh hook only
fires for the main agent. When this skill dispatches /resolve-pr-comments per PR, the
subagent MUST self-enforce the banned-phrase list. See /resolve-pr-comments Step 3b
"HARD RULE" section for the complete banned-phrase list and valid reply patterns.
Zero tolerance: if any reply in any PR contains deferred-fix language without a commit SHA + action verb or a GitHub issue number (#NNNN), the entire batch resolution FAILS.
/resolve-pr-comments treatment