What problem does it solve? TypeScript developers often lose narrow literal types when using colon type annotations, causing inference issues, missed typos in object keys, and broken autocomplete. This Skill clarifies when to use satisfies, colon annotations, as const, or plain inference so values are validated without widening their types. ## Core Features & Use Cases - Annotation Decision Guidance: Explains the difference between : Type (type wins), satisfies Type (value wins), as Type (escape hatch), and plain inference, with a rule-of-thumb table. - Object Validation with Preserved Literals: Shows how satisfies catches typos and missing keys in records while keeping each property's narrow inferred type. - Real-World Patterns: Covers as const satisfies for immutable config maps, exhaustive Record checks over union types, event handler maps, and locale/config validation. - Use Case: When defining a route map or status label record, apply as const satisfies Record<Status, string> so TypeScript errors if a key is missing while each value keeps its literal type. ## Quick Start Ask the AI to review your TypeScript object definitions and decide whether satisfies, a colon annotation, or as const satisfies is the right choice for preserving literal types.