# Oops

> Infrastructure fix for broken builds, failed tests, stale state, and environment drift. Covers both user-project and Noodle-internal failures. Triggers when builds break, tests fail, state is stale, or environment drifts. Use on 'oops', 'fix the build', 'tests are failing', 'something broke', 'broken build'.

- Skill: `poteto/oops` (Agent Skill)
- Install (CLI): `npx skillmds add poteto/oops`
- Raw SKILL.md: https://api.skillmd.com/api/skills/poteto/oops/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: poteto (https://skillmd.com/u/poteto)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/poteto/oops

---


# Oops

Fix infrastructure failures. Applies to both user-project code and Noodle-internal state.

## Fix flow

**Reproduce -> Diagnose -> Fix -> Verify -> Commit**

### 1. Reproduce

Run the failing command. Capture exact error output. If intermittent, run multiple times to confirm.

### 2. Diagnose

**Suspect state before code.** Check in this order:

1. **Noodle state** — `.noodle/` files, queue consistency, config validity
2. **Environment** — Go version, missing deps, stale caches, tmux session health
3. **Config** — `.noodle.toml` (project root), `.agents/skills/` structure, `brain/` integrity
4. **Persistent files** — lock files, temp files, incomplete writes
5. **Code** — only after ruling out state and environment

### Principles

- [[fix-root-causes]]
- [[prove-it-works]]

Noodle-internal checklist:
- `.noodle/` state files: corrupt, stale, or inconsistent?
- Queue state: orphaned tasks, stuck sessions?
- Config: valid TOML, referenced paths exist?
- tmux sessions: zombie processes, detached sessions?

### 3. Fix

Trace to root cause. Never paper over symptoms.

After fixing, grep for the same pattern elsewhere — the bug may exist in multiple locations.

### 4. Verify

Run the original failing command. Confirm it passes. Run related tests to check for regressions.

### 5. Commit

Commit message describes the root cause, not symptoms.

```
# Good: fix(queue): stale lock file prevented task dequeue after crash
# Bad:  fix: tasks not running
```

