본문으로 건너뛰기
cccskills
무료GitHub에 공개

pr-review-sweep

Sweep a PR's automated + human review comments and act on them — especially for material (large / logic-bearing) PRs. Handles "sweep the PR comments", "check PR review feedback", "address review comments", "did the bots flag anything", and the pre-/post-merge review pass on any non-trivial PR.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구GitHub
설치 방법 보기

포함된 파일(1)

  • SKILL.md5.4 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

PR Review Sweep

Automated reviewers (cubic-dev-ai, chatgpt-codex-connector / Codex) and humans leave findings on PRs asynchronously — often seconds to minutes after the PR opens, and sometimes only after it merges. A PR that built green is not a reviewed PR. This skill makes the sweep a deliberate step so real P1s (races, state-clobbers, unguarded destructive paths) don't slip through on the exact kind of change where they hurt most.

The rule that motivated this skill: a self-identified P1 on a destructive path was shipped as a "follow-up" and the reviewers confirmed it (plus three more) after merge. Cheap to catch at sweep time; a roundtrip to catch later.

When to sweep (and when not to)

Always sweep — material PRs:

  • Touches shipped source / logic: core/**, examples/**, ship/**, tools/cli/**, src/** (Shipyard), CMake/build wiring.
  • Concurrency, lock ordering, state machines, serialization, RT-audio, or any destructive / mutating path (delete, abandon, overwrite, force). Treat these as high-risk regardless of diff size.
  • Large diffs, or a stack of commits — more surface, more asynchronous review.

Skip is fine — non-material PRs:

  • Docs-only / comment-only / pure rename / formatting.
  • Trivial config or version-bump-only changes.

If unsure, sweep. It costs one API read and a few minutes of triage.

The sweep

Use ghapp for GitHub API reads (its own rate-limit bucket; plain gh burns the shared personal token). Use gh for creating/merging PRs.

Pull all three comment surfaces — findings land in different places:

REPO=danielraffel/<repo>; N=<pr>
# Inline review comments (code-anchored — where the bots put P1/P2 findings)
ghapp api repos/$REPO/pulls/$N/comments \
  --jq '.[] | "--- \(.path):\(.line // .original_line) by \(.user.login)\n\(.body)\n"'
# PR-level reviews (approve/request-changes summaries)
ghapp api repos/$REPO/pulls/$N/reviews \
  --jq '.[] | "\(.user.login) [\(.state)]: \(.body)"'
# Issue comments (human notes, "potential issues flagged here")
ghapp api repos/$REPO/issues/$N/comments \
  --jq '.[] | "--- by \(.user.login)\n\(.body)\n"'

Bot findings are usually tagged P1/P2 with a confidence and an "AI agents" prompt block. They are signal, not gospel.

Triage each finding

  1. Verify against the actual code, not the bot's summary. Read the file at the anchored line. Confirm the failure scenario is reachable (concrete inputs → wrong output). Don't dismiss a P1 because it's "narrow" — a narrow race on a destructive path is still a must-fix.
  2. Bucket: must-fix (correctness / data-loss / a live thing broken), should-fix (real but bounded), nit (style / naming). Default-off opt-ins still get their P1s fixed before anyone can enable them.
  3. Don't blindly apply the bot's suggested patch — reproduce the reasoning, then write the fix that fits the code. Bots are right about what, often wrong about how.

Act

  • PR still open: push the fixes to the branch; re-run the local gates; let the same reviewers re-review before merge.
  • Already merged (common on Shipyard — see below): ship a follow-up PR that fixes every confirmed finding, with a test per fix (tests ship with fixes), then post a closeout comment on the original PR mapping each finding → fix.
  • Ship the test. Every correctness fix lands with the Catch2 / cargo test case that would have caught it. "It compiles" is not the acceptance criterion.

Reporting the PR's state after a sweep

  • Quote the required-check state from shipyard landing --pr <n> (its verdict line where it prints one) or the head's statusCheckRollup, read at the time of the claim, with the head SHA. Do not summarize from memory.
  • Never call a failure a flake, infra, "not a code failure", or "still in progress" while a required check is red on the current head, or when the same test failed on an earlier head of the PR. A repeat is a code signal.
  • If the PR is armed or queued, push only real fixes; do not rebase it or merge main into it (the queue does that, and moving the head cancels the running gate). The ci skill has the full rules.

Timing traps

  • Reviews are asynchronous. Opening the PR does not mean the review has run. For a material PR, either wait for the review run before merging, or commit to a post-merge sweep and be ready to follow up.
  • Shipyard has no required status checks → gh pr merge --auto fires the moment the PR is mergeable, which is typically before the reviewers finish. So on Shipyard, the post-merge sweep is not optional — always re-read pulls/$N/comments after the merge lands and follow up if anything is P1/P2.
  • Pulp PRs route through shipyard pr and merge on green; Codex review comments can also arrive post-merge. Same discipline: sweep after, follow up.

Cross-repo

This applies to any repo the workspace ships to — Pulp and Shipyard both get automated bot review. This skill lives in Pulp's .agents/skills/ (the shared source of truth); the practice is identical when working in the Shipyard tree.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

aax

무료

Optional AAX support for Pulp, including developer-supplied Avid SDK setup, CMake enablement, DigiShell/AAX Validator workflows, and local AAX builds on macOS or Windows.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Generous-Corp/pulp222026년 10월 19일 업데이트

Configure, implement, and test Pulp's optional desktop Ableton Link tempo-sync adapter while preserving the developer-supplied SDK, licensing, realtime, latency-compensation, and no-install boundaries.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Generous-Corp/pulp222026년 10월 19일 업데이트

Maintain Pulp's installed design-time agent capability manifest and public-surface ledger. Use when adding, removing, renaming, or materially changing public audio, MIDI, signal, timebase, or sequence APIs; registering a new algorithm for generators; changing capability support or deprecation state; or repairing agent-capabilities freshness, schema, fingerprint, tombstone, or installed-SDK tests.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Generous-Corp/pulp222026년 10월 19일 업데이트

android

무료

Android platform development for Pulp — NDK cross-compilation, Oboe audio, Dawn/Skia GPU rendering, JNI bridge, touch interaction, emulator workflows, and end-to-end smoke validation. Covers build, deploy, debug, and the gotchas discovered during bringup.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Generous-Corp/pulp222026년 10월 19일 업데이트

ara

무료

Optional ARA support for Pulp, including developer-supplied ARA SDK setup, CMake enablement, adapter companion APIs, validation, and ARA-aware plugin implementation guidance.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Generous-Corp/pulp222026년 10월 19일 업데이트

The measurement surface for ALL Pulp DSP and audio-pipeline work — read it BEFORE writing or gating DSP, not only when something already sounds wrong. Covers the C++ harness (signal generators, metrics, assertions, RenderScenario, contracts), the offline Audio Doctor (magnitude/frequency response, THD/THD+N, phase/group delay), and their Python sibling the Audio Quality Lab (tools/audio/quality-lab — null residual + alignment, LTAS log-spectral distance, spectral flux/centroid, HNR, Theil-Sen drift slope, Kaiser-sinc resampling, license-guarded corpus, regression-net ratchet). TRIGGER on AUTHORING work — "build/design an oscillator/filter/synth/effect", "add a DSP module", "what should the acceptance gate be", "how do I measure aliasing / anti-aliasing / alias floor", "null against a reference", "is this DSP correct", "choose a tolerance", "golden/regression corpus for audio", "measure drift or jitter", "A/B two renders" — AND on DEBUGGING work — "is there sound / no audio / I hear nothing", "does this filter/compressor/synth/delay produce the right signal", "prove the DSP / prove the contract", "measure the frequency response", "what's the THD / is it distorting", "what's the group delay / phase response / measured latency", "magnitude response curve", "render a test tone and assert", "audio regression", "64-frame works but 128 is silent", "sample-rate change pitch-shifted it", "describe what's in this buffer", "audio doctor", "compare before/after a DSP refactor". Reach for this BEFORE hand-rolling any FFT, null test, alias measurement, pitch tracker, or golden-render script — most of it already exists in one of the two lanes. Test/tool layer over HeadlessHost — deterministic, no audio device, no speakers. Off the realtime thread entirely.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Generous-Corp/pulp222026년 10월 19일 업데이트

Generous-Corp의 스킬 모두 보기

이 스킬의 문제 신고