with one click
vani-spa-setup
Create a minimal Vani SPA root with explicit updates
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Create a minimal Vani SPA root with explicit updates
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | vani-spa-setup |
| description | Create a minimal Vani SPA root with explicit updates |
Instructions for the agent to scaffold a basic Vani SPA using explicit updates.
Use this when a user needs a new Vani SPA root, a simple component, or a quick demo that mounts to a DOM element.
component that returns a render function.handle.update() from event handlers.renderToDOM(App(), root) (arrays also work).app)App)true)Example 1 usage pattern:
Create a Counter component and mount it to #app with explicit updates.
Example 2 usage pattern:
Create an App component that composes child components and mount it to a custom root id.
Example output:
Created: src/app.ts
Updated: src/main.ts
Notes: Uses handle.update() for all state changes.
Provide a short explanation of how the root is mounted, list the files touched, and mention where explicit updates occur.
Create a tiny global store with explicit subscriptions
Updates Vani SPA app UI in src/spa-app, especially the landing page/homepage and landing examples. Use when the user mentions Vani SPA app, src/spa-app, landing page/homepage, or landing examples.
Mount Vani components inside existing apps or DOM islands
Build scalable lists with keyed rows and per-item updates
Schedule explicit updates with microtasks and transitions
Implement SSR, hydration, and selective activation with Vani