closure-first-overnight-batch
Run a high-leverage overnight batch by clearing stale-open approved issues first, converting shared blockers into tracked issues, and reserving only one lane for true implementation.
Best use case
closure-first-overnight-batch is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Run a high-leverage overnight batch by clearing stale-open approved issues first, converting shared blockers into tracked issues, and reserving only one lane for true implementation.
Teams using closure-first-overnight-batch 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/closure-first-overnight-batch/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How closure-first-overnight-batch Compares
| Feature / Agent | closure-first-overnight-batch | 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?
Run a high-leverage overnight batch by clearing stale-open approved issues first, converting shared blockers into tracked issues, and reserving only one lane for true implementation.
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
# Closure-first overnight batch Use this when a repo has many open `status:plan-approved` issues, but live state may be stale and only some lanes are truly ready for implementation. ## When to use - Overnight batch with multiple Codex terminals/worktrees - Backlog contains several `status:plan-approved` issues - You suspect queue drift: some issues may already be implemented, others may really be blocked by shared CI/governance infrastructure - You want maximum morning impact, not maximum overnight token burn ## Core idea Do not spend the whole night implementing by default. Instead, split the batch into three types of lanes: 1. verify-close lanes for stale-open issues 2. one bounded PR-repair / blocker-diagnosis lane 3. one true implementation lane This often yields better morning outcomes than five implementation lanes, because it: - closes stale-open issues quickly - turns fuzzy branch failures into precise blocker issues - preserves one lane for genuine implementation progress ## Recommended lane mix For a 5-lane batch: - T1 verify-close stale-open issue A - T2 verify-close stale-open issue B - T3 verify-close stale-open issue C - T4 repair blocked PR / branch; if blocker is repo-wide, create a blocker issue and stop - T5 implement one highest-confidence approved issue in an isolated worktree ## Verify-close lane checklist Each verify-close lane should: 1. `git fetch origin --quiet` 2. confirm candidate implementation commit is ancestor of `origin/main` 3. confirm content parity for the main deliverable path(s), not just commit ancestry 4. inspect issue comments / review artifacts / acceptance criteria 5. map acceptance criteria to exact proof 6. write a local evidence report artifact 7. post a proof-rich GitHub closeout comment 8. close the issue if and only if the acceptance target is already satisfied Important lesson: - commit containment alone is not enough; also check content parity on `origin/main` - comment first, then close; do not rely on `gh issue close --comment` in race-prone situations ## Blocker-conversion lane checklist Use one lane for a live blocked PR/branch. Goal: - determine whether the branch is actually broken, or whether repo-wide CI/governance drift is the real blocker Process: 1. inspect failing checks / local repro path 2. separate branch-specific failures from repo-wide infra failures 3. if the blocker is outside the branch's owned paths, stop implementation work 4. write a blocker report artifact 5. create a new GitHub issue for the shared blocker 6. comment on the originally blocked issue/PR linking the blocker issue This keeps the queue truthful overnight and prevents random edits to the wrong branch. ## Implementation lane checklist Reserve one lane for a real approved implementation issue. Requirements: - clean isolated worktree from `origin/main` - local `.planning/plan-approved/<issue>.md` marker committed in that worktree before starting - explicit owned/read-only/forbidden paths - narrow TDD-first scope If push is blocked by shared hook/governance problems after local validation: - do not silently bypass unless explicit authorization exists - treat that as evidence for the blocker-conversion / landing-blocker stream - comment on the issue with exact blocker and next dependency ## What good morning output looks like By morning, the batch should ideally produce: - 2-3 stale-open issues closed with evidence - 1 new blocker issue for any shared CI/hook/governance problem discovered - 1 implementation branch advanced with real commits, or a precise blocker report ## Why this pattern works A drifted queue often contains three kinds of work that look identical from labels alone: - already-landed work - blocked work - truly executable work This batch pattern separates them early and spends tokens accordingly. ## Pitfalls - Do not trust `status:plan-approved` labels alone; do live eligibility checks. - Do not assume a blocked PR needs branch edits; first test whether the real failure is repo-wide. - Do not run all lanes as implementation lanes when file overlap or shared governance hooks make that unsafe. - Do not close from commit ancestry alone; verify content parity and acceptance coverage.
Related Skills
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.
batch-syntax-repair-from-injection-errors
Detect and fix systematic syntax errors caused by line-injection scripts that split multiline constructs
batch-syntax-fix-with-regex-line-based-fallback
Fix repeated syntax errors across many files using regex, then fall back to line-based parsing when regex fails
batch-syntax-fix-regex-iteration
Iteratively fix widespread syntax errors across many files using regex refinement when initial patterns fail
batch-syntax-fix-pattern
Identify and repair cascading import/syntax errors across multiple files using regex-based line-scanning and verification
batch-regex-fix-import-syntax
Detect and fix mid-import blank-line syntax breaks across multiple files using line-based regex
workspace-hub-mission-contract-first-packet
Plan the first repo-mission canonicalization packet for the workspace ecosystem by reusing the existing control-plane issue, locking Wave-1 scope, and making review criteria deterministic.
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-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.