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.
Best use case
overnight-planning-noop-run-salvage is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
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.
Teams using overnight-planning-noop-run-salvage 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-planning-noop-run-salvage/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How overnight-planning-noop-run-salvage Compares
| Feature / Agent | overnight-planning-noop-run-salvage | 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?
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.
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 Planning No-Op Run Salvage
## When to use
Use this when an unattended overnight planning or review wave appears to have run successfully but did not actually produce the expected artifacts.
Typical signals:
- Codex background process exits with code 0
- stdout/stderr logs are empty or missing
- expected `docs/reports/...summary.md` or `scripts/review/results/...` files do not exist
- no plan files or issue comments were materially updated
This showed up in the 2026-04-22 workspace-hub tier-1 knowledge beef-up wave across 6 separate unattended Codex launches.
## Core lesson
`exit_code == 0` is not sufficient proof that unattended Codex accomplished the task.
For planning-only overnight waves, the real success condition is artifact creation.
If the required artifact is missing, treat the run as failed/no-op even if the process exited cleanly.
## Recovery workflow
1. **Treat the run as failed if required artifacts are absent**
- Do not report the lane as complete just because the process ended cleanly.
- Check for the exact expected artifacts first.
2. **Audit whether the core plan work already exists in the main repo**
- Search `docs/plans/` for the target issue plans.
- Search `scripts/review/results/` for existing review artifacts.
- Inspect `docs/plans/README.md` for missing index rows.
- Query live GitHub issue state so your salvage summary reflects reality, not stale prompts.
3. **Do only one hardened rerun, then stop**
- If the first unattended run no-op'd, one rerun is reasonable.
- Harden the rerun so the first mandatory action is writing a unique summary/result file.
- Use absolute prompt-file paths in the launcher.
- If that rerun also exits 0 with no artifact, stop rerunning. Treat the unattended pattern itself as unreliable for that wave.
4. **Salvage by generating the missing control-plane artifacts manually**
- If the plans already exist, do not recreate them blindly.
- Create the missing terminal summary/report artifacts yourself under `docs/reports/`.
- Summaries should capture:
- what exists already
- what was missing from the overnight run
- current blockers
- recommended morning execution order
5. **Repair discovery/index surfaces if needed**
- If the overnight wave was supposed to create plan index rows, add the missing `docs/plans/README.md` rows.
- Keep these updates grounded in actual on-disk artifacts and live issue state.
6. **If a monitor expects artifacts in isolated worktrees, copy the salvaged summaries there**
- When a morning monitor job is pointed at specific worktrees, copy the generated summary artifacts into those worktree paths so the monitor sees the expected outputs.
- This preserves operational continuity even though the original unattended workers no-op'd.
7. **Document the no-op pattern explicitly**
- In your final report, say the unattended run exited 0 but produced no durable outputs.
- Do not let future operators mistake the run for a success.
- If you attempted a hardened rerun and it also no-op'd, say that explicitly too; this justifies switching to manual salvage instead of a third unattended retry.
## Strong verification pattern
For each lane, verify these in order:
1. expected summary artifact exists
2. target plan files exist
3. review artifacts exist
4. GitHub issue state matches the summary narrative
If (1) is false but (2)/(3) are true, the lane likely needs salvage summaries, not fresh plan drafting.
## What this pattern is best for
- planning-only overnight waves
- repo-governance / routing / documentation waves
- multi-worktree Codex batches where each lane is expected to emit one result artifact
- morning runbooks that depend on deterministic summary files
## Pitfalls
- Do not trust empty or missing logs as the only signal; logs can be buffered or omitted.
- Do not rerun the same prompt indefinitely if multiple clean exits produce no artifacts.
- Do not overwrite existing good plans just because the overnight worker failed to summarize them.
- Do not leave the morning monitor pointed at nonexistent artifacts if you can salvage them manually.
## Reusable rule
For unattended planning waves, artifact existence is the contract.
No artifact = no success, regardless of process exit code.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.
external-drive-ingest-planning
Plan safe external-drive ingests into repo-aligned storage such as /mnt/ace: read-only mounts, manifests, staged rsync, dedupe-merge gates, GitHub issue traceability, and governance/execution split.
planning-lane-cross-review-permission-fallback
Handle overnight planning-only lanes where plan revision/editing works but real cross-provider review dispatch is permission-blocked.
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.
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-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.
live-state-aware-overnight-implementation-prompts
Design overnight implementation prompts that begin with a live repo/CI precheck so workers continue from partial progress instead of replaying stale handoffs.