What problem does it solve? Domain concepts like Email, CPF, Money, and Address are defined by their attributes rather than identity, and modeling them as plain primitives leads to invalid states, duplicated validation, and broken immutability. This Skill provides language-specific playbooks for creating self-validating, immutable value objects in both TypeScript and Go backends. ## Core Features & Use Cases - Language dispatch hub: Routes to the TypeScript or Go playbook based on file extension, with per-language registries of mandatory patterns and bad practices. - TypeScript playbook: Covers schema-driven base classes (BasePrimitiveValueObject, BaseValueObject), Zod schema validation, declaration merging, .input() schema reuse, and z.instance() composition in entities. - Go playbook: Covers private-field structs, New<Name> constructors returning (T, error), the Value/String/Equals/IsZero accessor quartet, and composite VOs using go-playground/validator struct tags. - Use Case: When adding a CRM value object to a doctor bounded context, the Skill provides the exact schema, class shape, error-code casting, and checklist so the VO validates itself at construction and integrates with entities and repositories. ## Quick Start Ask the agent to create a value object for a domain concept such as Email or Money in the target backend, and it will load the matching TypeScript or Go playbook and apply its patterns.