What problem does it solve? Kubernetes reconcilers that block, lose state across restarts, or repeat side effects cause stalled controllers and multi-hour outages. This Skill codifies the eight invariants every reconciler in this repository must follow and ships a checker that verifies them by following the call graph out of Reconcile. ## Core Features & Use Cases - Call-graph blocking detection: scripts/check-reconcilers.py follows calls out of Reconcile to find time.Sleep, time.After, polling, and WaitGroup waits that a grep cannot see, plus result-and-error returns, fatal exits, status-via-Update writes, and finalizers that are never removed. - State machine guidance: references/state-machines.md explains phase/step modeling with atlas-lib/statemachine, per-action graphs via MultiConfig, snapshot persistence with deadlines, and how to convert a hand-rolled switch. - Concurrency rules: references/concurrency.md covers generation, observedGeneration, resourceVersion conflict retries, informer cache staleness, lock-field mutual exclusion, and per-cluster keying traps. - Use Case: While writing or reviewing a StorageNodeOps reconciler, run the checker with --changed to confirm no blocking call or missing finalizer removal was introduced, then consult the references before adding a new phase. ## Quick Start Ask the AI to review the reconciler you just wrote against the reconciler-patterns invariants and run the checker on the changed controller files.