What problem does it solve? Umbraco 17 has behaviors that fail silently — no errors, no warnings, no logs — such as an unset toggle property being indistinguishable from an explicit false, an index rebuild reporting success with zero documents, or a configuration key being silently refused. These facts cost hours to diagnose because the symptom surfaces far from the cause. This Skill supplies version-tagged, provenance-tracked facts so you can recognize these traps immediately when writing code, authoring tests, or debugging. ## Core Features & Use Cases - Management API facts: Token expiry at 299 seconds, flat property arrays instead of nested groups, Playwright test-helper quirks like getByName() returning false instead of null, and the intentional STORAGE_STAGE_PATH typo. - Content model facts: Reserved property aliases like level, the correct dropdown UI alias, HasValue guards for default-on toggles, and block editor palette membership rules. - AI and Search facts: Allow-listed $-referenced configuration keys, zero-document index rebuilds that return 200, secret placeholder handling, and per-environment vector index rebuilds. - Use Case: While writing an E2E test against the Umbraco Management API, your assertion expect(x).toBeNull() fails on a missing entity. Consulting this Skill reveals the test-helper returns false on a miss, so you switch to .toBeFalsy() and avoid a test that would silently pass against nonexistent entities. ## Quick Start Ask the assistant to check your Umbraco 17 code or test against the starter facts for silent failure patterns before committing.