What problem does it solve?
Adding a new column type to Sim's table system previously required dozens of scattered edits across switch statements and UI branches, each failing silently when missed. This Skill guides you through the registry-driven architecture so the compiler enumerates every required change and no consumer needs manual editing.
Core Features & Use Cases
- Compiler-Guided Registration: Add your type to the ColumnType union and let TypeScript errors point to the exact registry files requiring entries.
- Single-File Type Definition: Implement storage cast, coercion, validation, conversion compatibility, formatting, and filter operators in one file under apps/sim/lib/table/column-types/.
- Icon and Migration Conventions: Create a type-* icon matching family geometry conventions and add drizzle cell migrations when stored bytes change.
- Use Case: You want a new 'rating' column type for Sim tables. Follow the steps to pick a numeric storage shape, write the type file, register it in both client and server registries, and validate with type-check, grep leak detection, and the vitest suite.
Quick Start
Add a new table column type called rating to Sim following the add-column-type skill, starting by extending the ColumnType union and running the type checker.