Skip to main content

krystal-data-modelling

Stars15
Forks24
UpdatedJuly 9, 2026 at 07:32

Defines structured data models — request/response payloads, nested value objects, and enums — as Krystal `@ModelRoot` interfaces/enums (`com.flipkart.krystal.model.**` in krystal-common) in the Krystal framework (flipkart-incubator/Krystal). Covers `@ModelRoot` (type=REQUEST/RESPONSE, pure, builderExtendsModelRoot), field annotations (`@SerialId`, `@IfAbsent`, `@Nullable`/`Optional`), `@SupportedModelProtocol` (PlainJavaObject/Json/Protobuf3/Fory) and the generated `_Immut`/`_ImmutPojo`/`_ImmutJson`/`_ImmutProto`/`_ImmutFory` builders, enum model roots (`EnumModel`, `UNKNOWN`-first rule), model purity, and nested-model/collection constraints. Use whenever the user wants to define/change a data model, DTO, request or response shape, a nested/enum field type, or asks "what protocols/serde does this model support" in a Krystal-based repo — even if they just say "add a field to X" or "model this payload" without naming `@ModelRoot`. Not for Vajram business logic (`_Inputs`/`_InternalFacets`/`@Dependency`/`@Resolv

Installation

Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.

File Explorer
4 files
SKILL.md
readonly