What problem does it solve? Writing TypeScript under strict compiler settings like noUncheckedIndexedAccess, exactOptionalPropertyTypes, and verbatimModuleSyntax produces recurring judgment calls — unknown vs any, satisfies vs as, interface vs type, where constants live — that this Skill resolves with concrete, repository-grounded rules. ## Core Features & Use Cases - Type-system judgment: Narrow unknown at boundaries, prefer satisfies over as, use type guards for runtime narrowing, and compose object types with interface extends instead of intersections. - Strict-flag guidance: Handle indexed access returning T | undefined, distinguish absent properties from explicit undefined, and resolve noPropertyAccessFromIndexSignature conflicts without weakening compiler options. - Module and zone discipline: Keep constants next to their readers, publish zone surfaces through a single named re-export file, respect import boundaries between src/core, src/app, src/server, and src/ai, and never use enum or export *. - Use Case: When adding a new exported generic function under src/, apply the rule to annotate the return type only if it is provably no wider than inference, keep the generic narrow, and cover the signature with a compile-time assertion. ## Quick Start Ask the assistant to review or write a TypeScript module under src/ applying the writing-typescript rules for strict flags, imports, and zone boundaries.