What problem does it solve? Python type annotations are easy to write but hard to get right: incorrect variance, broken overloads, and annotations that pass a checker yet fail at runtime are common. This Skill provides a disciplined workflow for designing, reviewing, debugging, and testing static type contracts so that Protocols, generics, TypedDicts, and narrowing predicates behave correctly under mypy or Pyright and at runtime. ## Core Features & Use Cases - Type contract design: Choose between nominal classes, structural Protocols, TypedDicts, unions, and generic parameters based on runtime semantics, with explicit variance and mutability boundaries. - Evaluated recipes: Anchored patterns for structural reader Protocols, ParamSpec decorators that preserve wrapped signatures, and TypeIs narrowing of unknown mappings to precise TypedDicts, each paired with a verification recipe. - Verification matrix: Run mypy or Pyright in strict mode plus runtime tests covering empty, malformed, and failure inputs, with failure classification routing before any code change. - Use Case: When a decorator silently erases a function's signature, apply the ParamSpec recipe to preserve parameter types through the wrapper, then verify with inspect.signature and a strict mypy run. ## Quick Start Ask the assistant to design or review the type annotations for your Python function, Protocol, or decorator and verify them with mypy or Pyright.