answer-me-with-html
QingYunA · QingYunA/answer-me-with-html
Skill giúp agent trả lời câu hỏi khó bằng một trang HTML dễ đọc chạy offline, chỉ viết nội dung Markdown để tiết kiệm token.
Answer me with HTML — an agent skill that answers hard questions with a one-page HTML you can actually read. 让 AI Agent 用一页 HTML 回答复杂问题。
Xem trước
Bạn có thể làm gì với nó
- Nhận lời giải thích trực quan cho khái niệm như TCP handshake
- Vẽ sơ đồ các module trong repo thành một trang
- So sánh hai công nghệ như Redis và Memcached trong một trang dễ đọc
Kiểm tra an toàn
Không thấy dấu hiệu rủi ro trong các file đã quét.
Quét tự động các file trong repo. Luôn xem lại code trước khi chạy.
Trích từ README
Answer me with HTML
Super Fast | ASD-STE100 | Explainer Videos | One File, Offline
An agent skill. Ask a hard question, get a page you can actually read instead of a wall of text.The model writes about 1/7 of the tokens it would need to hand-write the HTML.
English · 简体中文
Once installed, ask questions the way you always do:
> Explain the TCP three-way handshake
> Map out how the modules in this repo fit together
> Redis or Memcached for our cache?
The agent writes a short Markdown draft and hands it to the CLI that ships with the skill. About 50 ms later you have a page:
https://github.com/user-attachments/assets/d3063a28-5dfd-4c44-a562-be901c49b249
24-second demo. Turn the sound on for the music.
Why not just ask for HTML?
You can. Models write decent HTML now. The cost is output tokens: the model has to type every line of CSS, every wrapper div and every SVG coordinate, and output tokens are what you sit and wait for.
With this skill, the model writes only the content. We asked the same questions with the same model both ways, in a plain Claude Code setup (3 topics × 3 runs, medians, Claude Sonnet 5.5):
| Ask for HTML directly | Answer me with HTML | ||
|---|---|---|---|
| Output tokens | 5,341 | 870 | 6.1× fewer |
| Time | 33 s | 12 s | 2.8× faster |
| Cost per answer | $0.092 | $0.067 | 27% cheaper |
One run from an earlier benchmark in a heavily loaded setup: same prompt, same model, and both pages are usable. This run took 9,351 output tokens for the plain page and 899 with the skill.
The speed-up holds in every setup. The cost depends on how much context your setup loads: the skill adds two short turns, and every turn re-reads the context. In a heavy setup (about 51,000 tokens of tools, rules and skills) the two extra turns cost more than the saved tokens, and we measured the skill about 20% more expensive.
Explainer videos show a bigger gap. We asked for the TCP handshake as a 3Blue1Brown-style video, no voice, both ways:
| Write the video page by hand | am video | ||
|---|---|---|---|
| Output tokens | 27,839 | 1,566 | 17.8× fewer |
| Time | 202 s | 17 s | 11.8× faster |
That is one topic and five runs (3 by hand, 2 with am video, medians), so read it as a rough size, not a precise ratio. Per-topic numbers and the script to reproduce them are in bench/.
Install
You need Node.js 20 or newer. There is no npm install step. The CLI is bundled inside the skill.
Let your agent install it (recommended)
Paste this into Claude Code, Codex, Cursor, OpenCode or any other agent:
Install Answer me with HTML: read https://raw.githubusercontent.com/QingYunA/answer-me-with-html/main/INSTALL.md and follow it.
INSTALL.md is written for agents. It installs the plugin in Claude Code and the skill in other agents, keeps an existing install, asks you nothing, and ends with one report after checking the result with the TCP three-way handshake page. If your agent cannot open links, use npx -y skills add QingYunA/answer-me-with-html -g -y -a <your agent name> (for Claude Code, -a claude-code).
Claude Code plugin
Run this inside Claude Code:
/plugin marketplace add QingYunA/answer-me-with-html
/plugin install answer-me-with-html@answer-me-with-html
One command
npx skills add QingYunA/answer-me-with-html
It asks which agents to install into. The installer, vercel-labs/skills, supports more than 70 agents.
Manual install
Copy the skills/answer-me-with-html folder into your agent's skill folder. For Claude Code:
git clone --depth 1 https://github.com/QingYunA/answer-me-with-html.git /tmp/answer-me-with-html
cp -R /tmp/answer-me-with-html/skills/answer-me-with-html ~/.claude/skills/answer-me-with-html
Skill folders for other agents: Codex ~/.codex/skills/, Cursor ~/.cursor/skills/, OpenCode ~/.config/opencode/skill/.
No setup is needed after install. We recommend turning on always-on mode: the agent then adds a page to every conclusion, not only the hard ones. It takes one rule in your rules file.
What you ask, what you get
| You ask | You get |
|---|---|
| "Explain the TCP three-way handshake" | A sequence diagram, a state diagram and a flag table |
| "How are the modules in this repo organized?" | A folder tree plus a call graph |
| "Redis or Memcached?" | A comparison table with ✓ and ✗, then a verdict |
| "What's wrong with this paragraph?" | Each sentence annotated, with the problem words and fixes |
| "How did Kubernetes come about?" | A timeline with the key moments highlighted |
"How do I show hidden files with ls?" | No page. A one-line question gets a one-line answer |
The agent decides when a page is worth it: related concepts, multi-step flows, multi-way comparisons. You can also just say "explain it in HTML".
Pages are saved in ~/.answer-me-with-html/pages/. The buttons in the top-right corner switch the theme and light/dark mode, and copy the Markdown that produced the page.
Explainer videos (3Blue1Brown style)
Karpathy's ladder for understanding LLM output ends with explainer videos. Ask for one: "make a 3b1b-style video on the TCP handshake".
The agent writes the same kind of draft as for a page, plus one line of narration per beat. Nothing else:
## Both sides wait
```sequence
Client -> Server: SYN
Server -> Client: SYN-ACK
```
> The client sends a SYN to ask for a connection.
> The [Server] answers with a SYN-ACK.
am video turns it into a player page:
- Built step by step. When the Nth line of narration plays, the Nth step of the diagram appears. Arrows draw themselves. If there are more lines than steps, the extra lines a