We use anonymous analytics to improve VanillaSky. No personal data is collected. Learn more

    Templates & the registry

    Every scene template, motion primitive, and shared lib ships as a shadcn-conformant registry item — with full source. Agents read the index to compose; developers can eject any item into their own project. Browse the catalog visually at /templates.

    Three layers

    LayerTypeWhat it is
    Templatesregistry:blockFinished scenes — the default path. Pick one, set variables, render.
    Primitivesregistry:uiThe building blocks templates are made of — cards, device chrome, counters, charts. Compose them when no template fits.
    Libsregistry:libShared vocabulary: motion curves (animation-utils), text fitting (text-utils), and the canonical brand tokens (tokens).

    The index

    The agent-facing catalog lives at vanillasky.ai/llms-components.txt: template ids, variables, durations, use-when guidance, the text archetypes, the style presets, and the registry:ui primitives with prop schemas. The skill reads it before composing — never guess template names or variables; the validator rejects ids and variables it doesn't know.

    Per-item JSON

    Full detail for any item is at https://vanillasky.ai/r/<id>.json — a shadcn-compatible registry item carrying:

    • meta.vanillasky.variableSchema — the complete variable schema with types, options, defaults, and required flags (plus defaultVariables, category, durations, and use-when guidance).
    • files[0].content — the item's full source, plus its dependency closure, so you can read or eject any of it without installing anything.
    bash
    curl -s https://vanillasky.ai/r/bigNumber.json \
      | jq '.meta.vanillasky.variableSchema'

    Ejecting into your own project

    To install an item's source into a React project with the shadcn CLI, map the namespace once in your project's components.json:

    components.json
    { "registries": { "@vanillasky": "https://vanillasky.ai/r/{name}.json" } }
    bash
    npx shadcn add @vanillasky/bigNumber      # a template
    npx shadcn add @vanillasky/countUpNumber  # a primitive

    Without that registries entry the @vanillasky namespace does not resolve — reading the item JSON directly needs no setup at all.

    Scope note: npx shadcn add is for building your own app around these components — it does not change what the vanillasky CLI renders. To change a scene in a video, write your own scene body as componentSource on a scene whose templateId starts custom_, using the registry item's source as the reference. vanillasky scope prints the exact globals available to a custom scene, and vanillasky validate enforces the custom-scene contract so a bad scene fails loudly instead of rendering blank.

    Offline snapshot

    The public skills repo ships the full registry snapshot in its registry/ directory: llms-components.txt is the index, and registry/r/<id>.json files are the offline equivalent of the network path — everything it provides, including template source for ejecting. If the live index is unreachable and no local copy exists, the skill says so and stops rather than inventing template names.