plugins/lavish/agent/skills/lavish/SKILL.md
Turn complex or visual agent responses into rich, reviewable HTML artifacts the user can annotate and send feedback on, using the lavish-axi CLI. Use when about to give a plan, comparison, diagram, table, code diff, report, or anything easier to grasp visually than as prose.
npx skillsauth add pleaseai/claude-code-plugins plugins/lavish/agent/skills/lavishInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Lavish Editor helps agents turn rich HTML artifacts into collaborative human review surfaces. Whenever you are about to give user a complex response that will be easier to understand via a rich / interactive page, consider using Lavish Editor. First generate an interactive HTML artifact according to user request, then run npx -y lavish-axi <html-file> so the user can visually review it, annotate elements or selected text, queue prompts, and send feedback back through npx -y lavish-axi poll.
You do not need lavish-axi installed globally - invoke it with npx -y lavish-axi <html-file>.
If lavish-axi output shows a follow-up command starting with lavish-axi, run it as npx -y lavish-axi ... instead.
$ARGUMENTS
If the request above is non-empty, the user invoked /lavish explicitly - build an HTML artifact for that request now, following the workflow below.
If it is empty, infer what to visualize from the conversation.
Use lavish-axi when the user asks for a visual artifact, HTML explainer, interactive prototype, review surface, product or technical plan, comparison, report, or browser-based feedback loop
.lavish/<name>.html in the working directory).npx -y lavish-axi <html-file> to open or resume a review session in the browser.npx -y lavish-axi poll <html-file> to long-poll for the user's annotations, queued prompts, and browser-reported layout_warnings.
The poll stays silent until the user acts or the real browser reports fresh layout warnings - leave it running, never kill it.
If your harness limits how long a foreground command may run, run the poll as a background task; if it gets killed or times out anyway, just re-run it - queued feedback is never lost.layout_warnings, follow the returned next_step: fix and re-check fresh error-severity findings, but proceed with a note instead of looping when every current warning is persistent or low-severity.--agent-reply "<message>" to reply in the browser and keep the loop going.npx -y lavish-axi end <html-file> when the review is finished.npx -y lavish-axi <html-file> refuses to reopen it and says so - only pass --reopen when the user asks for further review or something genuinely important needs their visual attention. Otherwise deliver remaining updates directly in this conversation.Run npx -y lavish-axi playbook <id> for focused, detailed guidance on any of these.
One artifact often combines several playbooks (for example a plan that includes a comparison and a diagram), so MUST open each matching playbook before writing HTML.
For flows, architecture, state, or sequence diagrams, do not hand-build boxes-and-arrows from div/flexbox; open the diagram playbook and use Mermaid unless SVG is needed for richly annotated nodes.
diagram - Map relationships, flows, state, and architecturetable - Turn dense records into scan-friendly review surfacescomparison - Show options, tradeoffs, and current vs target behaviorplan - Explain a product or technical plan before implementationcode - Render source code, code files, patches, PR diffs, and before/after code inside Lavish artifactsinput - Must be used when the agent needs to collect user input on decisions, choices, preferences, triage, scope, or other structured feedback from within the artifactslides - Create a deliberate presentation when slides are requestednpx -y lavish-axi <html-file> to open or resume a Lavish Editor session. If the user explicitly ended the session from the browser, this refuses to reopen it and explains why instead of reopening uninvited - pass --reopen only when the user asks for further review or something important needs their visual attention.lavish// to those asset paths - root paths won't worknpx -y lavish-axi poll <html-file> to wait for user feedback or browser-reported layout_warnings. It long-polls and stays silent until the user sends feedback, ends the session, or the real browser reports fresh layout_warnings, so leave it running - never kill it. Fix and re-check fresh error-severity layout_warnings before involving the human; if the poll says every current warning is persistent or low-severity, proceed with a note instead of looping. If your harness limits how long a foreground command may run, run the poll as a background task; if it gets killed or times out anyway, just re-run it - queued feedback is never lost. When it reports the session ended, stop polling and do not reopen it uninvited - deliver remaining updates in this conversation insteadnpx -y lavish-axi end <html-file> to end a session as the agent - ending it this way still allows a plain reopen later. When the user ends it from the browser instead, a later npx -y lavish-axi <html-file> refuses to reopen it without --reopennpx -y lavish-axi export <html-file> [--out <path>] to write a portable copy of the artifact - one HTML file with its LOCAL assets inlined - so it opens with no Lavish server and no sibling files. Remote CDN/font references are left as links, so it needs network to render those. Users can also export from the browser chrome's overflow menunpx -y lavish-axi share <html-file> [--password <pw>] [--token <t>] to publish the artifact on ht-ml.app (https://ht-ml.app), a third-party hosting service not part of Lavish, and get back a visitable URL. Shares are PUBLIC by default, so anyone with the link can open them. Pass --password to publish a PRIVATE password-protected page; viewers must supply the password to view. Local assets are inlined; remote refs load over the network. It returns the url plus a secret update_key for managing the page later. Use --token or LAVISH_AXI_HTML_APP_TOKEN only when you have an optional bearer token; it is never required. Users can also publish from the browser chrome's overflow menunpx -y lavish-axi stop to shut down the background server (it also self-stops when idle or after the last session ends with nothing connected)npx -y lavish-axi playbook <playbook_id> for focused artifact guidance. One artifact often combines several playbooks (for example a plan that includes a comparison and a diagram), so MUST open each matching playbook before writing HTML.npx -y lavish-axi design for a content-to-playbook router, a copy-pasteable CDN snippet, a Mermaid CDN snippet/init for diagrams, and the DaisyUI component reference, and prefer the Tailwind/DaisyUI CDN snippet over hand-writing styles unless explicitly instructed otherwise by the user. When you deliver the artifact, state which of the three design sources you used and why.tools
Creates durable, resumable workflows using Vercel's Workflow SDK. Use when building workflows that need to survive restarts, pause for external events, retry on failure, or coordinate multi-step operations over time. Triggers on mentions of "workflow", "durable functions", "resumable", "workflow sdk", "queue", "event", "push", "subscribe", or step-based orchestration.
tools
Install and configure Vercel Workflow SDK before it exists in node_modules. Use when the user asks to "install workflow", "set up workflow", "add durable workflows", "configure workflow sdk", or "init workflow" for Next.js, Express, Hono, Fastify, NestJS, Nitro, Nuxt, Astro, SvelteKit, or Vite.
tools
Migrates Temporal, Inngest, Trigger.dev, and AWS Step Functions workflows to the Workflow SDK. Use when porting Activities, Workers, Signals, step.run(), step.waitForEvent(), Trigger.dev tasks / wait.forToken / triggerAndWait, ASL JSON state machines, Task/Choice/Wait/Parallel states, task tokens, or child workflows.
tools
Use when building UIs leveraging the WordPress Design System (WPDS) and its components, tokens, patterns, etc.