Agent skill

Lavish

by layer5io in layer5io/sistent

Turn complex or visual agent responses into rich, reviewable HTML artifacts the user can annotate and send feedback on, using the lavish-axi CLI.

Apache-2.0Auto-check: warningsFrontend & Design

Install Lavish

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add layer5io/sistent --skill lavish -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install layer5io/sistent lavish --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/layer5io/sistent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/lavish .claude/skills/lavish && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
lavish
GitHub stars
138
Used in
3 other repos
Token cost
~3.2k tokens
SKILL.md length
1,860 words
Files
1
Skills in repo
6
Repo updated
First seen
Licence
Apache-2.0

At a glance

Turn complex or visual agent responses into rich, reviewable HTML artifacts the user can annotate and send feedback on, using the lavish-axi CLI.

  • Works in 7 steps: Create the HTML artifact (default… → Run npx -y lavish-axi to open or resume… → Run npx -y lavish-axi poll to long-poll… → …
  • About to give a plan
  • SKILL.md covers Request, When to use, Workflow and Visual guidance, plus 2 more sections
  • Calls npx, node and npm; needs LAVISH_AXI_HTML_APP_TOKEN

What it does

Lavish is an agent skill from layer5io/sistent. 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.

Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Frontend & Design, covering HTML artifacts. The licence is Apache-2.0.

When your agent uses it

  • About to give a plan
  • Anything easier to grasp visually than as prose

Example prompts

  • “/lavish”

Requirements

  • Node.js
  • A credential in LAVISH_AXI_HTML_APP_TOKEN

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Create the HTML artifact (default location .lavish/.html in the working directory).
  2. Run npx -y lavish-axi to open or resume a review session in the browser.
  3. Run npx -y lavish-axi poll to long-poll for the user's annotations, queued prompts, and browser-proven severe layout failures returned as…
  4. If poll returns layout_warnings, follow the returned next_step: repair the severe failure and re-check it before involving the human.
  5. Apply human feedback, then poll again with --agent-reply "" to reply in the browser and keep the loop going under the same…
  6. Run npx -y lavish-axi end when the review is finished.
  7. Send & End ends the session. Its final feedback is still delivered once. After that response, polling stops, and the agent must not reopen…

What it can do on your machine

Read from SKILL.md and the folder at commit 672bc14. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx
    • node
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • ht-ml.app

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • LAVISH_AXI_HTML_APP_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Lavish loads about 3.2k tokens when it runs. Until then it costs about 71 tokens; SKILL.md has 1,860 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~71
When it runs · the whole SKILL.md, loaded when a task matches
~3.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: warnings

The automated check found patterns that need a careful read before installing.

  • WarningContains instruction-override wording (e.g. “without asking the user”)SKILL.md:43
    Do not tell the user the artifact is being monitored until that wake path is live.
  • WarningContains instruction-override wording (e.g. “without asking the user”)SKILL.md:77
    llback into the surrounding supervisor. Do not tell the user the artifact is being monitored until that wake path is liv

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from layer5io/sistent at commit 672bc14, republished under its Apache-2.0 licence (© layer5io). 1,860 words, ~3,195 tokens.

Download SKILL.mdSave it as .claude/skills/lavish/SKILL.md (or your agent's skills folder).
name
lavish
description
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.
argument-hint
<what the artifact should show>
author
Kun Chen (kunchenguid)

Lavish Editor

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. In restricted subprocess sandboxes, CI, or agent harnesses where npx -y exits opaquely (for example with status 216), use an already-installed copy directly: node "$(npm root)/lavish-axi/dist/cli.mjs" <html-file> for a local install, node "$(npm root -g)/lavish-axi/dist/cli.mjs" <html-file> for a global install, or the bare lavish-axi <html-file> bin after installing once.

Request

$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.

When to use

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

Workflow

  1. Create the HTML artifact (default location .lavish/<name>.html in the working directory).
  2. Run npx -y lavish-axi <html-file> to open or resume a review session in the browser.
  3. Run npx -y lavish-axi poll <html-file> to long-poll for the user's annotations, queued prompts, and browser-proven severe layout failures returned as layout_warnings. On the first poll, prefer --agent-reply "<one-line summary of what you built and what to review first>" so the conversation panel opens with context. The poll stays silent until the user acts or the real browser proves meaningful content is inaccessible or unusable - leave it running, never kill it. Cosmetic, intentional, transient, tiny, and uncertain observations remain silent. Keep the poll in the foreground by default and let it return the feedback directly to the agent. A background poll is allowed only through a harness-native tracked background-job facility whose completion result is guaranteed to resume or notify the same agent. Never use nohup, shell &, disown, redirected fire-and-forget processes, or a detached terminal without an explicit verified callback merely to keep polling alive. If the harness has no completion-aware background facility, use the foreground poll or first wire a verified wake callback into the surrounding supervisor. Do not tell the user the artifact is being monitored until that wake path is live. If the poll gets killed or times out anyway, just re-run it - queued feedback is never lost.
  4. If poll returns layout_warnings, follow the returned next_step: repair the severe failure and re-check it before involving the human.
  5. Apply human feedback, then poll again with --agent-reply "<message>" to reply in the browser and keep the loop going under the same foreground-or-verified-wake-path rule.
  6. Run npx -y lavish-axi end <html-file> when the review is finished.
  7. Send & End ends the session. Its final feedback is still delivered once. After that response, polling stops, and the agent must not reopen the session uninvited. Deliver any remaining updates directly in this conversation.

Visual guidance

  • Use visual hierarchy to make the most important decisions, risks, tradeoffs, and next actions obvious at a glance
  • Use visual structure such as sections, cards, tables, diagrams, annotated snippets, and side-by-side comparisons instead of long prose
  • Choose typography, spacing, color, and layout deliberately so the artifact has a clear point of view
  • Prevent horizontal overflow at every nesting level: nested grid/flex children also need minmax(0, 1fr) tracks and min-width: 0, especially when badges, labels, or status text use wide pixel or monospace fonts; wrap, truncate, or contain long unbreakable text deliberately
  • When the artifact would describe existing or current UI or state, show it instead: capture screenshots of the real pages (run the app read-only if needed) and embed them, rather than explaining the current look in prose; reserve prose for what cannot be shown such as rationale, trade-offs, and open questions

Playbooks

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 the theme-aware Mermaid snippet from npx -y lavish-axi design unless SVG is needed for richly annotated nodes.

  • diagram - Map relationships, flows, state, and architecture
  • table - Turn dense records into scan-friendly review surfaces
  • comparison - Show options, tradeoffs, and current vs target behavior
  • plan - Explain a product or technical plan before implementation
  • code - Render source code, code files, patches, PR diffs, and before/after code inside Lavish artifacts
  • input - Must be used when the agent needs to collect user input on decisions, choices, preferences, triage, scope, or other structured feedback from within the artifact
  • slides - Create a deliberate presentation when slides are requested
Show full SKILL.md (1,010 more words)Show less

Commands & rules

  • Run npx -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
  • Unless the user specifies another location, create HTML artifacts in the current working directory under .lavish/
  • Lavish serves the html file through a local express.js server. If your html needs to reference other filesystem assets such as images, CSS, fonts, and local scripts, copy them into the same directory as the HTML file, then reference them with relative paths from that directory. Never prepend / to those asset paths - root paths won't work
  • Run npx -y lavish-axi poll <html-file> to wait for user feedback or browser-proven severe layout failures. It long-polls and stays silent until the user sends feedback, ends the session, or the real browser proves meaningful content is inaccessible or unusable, so leave it running - never kill it. Repair and re-check every returned layout failure before involving the human; cosmetic, intentional, transient, tiny, and uncertain observations stay silent. Keep the poll in the foreground by default and let it return the feedback directly to the agent. A background poll is allowed only through a harness-native tracked background-job facility whose completion result is guaranteed to resume or notify the same agent. Never use nohup, shell &, disown, redirected fire-and-forget processes, or a detached terminal without an explicit verified callback merely to keep polling alive. If the harness has no completion-aware background facility, use the foreground poll or first wire a verified wake callback into the surrounding supervisor. Do not tell the user the artifact is being monitored until that wake path is live. If the poll gets killed or times out anyway, just re-run it - queued feedback is never lost. Send & End ends the session. Its final feedback is still delivered once. After that response, polling stops, and the agent must not reopen the session uninvited.
  • Rendered Mermaid diagrams in .mermaid containers become embedded, editable Excalidraw whiteboards in the browser (click a diagram to unlock editing; a Fullscreen action opens it over the whole viewport) - flowchart, sequence, class, ER, and state diagrams convert to editable shapes; other types embed as an image to draw on. Scenes autosave locally; when a reload detects a changed Mermaid source, the reviewer explicitly chooses to re-convert and discard saved edits or keep editing the saved scene. Standalone and exported copies still render plain Mermaid. Queue feedback adds a prompt to the Conversation panel; when the user sends it, poll returns a tag "whiteboard" prompt carrying a bounded edit summary plus local scenePath (.excalidraw JSON) and previewPath (PNG) files - read the summary first, open the files only when needed, then apply the edits by updating the Mermaid source in the artifact (never try to write the scene back)
  • Run npx -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 --reopen
  • Run npx -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 menu
  • Run npx -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 menu
  • Run npx -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)
  • Run 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.
  • Lavish does not auto-inject any design system - artifacts stay portable so they render identically when opened directly without lavish-axi running. Before writing any HTML: Decide the design direction in this strict priority order, and only move to the next step when the current one truly yields nothing: (1) if the user asked for a specific look or named design system, use that; (2) otherwise you must first inspect the project the artifact is about - the subject or product whose content or UI it represents, which may differ from your current working directory - and match that project's design system: Tailwind or theme config, shared CSS variables or design tokens, component library, brand assets, or existing styled pages. If the artifact previews, proposes, or mocks a specific app's UI, render it in that app's own design system so it faithfully shows the product, even when you are running in a different repo; (3) only when both steps come up empty, use the Lavish-recommended Tailwind CSS browser runtime v4 + DaisyUI v5, available via CDN, and prefer that CDN snippet over hand-writing styles unless explicitly instructed otherwise by the user. Run 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. When you deliver the artifact, state which of the three design sources you used and why.
  • 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

© layer5io, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/lavish of layer5io/sistent.

Open the folder on GitHubat commit 672bc14

Used in 4 other repositories

We found 4 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 3 other GitHub owners. This page covers the copy in layer5io/sistent, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Lavish next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Lavish compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Lavish this skilllayer5io/sistent1383 repos~3.2kAutomated safety check: WarnApache-2.0
LobeHub Interactive Prototypelobehub/lobehub83k—~1.6kAutomated safety check: PassCustom licence
Paperclip Pagepaperclipai/paperclip98k—~1kAutomated safety check: PassMIT
Openkb Deck NeonVectifyAI/OpenKB4.7k1 repos~4.3kAutomated safety check: PassApache-2.0
Webhome Homepage Builderwebhtv/webhtv1.7k—~3.8kAutomated safety check: PassGPL-3.0
Solo Artifactssolo-agent/solo697—~961Automated safety check: PassMIT

Similar skills

  • Builds single-file interactive HTML prototypes rendered with the real LobeHub UI components and written as production-style React, so they can later be split into files.

    83k GitHub stars~1.6k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Paperclip Page

    paperclipai/paperclip

    Publish static HTML pages and asset folders to the Paperclip S3/CloudFront page host.

    98k GitHub stars~1k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Openkb Deck Neon

    VectifyAI/OpenKB

    A skill your agent uses when the user asks the openkb chat to make a deck / slide presentation / PPT / slides / 演示稿 / 幻灯片 from their compiled KB content AND wants a dark, high-tech, neon / glow /…

    4.7k GitHub starsUsed in 1 repo~4.3k tokens
    Frontend & DesignAuto-check passed
  • Build, review, debug, reverse-engineer data sources for, and package FongMi/WebHome custom homepage single-file HTML.

    1.7k GitHub stars~3.8k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Solo Artifacts

    solo-agent/solo

    A skill your agent uses when a Solo task or thread should become an interactive, reviewable, self-contained HTML artifact for progress/status, review/decision, or comparison/leaderboard work inside…

    697 GitHub stars~961 tokensUpdated 25 days ago
    Frontend & DesignAuto-check passed
  • Paper2html

    QuZhan51496/paper2anything

    Convert an academic paper PDF into a publish-ready, self-contained single-page project homepage (a self-contained index.html) — the kind of paper landing page researchers host on GitHub Pages.

    468 GitHub stars~3.3k tokensUpdated 2 mo ago
    Frontend & DesignAuto-check: notes

More from layer5io/sistent

  • Chrome Devtools Axi

    layer5io/sistent

    Control a Chrome browser session through the chrome-devtools-axi CLI - navigate, snapshot, click, fill forms, run JavaScript, inspect console and network, take screenshots, audit performance.

    138 GitHub starsUsed in 2 repos~989 tokens
    Auto-check passed
  • Cut Release

    layer5io/sistent

    Runbook for cutting a release of @sistent/sistent to npm. An agent skill from layer5io/sistent.

    138 GitHub stars~1.4k tokensUpdated 5 days ago
    Auto-check passed
  • Gh Axi

    layer5io/sistent

    Operate GitHub through the gh-axi CLI - issues, pull requests, workflow runs, workflows, releases, repositories, labels, Projects (v2), Actions secrets and variables, search, and raw API access.

    138 GitHub stars~1.3k tokensUpdated 5 days ago
    Auto-check passed
  • Quota Axi

    layer5io/sistent

    Report local Claude, Codex, Cursor, GitHub Copilot, and Grok quota windows via the quota-axi CLI - remaining percentages, reset times, and provider status read from local auth sources, with no…

    138 GitHub stars~956 tokensUpdated 5 days ago
    Auto-check passed
  • Iterate PR

    layer5io/sistent

    Iterate on a PR until CI passes. An agent skill from layer5io/sistent.

    138 GitHub stars~5.4k tokensUpdated 5 days ago
    Auto-check: warnings

Questions about Lavish

What does Lavish do?

Turn complex or visual agent responses into rich, reviewable HTML artifacts the user can annotate and send feedback on, using the lavish-axi CLI. Lavish is an agent skill from layer5io/sistent. Turn complex or visual agent responses into rich, reviewable HTML artifacts the user can annotate and send feedback on, using the lavish-axi CLI.

When should I use Lavish?

Lavish fits situations like: about to give a plan; anything easier to grasp visually than as prose.

How do I install Lavish in Claude Code?

Run `npx skills add layer5io/sistent --skill lavish -a claude-code`. Or copy the skill folder (.agents/skills/lavish in layer5io/sistent) into .claude/skills/lavish in your project. Claude Code loads it when a task matches its description.

How do I install Lavish in Codex?

Run `npx skills add layer5io/sistent --skill lavish -a codex`. Or copy the skill folder (.agents/skills/lavish in layer5io/sistent) into .agents/skills/lavish in your project. Codex loads it when a task matches its description.

Can I use Lavish in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add layer5io/sistent --skill lavish -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/lavish, .gemini/skills/lavish, .github/skills/lavish and .opencode/skills/lavish in your project.

What does Lavish need to run?

Going by SKILL.md and its folder, Lavish needs the command-line tools its instructions call (npx, node and npm) and credentials named LAVISH_AXI_HTML_APP_TOKEN. Our summary lists: Node.js; A credential in LAVISH_AXI_HTML_APP_TOKEN.

Does Lavish access the network?

SKILL.md names 1 domain. As links in the text: ht-ml.app. This is read from the text; nothing was executed.

Is Lavish safe to install?

Our automated static check of SKILL.md flagged 2 warning(s): contains instruction-override wording (e.g. “without asking the user”). Read the flagged lines before installing; the check is not a guarantee either way.

What licence does Lavish use?

Lavish is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Lavish use?

About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Lavish?

Skills that share tags, products or a category with Lavish: LobeHub Interactive Prototype (lobehub/lobehub, 83k stars), Paperclip Page (paperclipai/paperclip, 98k stars), Openkb Deck Neon (VectifyAI/OpenKB, 4.7k stars) and Webhome Homepage Builder (webhtv/webhtv, 1.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Lavish?

layer5io (a GitHub organization) maintains it in layer5io/sistent, which has 138 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 2, 2026.

Source: layer5io/sistent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.