Claude-skill-registry-data maker
Generate .NET Core data API code from model definitions using the Maker XML specification and CLI. Use when users need to: (1) Create Maker XML models from JSON objects, SQL scripts, or database schemas, (2) Generate .NET Core CRUD API endpoints from Maker XML, (3) Understand or validate Maker XML model definitions, or (4) Work with the Maker CLI tool for code generation.
git clone https://github.com/majiayu000/claude-skill-registry-data
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry-data "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/maker" ~/.claude/skills/majiayu000-claude-skill-registry-data-maker && rm -rf "$T"
data/maker/SKILL.mdMaker - .NET Core Data API Code Generation
Overview
Maker transforms XML model definitions into complete .NET Core data API endpoints with full CRUD functionality. This skill helps generate Maker XML models from various sources and understand the Maker CLI workflow.
Workflow Decision Tree
Choose your workflow based on the starting point:
Starting from JSON or data model? → Use the From JSON Workflow
Starting from SQL CREATE TABLE script? → Use the From SQL Workflow
Starting from existing Maker XML? → Use the Understanding Maker XML
Need to generate code from Maker XML? → Use the CLI Generation Workflow
From JSON or Data Model
When converting JSON objects or data models to Maker XML:
- Read the conversion prompt: Load
to understand the conversion guidelinesreferences/Prompt_to_create_Maker_XML_from_json_model.md - Read the specification: Load
for type mappings and patternsreferences/Maker_XML_specification.md - Apply the conversion logic:
- Infer relationships from field names ending in
,Id
, orID_id - Map JSON types to Maker column types (string → text/name/label, boolean → flag, etc.)
- Suggest property tables for type/status/state fields
- Add appropriate filters and auto-population attributes
- Follow Maker naming conventions (IsActive, not Active)
- Infer relationships from field names ending in
- Generate three artifacts:
- Maker XML
definition<Table> - Corresponding
definition<View> - Property table initialization SQL (if applicable)
- Maker XML
From SQL CREATE TABLE Script
When converting SQL CREATE TABLE scripts to Maker XML:
- Read the conversion prompt: Load
for SQL-specific guidelinesreferences/Prompt_to_create_Maker_XML_from_sql_script.md - Read the specification: Load
for type mappingsreferences/Maker_XML_specification.md - Apply the conversion logic:
- Map SQL types to Maker column types
- Identify foreign key relationships from column names
- Improve naming where SQL uses poor conventions
- Suggest virtual columns for views
- Add XML comments for assumptions or complex mappings
- Generate three artifacts:
- Maker XML
definition<Table> - Corresponding
definition<View> - Property table initialization SQL (if applicable)
- Maker XML
Understanding Maker XML
When working with existing Maker XML or needing to understand the specification:
Read the specification: Load
references/Maker_XML_specification.md to understand:
- Column types (identity, text, name, label, note, integer, decimal, flag, datetime, property, uniqueid)
- Table attributes (type, name, description, alias, view, schema, search)
- View definitions and virtual columns
- Property tables and relational patterns
- Auto-population and filtering rules
- Naming conventions and best practices
CLI Generation Workflow
When generating code from Maker XML models:
Read the CLI documentation: Load
references/MakerCLI.md to understand:
- Command-line syntax and arguments
- Validation-only mode for model verification
- Publishing workflow for deployment
- File placement and integration requirements
Standard generation command:
MakerCLI --modelname=[Name] --publish=false --validate=true
Validation-only mode:
MakerCLI --modelname=[Name] --validate=only
This performs model validation without generating files, useful for verifying XML before generation.
Type Mapping Quick Reference
| Source Type | Maker Type | Notes |
|---|---|---|
, , | or | identity for PKs, uniqueid for tokens |
(short) | , , or | Based on context/length |
(medium) | or | Descriptions |
(long) | or | Large text, JSON |
| | Ensure Is/Has/Want/Can prefix |
, | or | Based on precision needs |
, | | Add auto/update attributes as needed |
| Enum/lookup fields | | Create property table |
Common Patterns
Foreign Key Relationships
When a field ends with
Id, ID, or _id:
<Column type="integer" name="SiteID" filter="yes"/>
Property Tables (Type/Status/State)
For enumeration fields:
<Column type="property" name="Type"> <Property name="TypeID" table="Type"/> </Column>
With initialization SQL:
INSERT INTO Type (Code, Name, Description) VALUES ('standard', 'Standard', 'Standard type'), ('premium', 'Premium', 'Premium type');
Auto-Populated Timestamps
<Column type="datetime" name="Created" filter="no" auto="yes" update="no"/> <Column type="datetime" name="Updated" filter="no" auto="yes" update="yes"/>
Boolean Flags with Correct Naming
<Column type="flag" name="IsActive"/> <!-- Correct --> <!-- Not: <Column type="flag" name="Active"/> -->
References
This skill includes comprehensive reference documentation:
- Maker_XML_specification.md: Complete Maker XML specification with all column types, attributes, and patterns
- MakerCLI.md: CLI usage, commands, and workflow documentation
- Prompt_to_create_Maker_XML_from_json_model.md: JSON-to-XML conversion guidelines
- Prompt_to_create_Maker_XML_from_sql_script.md: SQL-to-XML conversion guidelines
Load these references as needed based on the specific conversion or generation task.