Claude-skill-registry dbc-schema
Generate Effect Schema definitions for WoW DBC tables. Use when adding new game data tables or updating existing schemas.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/dbc-schema" ~/.claude/skills/majiayu000-claude-skill-registry-dbc-schema && rm -rf "$T"
manifest:
skills/data/dbc-schema/SKILL.mdsource content
DBC Schema Generator
Generate Effect Schema definitions for WoW database tables.
Schema Location
packages/wowlab-core/src/internal/schemas/dbc/
Schema Template
// {TableName}Schema.ts import * as Schema from "effect/Schema"; export class {TableName} extends Schema.Class<{TableName}>("{TableName}")({ ID: Schema.Number, // Other fields - preserve CSV column order! Name: Schema.String, Description: Schema.String, Flags: Schema.Number, // ... }) {} export const {TableName}Schema = Schema.Array({TableName});
Important Rules
- Preserve CSV column order - perfectionist sorting is disabled for DBC schemas
- Use Schema primitives -
,Schema.Number
,Schema.StringSchema.Boolean - Nullable fields - Use
for optional numeric fieldsSchema.NullOr(Schema.Number) - Arrays - Use
for array columnsSchema.Array(Schema.Number)
Column Type Mapping
| CSV Type | Effect Schema |
|---|---|
| int | |
| float | |
| string | |
| localized string | |
| bool | |
| foreign key | (reference to another table ID) |
Registration
After creating schema, register in
DbcTableRegistry.ts:
import { {TableName} } from "./internal/schemas/dbc/{TableName}Schema.js"; // Add to registry type export type DbcTableName = | "Spell" | "{TableName}" // Add here | ...; // Add to row type mapping export type DbcRow<T extends DbcTableName> = T extends "{TableName}" ? {TableName} : ...;
Instructions
- Get CSV headers from DBC table
- Map columns to Schema types
- Generate schema class (preserve column order!)
- Register in DbcTableRegistry
- Re-export from Schemas.ts if public API