DevOps Pod PR Status
SkillCloud & infraTeam-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.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the DevOps Pod PR Status skill
What this skill tells your AI
The instructions your AI receives, as published by tetherto/qvac in .agents/skills/qv-devops-pr-status/SKILL.md and read by ahel’s review.
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).
The dashboard spans the qvac monorepo (filtered by the pod's ownedPaths) plus every repo declared under extraRepos in .github/teams/devops.json. For extra repos the pod is treated as the sole owner — every open PR there is in-scope regardless of touched paths. The monorepo (tetherto/qvac) is the primary repo and stays path-filtered; it is intentionally NOT listed under extraRepos. Today's extraRepos are an explicit curated list:
- Ops:
tetherto/github-ops,tetherto/oss-actions,tetherto/qvac-actions,tetherto/qvac-devops,tetherto/qvac-testops,tetherto/release-ops,tetherto/data-github-ops - Dev:
tetherto/qvac-workbench,tetherto/qvac-internal,tetherto/qvac-test-suite,tetherto/qvac-registry-vcpkg,tetherto/qvac-fabric-speech.cpp,tetherto/qvac-ext-stable-diffusion.cpp,tetherto/qvac-fabric-llm.cpp,tetherto/qvac-ext-ggml,tetherto/qvac-ext-bergamot-translator,tetherto/qvac-ext-marian-dev - Research:
tetherto/qvac-research-tool-call,tetherto/qvac-research-medpsy,tetherto/qvac-research-translations-nmt,tetherto/qvac-research-evaluate,tetherto/qvac-research-synthetic-data-creation,tetherto/qvac-research-model-training,tetherto/qvac-model-tools,tetherto/qvac-rnd-fabric-llm-bitnet,tetherto/qvac-rnd-fabric-llm-finetune
extraRepos entries are plain owner/name strings used as-is. Glob entries (an owner/name whose name segment contains *, e.g. tetherto/qvac-*) are also supported and resolved dynamically per run via gh repo list <owner> --no-archived — add one to the list if you'd rather track every matching repo automatically instead of curating. Any repo the script cannot read is skipped with a one-line warning on stderr.
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 read access to
tetherto/qvacAND every repo declared underextraRepos(any repo the script cannot read is skipped with a one-line warning on stderr) - Team roster +
extraReposmaintained at .github/teams/devops.json
Usage
DATE="$(date -u +%Y-%m-%d)"
node .agents/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 (in the monorepo) or live in any extra repo 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 surfaces without those PRs polluting the queue. See .agents/skills/_lib/pr-skills/README.md for the flag's full behavior.
extraRepos is honored only by --mode team. --mode review and --mode my continue to operate against the configured primary repo only (the monorepo); cross-repo personal review/my-PR dashboards are not in scope of this skill.
The first line of the dashboard is a Repos: summary listing the primary repo plus every extra repo that contributed to the run, so the user can see the full scope at a glance. PRs from extra repos render as owner/repo#<num> (e.g. tetherto/qvac-workbench#42); PRs from the primary monorepo render as bare #<num> exactly as before. The same prefix shows in the Excluded section.
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). That mode stays on the primary repo.
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 and any skipped-repo warnings, 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 # Wayland -
After 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). Append· <K> repos scannedwhen the script'sRepos:line lists more than just the primary repo (i.e.,extraReposresolved to at least one repo), so the user can see the scope at a glance. - 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):
- [<ref>](<url>) — <title> · `<author-login>` · <age> · <approvals/notes> · **<blockers/labels>**
<ref>is#<num>for PRs in the primary monorepo andowner/repo#<num>(e.g.tetherto/qvac-workbench#42) for PRs from anyextraReposentry. Mirror the script'sprRefform 1:1 — the rendered link text must match what appears in the dashboard at/tmp/devops-pr-status-<DATE>.txt.[<ref>](<url>)— Markdown link, never bare<ref>.<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", "needs fork-ci approval", or any:warning: merge conflictsflag. Include labels in plain backticks (e.g.,`safe-to-test`) when present.
Bullet format for the Excluded section (compact — these are not the pod's review queue):
- [<ref>](<url>) `<author-login>`
References
- Pod metadata: .github/teams/devops.json
- Shared library README: .agents/skills/_lib/pr-skills/README.md
- Generic PR review skill: .agents/skills/qv-pr-review/SKILL.md
- DevOps-flavored PR review skill: .agents/skills/qv-devops-pr-review/SKILL.md
Signals
- GitHub stars
- 601
- Forks
- 111
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
qv-devops-pr-status- Source
- github.com/tetherto/qvac