python-data-shapes
Installation
SKILL.md
Python Data Shapes
Use this when the question is which container should carry a piece of domain data and how it should cross wire boundaries.
Working stance
- Pick the lightest container that carries the invariants you need.
- Domain objects belong in immutable, slotted containers; wire payloads belong in validated schema types; dictionaries belong only at serialization boundaries.
- Treat construction as the only place where invariants are checked; trust the type elsewhere.
- For JSON/MessagePack/YAML/TOML, parse to a schema type at the
boundary and never let the raw
dictleak inward.