What problem does it solve?
This Skill addresses the common issue of type systems being treated as decorative annotations rather than effective guardrails, which leads to silent bugs from primitive parameter swaps, unvalidated untrusted data crossing trust boundaries, inconsistent strictness settings, and drifting duplicated type definitions that cause runtime failures and maintenance overhead.
Core Features & Use Cases
- Uniform Type Strictness Enforcement: Guides teams to adopt a single project-wide type strictness level with documented, dated exceptions for mid-migration codebases, eliminating inconsistent settings that erode type system value.
- Public API Soundness Guarantees: Eliminates escape hatches like
any or unconstrained generics in exported signatures, replaces raw primitive parameters with refined domain types (e.g., UserId instead of string), and uses sum types to make illegal states unrepresentable.
- Trust Boundary Validation: Implements runtime validation exactly once at system boundaries (HTTP ingress, message queues, file I/O) to refine untrusted input into typed shapes, preventing unvalidated data from flowing into domain code.
- Use Case: For a polyglot team building a TypeScript frontend, Python backend, and Rust microservice, use this Skill to audit all public API signatures for unsafe casts, add refined types for user IDs and currency values, and set up CI checks to enforce strict type settings and flag type system bypasses like implicit
any or bare dict returns.
Quick Start
Use the types skill to audit your project's public API signatures for unsafe type escape hatches, replace raw primitive parameters with refined domain types, and enforce uniform strict type checking across all project modules.