create

Create new taste models or update existing ones.

tl;dr The create tool 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

ParameterTypeRequiredDescription
tasteNamestringYesName for the taste model
tasteDefinitionobjectFor createFull taste model definition
updatebooleanFor updateSet true to update existing model
patchesarrayFor updatePatch operations to apply
allowDeletesbooleanNoRequired to allow remove operations
deleteConfirmationstringNoConfirmation 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

PathWhat it targets
/principles/<token>Add or replace entire token
/principles/<token>/$valueModify 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" }] }

Better prototypes with less prompting

Start creating