create
Create new taste models or update existing ones.
tl;dr The
createtool lets you create new taste models or update existing ones. Build custom design systems from scratch or modify tokens incrementally.
What it does
The create tool:
- Creates new private taste models from a definition
- Updates existing taste models with patch operations
- Validates your taste model against the required token schema
Creating and updating taste models requires a Popmelt subscription.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
tasteName | string | Yes | Name for the taste model |
tasteDefinition | object | For create | Full taste model definition |
update | boolean | For update | Set true to update existing model |
patches | array | For update | Patch operations to apply |
allowDeletes | boolean | No | Required to allow remove operations |
deleteConfirmation | string | No | Confirmation string for destructive ops |
What you get back
Confirmation of success, the taste model name and version, and validation results. If validation fails, you'll see which required tokens are missing.
Creating a taste model
A taste model needs a name, description, imprint (visual identity summary), and principles (design tokens). The create tool validates that all required tokens are present.
create { tasteName: "My Model", tasteDefinition: { name, description, type, version, imprint, principles, components } }
See Creating Taste Models for full examples.
Updating a taste model
Use patch operations to modify existing taste models without redefining everything:
Replace a token: create { tasteName: "My Model", update: true, patches: [{ "op": "replace", "path": "/principles/primary/$value", "value": "oklch(0.7 0.2 250)" }] }
Add a token: create { tasteName: "My Model", update: true, patches: [{ "op": "add", "path": "/principles/chart-1", "value": { "$type": "color", "$value": "oklch(0.6 0.2 30)" } }] }
Remove a token: (requires explicit permission) create { tasteName: "My Model", update: true, allowDeletes: true, patches: [{ "op": "remove", "path": "/principles/chart-5" }] }
Common patch paths
| Path | What it targets |
|---|---|
/principles/<token> | Add or replace entire token |
/principles/<token>/$value | Modify token value only |
/components/<name> | Add or replace component |
/components/<name>/$value/<state>/<prop> | Modify component property |
/imprint/<field> | Update imprint metadata |
Required tokens
Your taste model must include these semantic tokens to be valid:
Core surfaces: background, foreground, card, card-foreground
Brand & interaction: primary, primary-foreground, secondary, secondary-foreground, accent, accent-foreground, muted, muted-foreground, destructive, destructive-foreground
Borders & focus: border, input, ring
Radius: radius
The create tool validates these and tells you which tokens are missing.
Common questions
Can I create from a sample?
Yes. Run sample { url: "https://example.com" }, then ask your AI to create a taste model from those tokens.
How do I fork a public taste model?
Fetch it with use { type: "tasteModel", name: "Melt" }, then create your version with a new name.
Can I rename a taste model?
Update the name via patch: create { tasteName: "Old Name", update: true, patches: [{ "op": "replace", "path": "/name", "value": "New Name" }] }
Related
connect- Initialize session and set active modellist- Browse available taste modelsuse- Fetch full taste model or patternsample- Extract tokens from a websitesearch- Search the UI pattern library- Principles - Design token concept
- Creating Taste Models - Full guide
Better prototypes with less prompting
Start creating