What problem does it solve? Testing .NET BackgroundService loops with FakeTimeProvider is full of silent traps: the first Advance is reliably lost, timer callbacks fire inline while continuations land on the threadpool, and tests can pass vacuously by counting side effects instead of loop invocations. This Skill encodes empirically verified semantics so hosted-service tests honestly cover the loop, interval, dedup, and DI-registration paths. ## Core Features & Use Cases - Verified FakeTimeProvider semantics: Documents lost-first-Advance behavior, inline-vs-threadpool callback threading, and PeriodicTimer double-fire behavior measured on .NET 10. - Test-honesty checklist: Detects vacuous gates, negative-only assertions, untested SQL surfaces, and missing DI registration smoke tests (the AddHostedService triple). - Empirical probe script: Runs a scratch console app that prints thread IDs and counters around StartAsync/Advance to settle timing questions in about two minutes. - Use Case: When reviewing a PR that adds an idle-watchdog BackgroundService with a 2-second timeout, use this Skill to catch that a fixed 60-second tick makes the shutdown gate unsatisfiable and derive the correct tick from the timeout. ## Quick Start Review my BackgroundService tests that use FakeTimeProvider and tell me whether the Advance assertions and DI registration tests are honest.