{"full_name":"QingYunA/answer-me-with-html","owner":"QingYunA","name":"answer-me-with-html","url":"https://github.com/QingYunA/answer-me-with-html","description":"Answer me with HTML — an agent skill that answers hard questions with a one-page HTML you can actually read. 让 AI Agent 用一页 HTML 回答复杂问题。","homepage":"https://answer-me-with-html.com/","topics":[],"language":"JavaScript","license":"MIT","avatar":"https://avatars.githubusercontent.com/u/41177312?u=43b3b6d62d17d6553dfe6f3eea840b1215cdfdd2&v=4","created_at":"2026-10-02T09:57:40Z","pushed_at":"2026-11-10T09:20:28Z","metrics":{"stars":6195,"forks":411,"watchers":11,"issues":134,"prs":259,"releases":21,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":1},"growth":{"day":{"stars":68,"forks":7,"base_day":"2026-11-09"},"week":{"stars":1111,"forks":67,"base_day":"2026-11-03"}},"history":{"dates":["2026-10-13","2026-10-14","2026-10-15","2026-10-16","2026-10-17","2026-10-18","2026-10-19","2026-10-20","2026-10-21","2026-10-22","2026-10-23","2026-10-24","2026-10-25","2026-10-26","2026-10-27","2026-10-28","2026-10-29","2026-10-30","2026-10-31","2026-11-01","2026-11-02","2026-11-03","2026-11-04","2026-11-09","2026-11-10"],"stars":[2032,2319,2487,2744,3088,3297,3360,3444,3514,3601,3884,4098,4168,4248,4311,4366,4495,4544,4590,4705,4892,5084,5200,6127,6195],"forks":[138,155,170,187,213,222,229,240,245,251,270,277,279,284,286,292,305,311,313,319,332,344,348,404,411],"watchers":[3,3,3,4,4,4,4,4,4,4,4,4,4,4,5,5,5,6,6,7,7,8,8,11,11],"issues_open":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"prs_open":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]},"boards":{"weekly":113,"monthly":130,"daily_rate":145,"weekly_rate":19,"monthly_rate":17,"new":108},"same_owner":[],"issues":[{"number":388,"title":"Add a state machine component (`state`)","comments":1,"created_at":"2026-11-05T06:56:34Z"},{"number":386,"title":"Proposal: native UML class diagrams and HTTP / RPC contract blocks","comments":1,"created_at":"2026-11-05T04:34:46Z"},{"number":356,"title":"Video narration from ready-made audio files or a command-line TTS, without a speech server","comments":1,"created_at":"2026-10-30T01:21:08Z"},{"number":395,"title":"Dark mode: pages don't set color-scheme, so the scrollbar and native controls stay light","comments":0,"created_at":"2026-11-07T12:17:18Z"},{"number":392,"title":"Proposal: preview each ask option in a card canvas","comments":0,"created_at":"2026-11-05T08:40:31Z"},{"number":380,"title":"Pages from different projects: an optional sub-folder of pages/ per project","comments":0,"created_at":"2026-11-04T03:38:47Z"},{"number":364,"title":"Tables: adjustable column widths per column","comments":0,"created_at":"2026-11-01T05:49:16Z"}],"discussions":[{"number":325,"title":"answer-me-with-html 0.5.7 is out / 0.5.7 发布","comments":0,"category":"Announcements","created_at":"2026-10-23T02:17:33Z"}],"latest_release":{"name":"v0.5.11","tag":"v0.5.11","published_at":"2026-11-05T02:31:03Z","body":"<!-- release 0.5.11 2026-11-05 -->\n\n## Send a page to a chat app: am export\n\nDiscord, Telegram, Slack and WeChat show an `.html` file as source. `am export` turns a rendered page into files they show (#350, #354):\n\n```bash\nam export page.html --pdf page.pdf     # A4, the page's own print rules\nam export page.html --png out/         # out/page-1.png, out/page-2.png ...\n```\n\n- `--png` renders at 1200 CSS px wide and 2x, hides the toolbar, the reply and remark controls and the new-version notice, and cuts the page into slices no taller than 1800 CSS px. A cut falls in a gap between panels.\n- Exporting into the same folder again removes the `<page-name>-<n>.png` slices it did not write this time, so a shorter page leaves no old slices behind. Other files stay. A slice that is the input page, or that cannot be removed, is left in place and reported (#362, #363).\n- It needs Chrome, Chromium or Edge (`AM_CHROME` sets the path) and Node.js 22 or later.\n\n## Sort and filter a table\n\nWrite `{table sort}` right after a Markdown table, and the reader clicks a header to sort it. `{table filter}` adds a text filter over every cell; `{table sort filter}` gives both (#357, #365).\n\n- Columns of numbers, `1,200`, `$900`, `12%` or ISO dates sort by value, including integers larger than 2^53. Other columns sort as text.\n- The controls work from the keyboard, are hidden in print and in PDF/PNG export, and do not appear without JavaScript. A table without the attribute stays static.\n- A `<script>` in an `html` or `svg` block cannot run under the page's Content-Security-Policy. `am render` now warns about it, with the draft line.\n\n## Video narration from your own audio files\n\n`am video draft.md --audio-map lines.json` takes the narration from audio files you already have, with no speech server: the JSON maps each narration line to a file, `{\"First the client sends SYN.\": \"audio/01.mp3\"}` (#356, #366).\n\n- Relative paths start at the map file's folder. A narration line without a key, or a missing file, stops the render and names it.\n- 16-bit PCM WAV works as is; other WAV encodings and other formats need ffmpeg. Clips get the same silence trimming and speech cache as `--voice local`, and the cache notices a changed file.\n- `--audio-map` cannot be combined with an explicit `--voice`. A command-line TTS source (#356) is still to come.\n\n## Fewer crossings in flow diagrams, and a warning for the rest\n\n- `flow` and `er` diagrams no longer draw a crossing that swapping two neighbouring nodes removes. Before, two edges that left one node kept the order of the draft and could cross (#369).\n- When a `flow` edge still runs through another node or another edge's label, `am render` warns with the draft line and a way out: the other direction when it draws the diagram clean (```` ```flow TB ````), otherwise a split into an overview and a detail diagram. The page is still written (#378).\n- The check follows the curve the page draws, not the layout points, so it matches what the reader sees (#382, #384).\n\n## Other changes\n\n- **Claude Code plugin:** the plugin no longer ships with a `node_modules` folder, so it is no longer turned off in a Claude Code desktop SSH session (\"has a symbolic link, node_modules/.bin/esbuild\"). Run `claude plugin update answer-me-with-html@answer-me-with-html` (#361, #368).\n- **`am serve`:** a page opened over http keeps its answers, comments and remarks on the server, so a phone that discards a background tab no longer loses them (#322, #343).\n- **Themes:** every installed theme appears in the page's theme picker, not only the default one (#348, #353).\n- **flow:** a literal `\\n` in a node or edge label breaks the line, as agents used to Mermaid write it (#347, #352).\n- **File names:** page and draft files are named with ASCII letters and digits only, at most 24 characters, so a ctrl-click in Windows Terminal or a wrapping TUI opens the whole path. A title with no ASCII gives `page-<time>.html`, so a draft can name its file with `file: tcp-"},"readme":true,"readme_zh":true,"news":[{"title":"Show HN: Let Claude Code answer with a diagram page instead of a wall of text","url":"https://github.com/QingYunA/answer-me-with-html","hn":"https://news.ycombinator.com/item?id=50068531","source":"Hacker News","lang":"en","date":"2026-10-13","points":6,"comments":3},{"title":"Show HN: Agent outputs slop texts, so I make a superfast HTML skill visualize it","url":"https://github.com/QingYunA/answer-me-with-html","hn":"https://news.ycombinator.com/item?id=50253981","source":"Hacker News","lang":"en","date":"2026-10-27","points":2,"comments":1},{"title":"Show HN: Tired of agents' walls of text, so I made them answer in HTML","url":"https://github.com/QingYunA/answer-me-with-html","hn":"https://news.ycombinator.com/item?id=50098431","source":"Hacker News","lang":"en","date":"2026-10-15","points":1,"comments":0},{"title":"Answer me with HTML：让 Agent 用一页 HTML 回答复杂问题的 Agent Skill 全解","url":"https://blog.csdn.net/gitblog_00521/article/details/163635625","source":"blog.csdn","lang":"zh","date":"2026-10-08"}],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}