Delete approval-held workflow runs once their 30-minute window expires,
instead of cancelling them.
GitHub reports a held run as completed with the conclusion action_required,
so the cancel endpoint answered 409. Each sweep failed on the first expired
run and left the run held. Deleting the run needs only the actions: write the
workflow already has.
List every held run before deleting any, because deleting while the listing
pages would shift the later pages.
GitHub refuses to delete a queued or running run, so a late approval still
reaches the existing re-check and is skipped.
Update the pull-requests agent skill: an expired run is now deleted, so a
new push has to start the checks.
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Zoltan Kochan <z@kochan.io>