lavish

作者: kunchenguid

将复杂或视觉化的代理响应转换为丰富的、可审查的HTML制品,用户可对其进行注释和发送反馈,使用lavish-axi CLI。适用于即将给出计划、比较、图表

npx skills add https://github.com/kunchenguid/lavish-axi --skill lavish

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.

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-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.
  4. If poll returns layout_warnings, fix overflow, clipped text, or overlapping unreadable content and re-check 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.
  6. Run npx -y lavish-axi end <html-file> when the review is finished.

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 Mermaid 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

Commands & rules

  • Run npx -y lavish-axi <html-file> to open or resume a Lavish Editor session
  • 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-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 layout_warnings before involving the human. 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
  • Run npx -y lavish-axi end <html-file> to end a session
  • 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 - 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, 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.
  • 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

相关技能

golang-troubleshooting
samber
Troubleshoot Golang programs systematically - find and fix the root cause. Use when encountering bugs, crashes, deadlocks, or unexpected behavior in Go code. Covers debugging methodology, common Go pitfalls, test-driven debugging, pprof setup and capture, Delve debugger, race detection, GODEBUG tracing, and production debugging. Start here for any 'something is wrong' situation. Not for interpreting profiles or benchmarking (→ See `samber/cc-skills-golang@golang-benchmark` skill) or applying...
developmenttesting
azure-prepare
Azure
Azure应用程序开发的默认入口点。分析您的项目并生成基础设施代码(Bicep/Terraform)、azure.yaml和Dockerfile,为Azure部署做准备。
weather
firecrawl
通过 wttr.in 或 Open-Meteo 获取当前天气和预报。适用场景:用户询问任何地点的天气、温度或预报。不适用于:历史…
official
service-remapping
datadog-labs
创建并管理APM服务重映射规则——在数据摄入时重写服务名称,以合并嘈杂的推断实体、清理自动生成的名称……
official
shadcn-ui
google-labs-code
关于在项目中查找、安装和自定义shadcn/ui组件的专业指导。shadcn/ui是一个复制粘贴式的组件集合,而非库——组件直接存在于你的代码库中,让你拥有完全的所有权和自定义能力,无需担心版本锁定。包含50多个基于Radix UI或Base UI原语构建、采用Tailwind CSS样式且可访问的预构建组件(按钮、对话框、表单、表格等)。支持通过CSS变量进行主题自定义,以及组件变体等特性。
official
building-storefronts
medusajs
在规划、研究或实现Medusa店面功能时自动加载(调用自定义API路由、SDK集成、React Query模式等)
official
azure-cost
microsoft
统一Azure成本管理:查询历史成本、预测未来支出并优化以减少浪费。适用场景:“Azure成本”、“Azure支出”、……
official
validate-pr
flutter
确保所有更改的代码片段正确运行并同步到 Markdown 文件中。
official