name: qv-devops-pr-status description: Team-wide PR dashboard for the DevOps pod, scoped to PRs authored by pod-roster members. Shows open PRs touching DevOps-owned paths and authored by DevOps leads/members, grouped into needs-your-re-review / stale (>3d) / needs-review, with merge-conflict warnings and a separate Excluded section for non-roster authors. Use when checking DevOps pod PR status, asking about stale PRs, or invoking /qv-devops-pr-status. disable-model-invocation: true
DevOps Pod PR Status
Thin wrapper over the shared pr-skills library, pinned to the DevOps pod and scoped to PRs authored by DevOps roster members (leads ∪ members in .github/teams/devops.json).
When to use this skill
Use when:
- User asks about open DevOps pod PRs, review status, or what needs attention
- User asks specifically about stale PRs touching DevOps paths
- User wants to know which DevOps pod PRs to review next
- User invokes
/qv-devops-pr-status
Prerequisites
ghCLI installed and authenticated (gh auth status)- User must have access to
tetherto/qvacrepository - Team roster maintained at .github/teams/devops.json
Usage
DATE="$(date -u +%Y-%m-%d)"
node .cursor/skills/_lib/pr-skills/pr-status.mjs --pod devops --mode team --authors pod \
2> /tmp/devops-pr-status-${DATE}.stderr \
| tee "/tmp/devops-pr-status-${DATE}.txt"
--authors pod restricts the main dashboard to PRs authored by DevOps roster members. PRs that touch DevOps-owned paths but are authored outside the roster are surfaced in a separate "Excluded" section at the bottom of the same dashboard, so the pod still has visibility into cross-pod work hitting its paths without those PRs polluting the queue. See .cursor/skills/_lib/pr-skills/README.md for the flag's full behavior.
For the personal review queue scoped to DevOps PRs, use --mode review (without --authors pod — review queue intentionally includes cross-pod authors whose review the user owes).
Workflow
Run the script with
--pod devops --mode team --authors pod, teeing stdout to/tmp/devops-pr-status-<YYYY-MM-DD>.txtso the dashboard is available for paste afterwards. Redirect stderr to a sibling.stderrfile (it contains progress /SLACK_VALIDATION_REQUIREDnotices, not dashboard content).Present the dashboard to the user in the chat presentation format (see below) — not as a raw paste of the script output.
Surface the summary header counts (need your re-review / stale / merge conflicts / excluded) prominently.
Print the paste-ready copy commands. The dashboard at
/tmp/devops-pr-status-<DATE>.txtis plain text with two-space indent — when pasted into a Slack thread, Slack auto-renders the indented lines as nested bullets and turns#<num>into PR auto-links. No re-formatting is needed.pbcopy < /tmp/devops-pr-status-${DATE}.txt # macOS xclip -selection clipboard < /tmp/devops-pr-status-${DATE}.txt # Linux wl-copy < /tmp/devops-pr-status-${DATE}.txt # WaylandAfter showing results, offer: "Want me to review any of these? Provide the PR URL and I'll run
/qv-devops-pr-review(or/qv-pr-reviewfor the generic flow)."
Chat presentation format
The in-chat rendering uses Markdown with hyperlinked PR numbers. This is distinct from the paste-ready Slack form (auto-linked plain text) saved to the temp file. Both must be produced on every run.
Required layout (in this exact order):
- Title line —
## DevOps Pod — PR Status (authors scoped to roster). - Headline summary — one bold line restating the script summary counts (
N PRs need attention · X fully approved · Y need your re-review · Z stale). - Roster line — one-line listing of the roster:
Refresh from .github/teams/devops.json on every run; do not hardcode if the file has drifted.Roster: `Proletter` (lead) + `darkynt`, `GSServita`, `sidj-thr`, `tamer-hassan-tether`, `yauhenipankratovich-web`. - Headline analysis — one short paragraph identifying the highest-leverage cluster in the queue (e.g., "Four
QVAC-18047PRs all sit on team-lead approval only — fastest path to drain the queue."). Skip when the queue is empty. ### :red_circle: Stale (>3d) — N— one bullet per stale PR.### :large_yellow_circle: Needs Review — N— one bullet per active PR.### :repeat: Needs your re-review — N— only if the section is non-empty.### Excluded (non-roster authors)— populated from the script's "EXCLUDED" section. One bullet per PR. Acts as a quick visibility list, not a review queue.### Paste-ready— thepbcopy/xclip/wl-copyblock.
Bullet format for the active sections (Stale / Needs Review / Re-review):
- [#<num>](<url>) — <title> · `<author-login>` · <age> · <approvals/notes> · **<blockers/labels>**
[#<num>](<url>)— Markdown link, never bare#<num>.<title>is the PR title verbatim, no truncation.<author-login>is wrapped in backticks.<age>is the script's age string (e.g.,4d 13h).<approvals/notes>lists:white_check_mark: <login>/:x: <login>/:arrows_counterclockwise: <login>for any non-pending reviews on the PR (from the script'sReviews:/Other:lines).<blockers/notes>is bolded — "needs team-lead approval", "needs team-member approval", "needs team-member + team-lead approval", or any:warning: merge conflictsflag. Include labels in plain backticks (e.g.,`verified`) when present.
Bullet format for the Excluded section (compact — these are not the pod's review queue):
- [#<num>](<url>) `<author-login>`
References
- Pod metadata: .github/teams/devops.json
- Shared library README: .cursor/skills/_lib/pr-skills/README.md
- Generic PR review skill: .cursor/skills/qv-pr-review/SKILL.md
- DevOps-flavored PR review skill: .cursor/skills/qv-devops-pr-review/SKILL.md