review-vcpkg-prs-today
作者: microsoft
审查过去30天内更新的非草稿状态的microsoft/vcpkg拉取请求。用于批量分类、逐PR审查报告、按…分组的索引时使用。
npx skills add https://github.com/microsoft/vcpkg --skill review-vcpkg-prs-todayInputs
| Input | Required | Meaning |
|---|---|---|
investigation-root | No | Directory for large temporary artifacts such as worktrees, sources, builds, examples, and installs. Final deliverables still go under reviews/ in the caller's current directory. If omitted, infer a short same-drive path when clear; otherwise ask. Never use the Copilot session directory or an arbitrary long temp path. |
review-depth | No | One of no-examples, examples, or examples-and-patches. Default to no-examples. |
Example invocations
/review-vcpkg-prs-today investigation-root D:/vcpkg-prs/review-vcpkg-prs-today review-depth examples/review-vcpkg-prs-today investigation-root D:/vcpkg-prs and review-depth examples
Procedure
- Discover candidate PRs with the GitHub Search API or
gh api, not by paging the generic pulls list. Filter to:repo:microsoft/vcpkgis:pris:opendraft:falseupdated:>=<today minus 30 days>
- Prefer authenticated requests via
ghorGITHUB_TOKEN; unauthenticated limits are usually too low for a full batch. - For each candidate PR, fetch the changed file list and identify touched ports from paths matching
ports/<portname>/. - Group competing PRs only by the specific port or ports they share. Put PRs that touch no port in a separate index section.
- Review every candidate independently with a
general-purposeworker using its default high-capability model; do not override it with a fast or lightweight model. Every worker must read all of.github/skills/shared/review-vcpkg-pr-guide.mdand treat every instruction as mandatory. Group competing PRs only in the finalindex.md. - Write each report when completed. Write
index.mdlast from the final per-PR results and port-specific competition groups.
Parallel execution safety
- Give each concurrent worker its own writable detached worktree or equivalent detached-HEAD workspace. Never share a writable repository path between workers.
- Create all isolated workspaces before launching workers. Copy
vcpkg.exe(Windows) orvcpkg(non-Windows) into each one; for example, aftergit worktree add D:\vcpkg2 origin/master, copy.\vcpkg.exetoD:\vcpkg2. - Use the caller's working tree only when exactly one worker is active and the user explicitly allows it.
index.md content
index.md must include:
- Coverage summary, including how many PRs were reviewed, skipped, or failed.
- PRs grouped by the shared guide's verdicts:
approve,approve-with-notes,request-changes, andunknown. - Competing PRs grouped by shared modified port.
- PRs with no touched
ports/<portname>/entries. - PRs that failed to review, with a short reason instead of silently omitting them.
Required output layout
Write all deliverables under reviews/ in the caller's current directory, not under investigation-root. Each worker substitutes its PR number for {{PR_NUMBER}}; the shared guide defines report.md.
reviews/
├── index.md
├── pr-12345/
│ ├── report.md
│ └── patches/
│ └── *.patch
└── pr-12346/
├── report.md
Do not stop until reviews/index.md and reviews/pr-{{PR_NUMBER}}/report.md for each reviewed PR number exist and are complete.