Skill 94 · Copilot PR Autopilot
Subchapter 94.1
references/01-request-review.mdMarkdown1 KBView on GitHub
Scripts
LibPrNumber for the target PR.baseline = LatestCopilotReview.submittedAt string (or empty)
to be passed to step 2.single_iteration_mode — true if the trigger failed because
Copilot isn’t a valid reviewer; false otherwise.Snapshot first to learn whether Copilot is already pending:
$snap = pwsh ./scripts/02-check-review-status.ps1 -PrNumber <n>
$baseline = if ($snap -match '"submittedAt":"([^"]+)"') { $Matches[1] } else { '' }
$pending = ($snap -match '"CopilotPending":true')Regex on raw JSON keeps submittedAt a string across the
parent → sub-agent boundary on any PS version (5.1 / 7.x), avoiding
[datetime] rebinding.
If $pending — skip the trigger; jump to step 2 with baseline.
Else — fire the trigger:
pwsh ./scripts/01-request-review.ps1 -PrNumber <n>The script keeps its own InFlight short-circuit as a safety net,
but the canonical “is Copilot pending?” signal lives in
02-check-review-status.ps1 (above).
If 01-request-review.ps1 throws because Copilot isn’t a valid
reviewer (Copilot Code Review not enabled on the repo / account),
take the single-iteration fallback.