overnight-verify-close-and-blocker-conversion
Use overnight Codex lanes to clear stale-open GitHub issues by verification-first closure, and convert blocked PR-repair attempts into dedicated blocker issues instead of speculative edits.
Best use case
overnight-verify-close-and-blocker-conversion is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use overnight Codex lanes to clear stale-open GitHub issues by verification-first closure, and convert blocked PR-repair attempts into dedicated blocker issues instead of speculative edits.
Teams using overnight-verify-close-and-blocker-conversion should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/overnight-verify-close-and-blocker-conversion/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How overnight-verify-close-and-blocker-conversion Compares
| Feature / Agent | overnight-verify-close-and-blocker-conversion | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use overnight Codex lanes to clear stale-open GitHub issues by verification-first closure, and convert blocked PR-repair attempts into dedicated blocker issues instead of speculative edits.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Overnight verify-close and blocker conversion ## When to use Use this in workspace-hub-style overnight batches when: - several approved GitHub issues look suspiciously like they are already done - issue comments mention landed commits, review artifacts, or approved revision passes - you want backlog reduction without risky duplicate implementation - a repair lane for a specific PR may actually be blocked by repo-wide CI drift ## Core idea Do not default to implementation just because an issue is open. For stale-open approved issues, assign **verification-first closeout lanes**. For blocked PR repair, if the true root cause is outside the lane's owned paths, stop and create a dedicated blocker issue the same night. ## Part 1: verification-first closeout lanes Create one lane per issue. Each lane should have write ownership only over: - one result artifact, e.g. `.nightly-results/<date>-issue-<n>.md` - the GitHub comment/close actions for that issue ### Required verification sequence 1. `git fetch origin --quiet` 2. identify the candidate landing commit from issue comments or recent history 3. prove the commit is on `origin/main` - prefer `git merge-base --is-ancestor <commit> origin/main` - `git branch -r --contains <commit>` can be a secondary check only 4. verify expected artifacts exist on `origin/main` - use `git ls-tree`, direct file reads, or current checkout inspection after sync 5. map acceptance criteria to concrete evidence - for design/governance/doc issues, deterministic section/path inspection is often the right validator - do not force a runtime test if the deliverable is a document contract or review package 6. if auto-sync / merge-race risk exists, verify **content parity**, not just history containment - compare the landed commit's artifact content against `origin/main` - example: `git diff <candidate-commit> origin/main -- <artifact-path>` should be empty or have an explicitly explained delta 7. write the evidence report artifact 8. post the closeout comment first 9. close the issue second, in a separate command ### Why comment first `gh issue close --comment` can be fragile in races or on already-closed issues. Posting the evidence comment first makes the proof durable even if the close step races or becomes redundant. ### Stronger verification rules learned in practice Use both of these before closing a stale-open issue: - **history containment**: `git merge-base --is-ancestor <commit> origin/main` - **content parity**: `git diff <candidate-commit> origin/main -- <artifact-path>` should be empty unless you can explain the delta Reason: - history containment alone does not prove the intended artifact content survived a merge race or later overwrite - in auto-sync / concurrent-writer repos, the same issue can need both ancestry proof and artifact parity proof before "already done" is defensible Operational note: - leave the `status:plan-approved` label alone on a now-closed issue unless there is a separate governance reason to clean it up; that label is evidence of planning state, not an error by itself ### Good fit This pattern worked well for stale-open issues where: - revision/implementation commits were already on `origin/main` - review artifacts and approval markers existed - the issue simply had never been formally closed ## Part 2: blocked PR-repair lane -> blocker issue conversion If a lane intended to repair a branch or PR discovers that the actual failure is due to repo-wide CI/governance drift outside the lane's owned paths, do not guess, broaden scope, or patch unrelated files. ### Required diagnosis output Produce a blocker report containing: - the failing workflow/check names - exact missing/referenced files or scripts - commit/history evidence showing when the breakage was introduced - why the failure is repo-wide rather than branch-specific - what could not be verified because of session capability limits ### Then immediately create or attach to a blocker issue First check whether the blocker class is already tracked. If an existing open issue already matches the exact blocker class, add fresh evidence there instead of opening a duplicate. Only create a new blocker issue when no suitable existing tracker exists. Examples from live use: - create a new blocker issue when a PR-repair lane discovers a previously untracked repo-wide CI/workflow drift - attach fresh evidence to an existing blocker issue when a local-ready implementation lane is blocked by a known pre-push / worktree / hook-coupling problem already under active tracking This keeps overnight batches from creating duplicate blocker tickets while still preserving the new evidence. ### Also update the blocked issue Post a comment on the originally targeted issue explaining: - the blocker issue number - that the branch was not changed because the failure is upstream/repo-wide - the next correct sequence: 1. fix blocker issue 2. rerun/rebase blocked PR 3. reassess remaining branch-specific failures ## Practical batch pattern A high-yield overnight mix is: - 2-3 verify-close lanes for stale-open approved issues - 1 bounded branch-repair lane - 1 true implementation lane This gives you: - backlog reduction from issue closure - dependency clarification from blocker conversion - one or more genuine code-execution lanes still making forward progress ## Pitfalls - Do not treat commit containment alone as proof of completion when merge-race workflows exist. - Do not keep a blocked PR-repair lane running after proving the root cause is repo-wide. - Do not silently absorb a CI workflow fix into a feature-branch repair lane unless that workflow path is explicitly owned. - Do not close a stale-open issue without explicit acceptance-criteria mapping and at least one concrete proof artifact. ## Reusable outcome This pattern turned one overnight batch into: - multiple stale-open issue closures with proof-rich comments - one blocked PR lane converted into a newly tracked CI blocker issue - clearer priority focus on the remaining true implementation lane
Related Skills
flywheel-closeout
Use this at the end of substantial repo or agent waves to convert evidence-backed lessons into proposed durable assets: skills, scripts, rules/checks, prompt templates, docs, or issues. Always use it when the user mentions flywheel, wave closeout, repo ecosystem learning, durable asset promotion, or learning-to-tools.
workspace-hub-overnight-plan-monitor
Monitor and reconcile workspace-hub overnight planning or implementation batches, including process status, result artifacts, issue/commit verification, and controlled failed-lane recovery.
verify-Codex-run-commit-vs-working-tree-before-closing
After a Codex implementation run, verify the claimed file set against the actual commit and working tree before treating the issue as fully complete.
blocker-reporting-outcome-validation
Pattern for closing issues where the deliverable is documented blockers rather than feature completion
overnight-worktree-verification-fallback
Verify overnight multi-worktree Codex batches when auto-sync, duplicate-lane convergence, and sandbox-blocked review create misleading local state or review provenance.
overnight-worktree-uv-warmup-and-log-path-guardrails
Prevent false stalls and missing-log failures in overnight Codex worktree batches by pre-warming uv environments, using exact log-path directory creation, and interpreting buffered logs correctly.
overnight-worktree-Codex-noop-recovery
Recover overnight Codex worktree batches that appear to succeed but produce no artifacts; harden rerun prompts and launch commands.
overnight-wave-pack-worktree-isolation
Safely launch overnight multi-terminal workspace-hub planning packs from isolated worktrees when the main checkout is dirty or prompts share planning/index files.
overnight-pre-plan-review-wave-artifact-drift
Run overnight planning-only waves for issues before status:plan-review, and reconcile cases where GitHub state advances but plan/review artifacts land in a sandbox or remote branch instead of the active local worktree.
overnight-planning-noop-run-salvage
Recover when unattended overnight Codex planning runs exit 0 but produce no required artifacts; salvage the wave by auditing existing plan state, generating missing summary artifacts manually, and preserving morning monitoring surfaces.
overnight-plan-wave-artifact-drift-reconciliation
Reconcile overnight planning waves when Codex workers move GitHub issues to status:plan-review but local artifacts are missing, split across sandbox worktrees, or only present on a pushed remote branch.
overnight-plan-artifact-placement-drift-reconciliation
Reconcile overnight planning waves where Codex workers advance GitHub issue state but the expected plan/review artifacts are missing from the designated external worktree because the worker wrote from a sandbox/in-repo worktree and pushed directly to the branch.