dxkit-schemalisted
Install: claude install-skill vyuh-labs/dxkit
# dxkit-schema
This skill owns the **model-schema drift gate**: dxkit statically extracts every declared data model (ORM entities, tagged structs, spec schemas) and fails a PR that changes one in a breaking way — a removed field, a changed type, an optional field made required, a removed model. Additive changes surface as warnings or information, never blocks.
It is **thin orchestration over the deterministic CLI.** It never re-implements extraction or diffing: it runs `schema` / `schema diff` / `guardrail check`, reads their structured output, and supplies judgment + code edits. The determinism stays in the CLI; the agent supplies the reasoning.
**Language coverage.** Recognition is marker-based per language pack — precision over recall. TypeScript/JavaScript: decorator-marked entity classes (TypeORM/MikroORM `@Entity`, sequelize-typescript `@Table`, NestJS-mongoose `@Schema`, type-graphql `@ObjectType`/`@InputType`) plus `BaseEntity` heritage; field facts from the type annotations. Python: Django `models.Model`, SQLAlchemy `Base`/`DeclarativeBase`, pydantic `BaseModel`, SQLModel, and `@dataclass`; Django/SQLAlchemy field constructors supply types and `null=`/`nullable=` optionality. Go: a struct tagged `json:`/`gorm:`/`db:`/`bson:` IS a wire contract; the tag supplies the wire name, `omitempty` and pointer types read as optional. Java: JPA `@Entity`/`@Table`/`@Embeddable`/`@MappedSuperclass` classes; `@Column(nullable = …)` supplies optionality and `name = …` the wire na