nemoclaw-maintainer-find-review-pr

bởi nvidia

Tìm các PR GitHub có gắn nhãn bảo mật đang mở với Mức độ ưu tiên dự án Khẩn cấp hoặc Cao, liên kết mỗi PR với issue của nó, phát hiện các bản trùng lặp và hiển thị bảng đánh giá…

npx skills add https://github.com/nvidia/nemoclaw --skill nemoclaw-maintainer-find-review-pr

Find PR to Review

Find open PRs with the security label and Project Priority Urgent or High. Link each PR to its issue. Identify competing or superseded PRs. Report the results for the maintainer.

Prerequisites

  • gh (GitHub CLI) must be installed and authenticated.
  • The active gh token must have read:project scope.
  • You must be in a GitHub repository (or the user must specify OWNER/REPO).

Step 1: Fetch candidate PRs

Read the NemoClaw Development Tracker and select open PRs that carry the canonical security label and have Project Priority Urgent or High:

gh project item-list 199 --owner NVIDIA --limit 1000 --format json \
  | jq '[.items[]
    | select(.content.repository == "NVIDIA/NemoClaw")
    | select(.content.type == "PullRequest")
    | select(((.labels // []) | index("security")) != null)
    | select(.priority == "Urgent" or .priority == "High")
    | {number: .content.number, title: .content.title, url: .content.url,
       priority: .priority, status: .status}]'

Remove entries for closed PRs. For each remaining PR, fetch the body, author, branch, labels, and creation time with gh pr view. If no PRs remain, report that result and stop.

Step 2: Extract linked issues

For each PR, search its body for issue references. Match these patterns without case sensitivity:

  • Fixes #NNN, Closes #NNN, Resolves #NNN
  • Related Issue / Linked Issue section containing #NNN
  • Issue number in the PR title, such as a (#NNN) suffix
  • Branch name containing an issue number, such as fix/something-NNN

Build a mapping: PR# → [issue numbers].

If a PR has no detectable linked issue, mark it as (no linked issue).

Step 3: Detect duplicates

Group PRs by linked issue number. If two or more open PRs link to one issue, put them in one competing-PR group.

Fetch these fields for each competing PR:

gh pr view <number> --json number,title,author,createdAt,additions,deletions,reviewDecision,statusCheckRollup --jq '{number,title,author: .author.login,created: .createdAt,additions,deletions,review: .reviewDecision,checks: [.statusCheckRollup[]?.conclusion] | unique}'

Step 4: Check for superseded PRs

Run the comparator's canonical detector with the open candidate PR numbers:

../nemoclaw-maintainer-pr-comparator/scripts/parse-supersession.sh <pr-number-1> <pr-number-2> ...

It recognizes the comparator parser's case-insensitive statement families:

  • supersed[a-z]* before #N: supersedes #N points from the current PR to #N; superseded by #N points from #N to the current PR.
  • replac[a-z]* before #N: replaces #N points from the current PR to #N; replaced by #N points from #N to the current PR.
  • clos[a-z]* in favor of before #N: closes in favor of #N and closed in favor of #N point from #N to the current PR.
  • fold[a-z]* in before #N: folds in #N points from the current PR to #N; folded into #N points from #N to the current PR.

The bracket expressions describe the parser grammar; they are not literal PR body text. A follow-up to #N statement is a related-PR signal, not a supersession declaration, unless one of these phrases also appears.

Each supersession phrase must name another open candidate PR. It indicates that one PR can include the other. It records a relationship but does not prove that the target carries the source PR's work.

When the target claims the source PR's full scope, compare their commits and diffs. If material code, tests, or documentation from another contributor remains in the target, apply the canonical policy in ../nemoclaw-maintainer-policies/references/workflow-policy.md.

This skill reports recommendations only. Do not recommend closing the source PR until another authorized workflow has:

  • completed any required transfer
  • verified the updated commits, attribution, and CI
  • rerun the comparator and selected the target
  • confirmed that the target contains the source's full scope and required contributor attribution
  • merged the selected target

Step 5: Present results

Duplicates / Superseded

If duplicates or superseded PRs exist, present them first in a table:

### Duplicate PRs (same issue)

| Issue | PR | Author | Title | +/- | Status |
|-------|-----|--------|-------|-----|--------|
| #804  | #1121 | user1 | ...  | +50/-10 | Checks passing |
| #804  | #1300 | user2 | ...  | +80/-20 | Checks failing |

**Recommendation:** #1121 is smaller and passing checks — consider closing #1300.

For superseded PRs:

### Superseded PRs

- #1416 supersedes/folds in #1392 (shell-quote sandboxName)
  Keep #1392 open while an authorized workflow completes any required transfer, verifies the updated commits, attribution, and CI, and reruns the comparator.
  After the updated verdict selects #1416 and #1416 merges, consider closing #1392 only if #1416 contains its full scope and preserves any required contributor attribution.

Clean candidates

Present PRs without competing PRs in a table:

### Review candidates (no duplicates)

| PR | Issue | Priority | Title | Author | Age |
|----|-------|----------|-------|--------|-----|
| #1476 | #577 | Urgent | disable remote uninstall fallback | user1 | 2d |
| #1121 | #804 | High | Landlock read-only /sandbox | user2 | 6d |

Summary line

Recommend one PR to review first. Apply these priorities in order:

  1. Project Priority (Urgent before High)
  2. Oldest PR
  3. PRs with passing checks
  4. PRs with smaller diff size (easier to review)

Notes

  • Never close a PR. Report findings and recommendations only.
  • Apply filters that the user gives, such as a scope label.
  • If the user asks for a different priority, filter the Project Priority field. Never use or create a priority label.

Thêm skills từ nvidia

compileiq-debug
nvidia
Sử dụng khi có điều gì đó không ổn: Search() bị treo, tất cả các đánh giá đều trả về INVALID_SCORE, điểm số không cải thiện, mọi cấu hình đều trả về cùng một số, lỗi ptxas…
create-github-pr
nvidia
Tạo pull request GitHub bằng cách sử dụng gh CLI. Sử dụng khi người dùng muốn tạo PR mới, gửi mã để xem xét, hoặc mở pull request. Từ khóa kích hoạt -…
nemoclaw-maintainer-cross-issue-sweep
nvidia
Quét các vấn đề đang mở khác để tìm những vấn đề mà một PR nhất định có thể sửa hoặc vô tình làm hỏng. Đưa ra các cơ hội sửa lỗi liền kề và rủi ro mâu thuẫn với file:dòng…
fhir-basics
nvidia
Dạy các tác nhân cách hoạt động của API FHIR R4, những tài nguyên có sẵn, cách truy vấn chúng với tham số tìm kiếm, và cách phân tích chính xác tất cả các định dạng phản hồi…
compileiq-validate-result
nvidia
Sử dụng SAU KHI tìm kiếm hoàn tất và TRƯỚC KHI yêu cầu tăng tốc hoặc gửi ACF. Tải tệp CSV dump_results, trích xuất các ứng viên top-K (đơn mục tiêu)…
changelog-audit
nvidia
Kiểm tra Warp CHANGELOG.md trước khi phát hành: khôi phục các mục bị mất, sắp xếp theo tác động người dùng, tinh chỉnh ngôn ngữ mục, xuống dòng và (chế độ nhánh phát hành) so sánh bump…
maintain-dynamic-plugins
nvidia
Duy trì các bộ nạp plugin động NeMo Relay, tệp kê khai, SDK gốc Rust, giao thức worker gRPC, SDK worker Python, tài liệu, kiểm thử và phạm vi quy trình phát hành
dgx-diagnose
nvidia
Chẩn đoán các sự cố thường gặp của DGX Station GB300 — lỗi CUDA, nhắm sai GPU, lỗi container vLLM/SGLang, vấn đề trạng thái MIG, lỗi NVLink/Fabric Manager,…