answer-me-with-html
Turns an answer into a one-page visual HTML explainer: the model writes a short Markdown draft and the bundled CLI builds one page. Use it proactively and liberally, without being asked, whenever a page would help the reader more than plain text, even if plain text would also work: any explanation of how something works or how parts relate (flow, request path, architecture, code or folder structure, state machine, lifecycle, history); any comparison, trade-off or decision with pros and cons; any diagnosis, review or investigation, especially with several causes or findings to rank; any answer with a table, a numbered or ranked list, steps, branches or several sections; or when the user says "I don't get it / draw it / explain visually / 讲讲原理 / 没看懂 / 画个图". When in doubt, use it: a page is quick and cheap to make. Also for explainer videos ("make a video", "做个视频") and for changing its settings. Skip only for small talk, a trivial one-line answer, or when the user asks for plain text.
Why we recommend it: Turns an answer into a one-page visual HTML explainer via a bundled CLI, producing panels, diagrams, and tables for complex explanations.
Inspect before use
Read the source instructions and check the requirements before you install this skill.
SKILL.md
The saved excerpt is a snapshot from when this skill was listed. The external source remains the complete and most current version.
---
name: answer-me-with-html
argument-hint: "[config [key value] | clean | update]"
description: >-
Turns an answer into a one-page visual HTML explainer: the model writes a short Markdown draft and
the bundled CLI builds one page. Use it proactively and liberally, without being asked, whenever a
page would help the reader more than plain text, even if plain text would also work: any explanation
of how something works or how parts relate (flow, request path, architecture, code or folder
structure, state machine, lifecycle, history); any comparison, trade-off or decision with pros and
cons; any diagnosis, review or investigation, especially with several causes or findings to rank;
any answer with a table, a numbered or ranked list, steps, branches or several sections; or when the
user says "I don't get it / draw it / explain visually / 讲讲原理 / 没看懂 / 画个图". When in doubt, use it: a
page is quick and cheap to make. Also for explainer videos ("make a video", "做个视频") and for changing
its settings. Skip only for small talk, a trivial one-line answer, or when the user asks for plain
text.
---
# Answer me with HTML: answer a complex question with one HTML page
You write only the **content draft** (extended Markdown). The `am` CLI does all layout, colours, dark mode and diagram coordinates. **Do not hand-write HTML / CSS / SVG.**
Reply to the user, and write the draft, in the user's language.
## 0. When the user wants to change settings
Arguments for this call: `$ARGUMENTS`
When the arguments start with `config`, `clean` or `update`, or the user asks to change a setting, clean up pages or update this skill: read `${CLAUDE_SKILL_DIR}/references/settings.md` and follow it. That turn produces no page.
## 1. Decide: produce a page or not
Produce a page if any of these is true:
- There are ≥3 interrelated concepts, and the reader needs to see how they relate.
- There is a flow, protocol, call chain or state transition (especially with branches or several actors).
- There is a comparison across ≥3 dimensions, a trade-off between options, or a "can / cannot" list.
- There is a hierarchy or an evolution over time.
Otherwise answer in plain text. When unsure: the more the question "needs a picture to understand", the more it calls for a page.
### Always-on mode
If the context contains the `[answer-me-with-html always-on]` reminder (the user added the always-on rule to a rules file such as `CLAUDE.md` or `AGENTS.md`), the bar is lower:
- Whenever this turn gives a conclusion, summary, plan, comparison, review or explanation, attach a page.
- Do not skip it because "the answer is short". If there is a conclusion, produce a page.
- For everyday conclusions use a small page with 2–4 panels: one callout with the conclusion, plus one table or one diagram. Do not add panels just to fill space.
- Render with `--no-open`, so no browser window interrupts the user. The user opens the page by clicking the path at the end of the reply.
- Order: render the page first, then write the text reply. The reply is the last thing in the turn, with the page link on its last line (see step 5). Do not write the reply and then call `am render`.
- Produce no page for small talk, one or two sentences with no conclusion, pure command output, or when the user asks for plain text.
## 2. Workflow (one Bash call)
The CLI is bundled in this skill's directory: `scripts/am.mjs`, a single file with no dependencies to install; it needs only Node.js 20+. Below, `am` always means:
```bash
node "${CLAUDE_SKILL_DIR}/scripts/am.mjs"
```
In Claude Code, the path above is replaced with this skill's directory automatically. If you see the variable unreplaced (other agents), replace it with the absolute path of the directory that contains this SKILL.md. If the user installed the `am` command globally, you can also use `am` directly.
1. First list 3–8 panels in your head. Each panel answers one sub-question only.
The draft language follows the languagRead the full source on GitHub (opens external page)