用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/auerbachb/claude-code-config --skill status命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
Resume companion to /pause; `/go-on` is the primary resume entry point and routes here. Explicitly clears the background-launch gate, reads parked and stopped-task recovery state, prints the current board, and re-arms selected work without duplicating live tasks. The refill gate is cleared only with --resume-refill. Triggers on "pause-resume", "resume from pause", "back from laptop", "restore parked work", "what did I park".
Use when you are closing your laptop and need every current-session background task stopped at a resumable boundary. Blocks new launches, uses a bounded runway to land safe work, hard-stops leftovers, and writes machine-readable resume state. Triggers on "pause", "laptop close", "heading out", "park the work", "shutting down".
Active PM orchestrator — manages issue pipeline, tracks coding threads, ranks the open backlog (OKR-aware) against a business goal, and suggests next work. Cold-starts from GitHub state, resumes from a /pm-handoff prompt, or runs continuously all day via `/pm day`. Triggers on "pm", "project manager", "orchestrate", "what should I work on", "rank issues", "work the backlog all day".
| name | status |
| description | Show a dashboard of all open PRs with review state, unresolved findings, and blockers. |
| triggers | ["show PRs","PR dashboard","what's open","review status"] |
| model | sonnet |
| allowed-tools | ["Read","Glob","Grep","Bash","WebFetch","WebSearch"] |
Build a status dashboard of all open PRs in this repo.
Resolve dashboard helpers before listing PRs:
resolve_script() {
local name="$1" candidate
for candidate in \
"$HOME/.claude/skills-worktree/.claude/scripts/$name" \
"$HOME/.claude/scripts/$name" \
".claude/scripts/$name"; do
if [[ -x "$candidate" ]]; then echo "$candidate"; return 0; fi
done
return 1
}
PR_STATE_SH=$(resolve_script pr-state.sh || true)
MERGE_GATE_SH=$(resolve_script merge-gate.sh || true)
CR_HOURLY_SH=$(resolve_script cr-review-hourly.sh || true)
[[ -n "$PR_STATE_SH" ]] || { echo "ERROR: pr-state.sh not found (checked all three paths) — PR dashboard unavailable" >&2; exit 1; }
[[ -n "$MERGE_GATE_SH" ]] || { echo "ERROR: merge-gate.sh not found (checked all three paths) — merge status unavailable" >&2; exit 1; }
[[ -n "$CR_HOURLY_SH" ]] || { echo "ERROR: cr-review-hourly.sh not found (checked all three paths) — review quota status unavailable" >&2; exit 1; }
Invoking-repo scope (issue #687). "in this repo" is load-bearing: the
gh pr listbelow is cwd-repo-scoped bygh, andpr-state.sh --pr Nresolves the repo viagh repo view— so the dashboard never surfaces another repo's PRs./statusreads no cross-repo session-state aggregate; if that ever changes, usesession-state.sh --session-view(repo-scoped), never--get ..
gh pr list --state open --json number,title,headRefName,updatedAt,author,additions,deletions --limit 50
If no open PRs, say "No open PRs." and stop.
pr-state.sh first (NON-NEGOTIABLE): Before calling
gh api .../pulls/{N}/reviews,pulls/{N}/comments, orissues/{N}/commentsdirectly, callpr-state.sh --pr Nfirst and read the cached JSON bundle. All review-state queries in this skill read from the$STATEbundle — do not add inlinegh apicalls to these three endpoints.
For each open PR, run the shared PR-state helper once per PR. One invocation returns reviews, inline comments, issue comments, unresolved threads, check-runs, and bot status rollups — all derived from the same HEAD SHA:
STATE=$("$PR_STATE_SH" --pr "$N")
All subsequent queries read from $STATE:
# Last review from CR, BugBot, or Greptile (state: APPROVED / COMMENTED / CHANGES_REQUESTED)
jq '[.comments.reviews[]
| select(.user.login == "coderabbitai[bot]" or .user.login == "cursor[bot]" or .user.login == "greptile-apps[bot]")
| {user: .user.login, state, submitted: .submitted_at}]
| sort_by(.submitted) | if length == 0 then {} else last end' "$STATE"
# Unresolved thread count
jq '.threads.unresolved_count' "$STATE"
# CR/BugBot/Greptile issue-comment count (summaries, acks, PR-level findings)
jq '[.comments.conversation[]
| select(.user.login == "coderabbitai[bot]" or .user.login == "cursor[bot]" or .user.login == "greptile-apps[bot]")]
| length' "$STATE"
# CodeRabbit check-run status (also serves as rate-limit signal via title).
# Falls back to the commit-status rollup for repos that report CR via the legacy statuses API.
CR_CHECK=$(jq '.check_runs.all[] | select(.name == "CodeRabbit") | {status, conclusion, title}' "$STATE")
if [ -z "$CR_CHECK" ] || [ "$CR_CHECK" = "null" ]; then
jq '.bot_statuses.CodeRabbit' "$STATE" # legacy commit-status path
else
echo "$CR_CHECK"
fi
# BugBot (Cursor) check-run — included so PRs on the BugBot path show review status
jq '.check_runs.all[] | select(.name == "Cursor Bugbot") | {name, status, conclusion}' "$STATE"
For a structured merge-readiness call per PR, run the shared merge-gate verifier:
"$MERGE_GATE_SH" "$PR_NUM"
Exit 0 → Clean (merge-ready). Exit 1 → parse .missing[] to classify: entries about findings/threads = Has findings, entries about CI incomplete or review not yet posted = Review pending, entries about rate limits = Rate-limited. Exit 3 → PR not found. Exit 2/4 → script/gh error.
The JSON also surfaces .reviewer, .head_sha, .ci_status, .merge_state, and .mergeable — use these to populate the dashboard columns without re-querying.
Classifications to present in the table:
0.mergeStateStatus is UNKNOWN (GitHub still computing mergeability).merge_state == "BEHIND" or missing mentions BEHIND — show Rebase (invoke /fixpr); do not conflate with generic BLOCKED.missing.Always run "$CR_HOURLY_SH" --check from the repo root (same HOME as the agent). Parse JSON on stdout and put CR quota: <reviews_used>/<budget> (or CR quota: exhausted) in the footer every time, even when ~/.claude/session-state.json does not exist yet (--check then reports 0 used).
If session-state.json exists, also cross-reference:
Output a table like:
PR | Title | Reviewer | State | Findings | HEAD SHA | Updated
------|--------------------------------|----------|----------------|----------|----------|--------
#40 | Add slash commands | CR | Review pending | 0 | 517690c | 2 min ago
#38 | Fix auth middleware | Greptile | Has findings | 3 | d0e4fef | 15 min ago
#35 | Add post-merge hook | CR | Clean | 0 | 7b2cfbf | 1 hr ago
Below the table, add:
cr-review-hourly.sh --check — CR quota: N/M or exhausted (deterministic; do not gate on session-state.json existing)