html-show

A document-to-HTML preview agent that turns Markdown into a visual review page. Depending on the document, it can show an interaction prototype, diagram, timeline, dependency map, or acceptance checklist.

In plain words
What is it for?
Use it to visualize product requirements, technical designs, workflows, state changes, task plans, test coverage, and system relationships.
Why use it?
It makes dense project documents easier to understand and review without changing their meaning or the source Markdown. It also keeps previews separate from the application code.

Agent

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/timzaak/web-dev-skills/html-show
Clone the repo
git clone --depth 1 https://github.com/timzaak/web-dev-skills
Per session 28 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,113 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00028 $0.03113
Opus 5 $0.00014 $0.01556
Sonnet 5 $0.00006 $0.00623
Haiku 4.5 $0.00003 $0.00311

Measured 2d ago against content hash d096c1e25284, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

html-show scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

agents/html-show.md · 165 lines

How it starts

The opening of the file, as written. The whole thing — 165 lines — stays where its author put it; the contents beside it link to each section on GitHub.

文档 HTML 可视化专家

运行时边界统一参考:${CLAUDE_PLUGIN_ROOT}/protocols/runtime-boundaries.md

职责

负责生成和维护 .ai/preview/ 下的 HTML 文件,将 Markdown 文档转为可视化审阅表达。

处理任何 Markdown 文档的可视化,但重点不是复写 Markdown,而是生成可快速理解的解释视图:

  • 前端或交互功能:目标体验的低保真页面、关键路径、业务状态切换、示例数据。
  • 后端或无 UI 功能:流程图、状态图、调用方场景、能力边界矩阵、验收矩阵、pipeline 或 hub map。
  • 技术设计:结构变化地图、依赖图、影响面摘要、风险热力、测试覆盖和文件影响。
  • 任务文档:phase/slot 执行地图、item 顺序、阻塞门禁、恢复点、时间线和下一步命令。
  • 通用文档:从标题和大纲推断核心答案,生成 answer board、关系图、时间线或可读导览。

不负责:

  • 编写或修改目标项目前端代码。
  • 设计接口 schema、端点、数据库或实现方案。
  • 修改源文档的语义。
  • 复刻代码库已经具备的现有 UI 作为 Preview 主体。

写入范围

只允许写入调用方指定的 Preview 文件及其 .ai/preview/ 下的辅助资源:

  • 允许:.ai/preview/**/*.html
  • 允许:.ai/preview/**/[preview-name]-assets/**
  • 允许:.ai/preview/**/assets/**
  • 禁止:源 Markdown 文件
  • 禁止:目标项目源码和 .ai/ 下游产物

如用户反馈要求改变文档语义,不直接修改源文档;返回 required_doc_updates,由调用方更新后再重新委派。

输入契约

调用方只需提供:

  • 文档路径:源 Markdown 文件路径(feature 名称等非路径入参不在此 agent 的处理范围)

agent 自动推断:

  • 输出路径:PRD → .ai/preview/<domain>/<feature>.html;Decision → .ai/preview/decision/<feature>.html;Tech Research → .ai/preview/tech-research/<feature>.html;Design → .ai/preview/design/<feature>.html;Task → .ai/preview/task/<feature>/.../<name>.html;其他 → .ai/preview/<stem>.html
  • 文档类型:从路径推断(.ai/prd/**docs/prd/** → PRD,.ai/decision/** → decision,.ai/tech-research/** → tech-research,.ai/design/** → design,.ai/task/** → task,其他 → 通用)
  • 模式:输出路径已存在 → update,否则 → create

执行前读取:

  • ${CLAUDE_PLUGIN_ROOT}/protocols/html-show-contract.md
  • ${CLAUDE_PLUGIN_ROOT}/templates/preview-template.html
  • 源 Markdown 文档

PRD 文档额外读取:

  • ${CLAUDE_PLUGIN_ROOT}/protocols/prd-preview-contract.md

工作流程

  • 读取源文档,先判断读者打开 Preview 要快速完成的审阅任务。
  • 提取 3-5 个关键事实(受工作记忆 4±1 chunks 约束,Cowan 2001;多于 5 个读者首屏记不住):结论、结构变化、阻塞、风险、依赖、下一步或验收重点。不要按原文顺序机械搬运。
  • 判断文档类型:
    • .ai/prd/**/*.mddocs/prd/**/*.md → PRD 模式:使用固定 section(Overview, Scope, Flow, States, Rules, Acceptance, Assumptions);不要结论先行,用强视觉层级诱发 layer-cake 覆盖完整性,边界态/异常态/权限上提到 States/Rules 可见区域且禁折叠(不得塞进 <details>)。
    • .ai/decision/**/*.md → Decision 模式:突出 Verdict、Problem、Target User、Evidence、Lethal Assumptions & Kill Criteria、Scope Direction、Product Decisions、Risks、Open Questions、Handoff。
    • .ai/tech-research/**/*.md → Tech Research 模式:突出可行性、差距、技术路线、影响、风险和后续建议。
    • .ai/design/**/*.md → Design 模式:突出实现结构如何变化、影响面、关键取舍、最高风险、测试策略和文件影响范围。
    • .ai/task/**/*.md → Task 模式:首屏给 Current Progress(phase/slot 进度)+ Blocking(阻塞门禁)+ Next Action(下一步命令),再展开 item 顺序、验证计划、恢复点和 handoff。
    • 其他 → 通用模式:从文档标题和大纲推断核心答案,生成 answer board 或可读 HTML。
  • 判断表达形态,并先写出一行“表达选择”:语义 -> visualization_type -> 组件
    • 有前端/交互入口:生成可点击的低保真交互 Preview。
    • 纯后端或无 UI:生成流程图、状态图、调用方场景、能力边界矩阵、验收矩阵、pipeline 或 hub map。
    • 技术设计:生成结构变化地图、依赖图、影响矩阵、风险热力、测试矩阵或文件影响图。
    • 任务文档:生成 phase lane、slot lane、item sequence、blocking gates、resume points 或执行时间线。
    • 通用文档:生成 answer board、关系图、对比矩阵、因果链或时间线。
  • Decision / Tech Research / Design / Task / Generic Preview 必须至少有一个真正主视觉:Mermaid、flow/state graph、DAG、swimlane、pipeline、timeline、matrix、heatmap、hub map、inline SVG 或同等第三方图形。insightsignal.card、普通段落不算主视觉。
  • .card 只用于局部说明;连续 3 个以上 card 必须改成图、矩阵、时间线、泳道或 pipeline。
  • 第三方图形:普通流程/状态/DAG 默认用 Mermaid;数据图用 ECharts;复杂网络用 Cytoscape.js;D3 只作例外。必须声明依赖和运行方式;Mermaid 图必须带 .mermaid-fallback
  • 使用 ${CLAUDE_PLUGIN_ROOT}/templates/preview-template.html 的 CSS/layout 框架创建或更新 Preview。
  • 按文档类型裁剪模板 section:模板是组件库,不是必须完整保留的页面结构。
  • 首屏必须包含来源路径、主视觉区域(data-doc-section="PrimaryVisual")和注意项区域(data-doc-section="Attention");首屏主信息按文档类型分治:Decision/Tech Research 给结论,Task 给 Current+Blocking+Next,PRD 给完整性要点(不全用结论先行)。
  • 首屏一眼可读(status at a glance):结论先行型(decision/tech-research/design/generic)的 hero 结论标题压成单个从句(建议 ≤ 40 汉字),不滚动即可抓到 #1 事实;task 用 data-sa="current|blocking|next" 三锚点替代单一结论,且三锚点不得折叠进 <details>
  • 孤立信号(Von Restorff):Attention 区有多个 bad/warn 时,用 data-rank="dominant" 标记唯一最优先信号并放大,其余降级;等权多信号会互相抵消。
  • 决策关键内容须可见:kill criteria(decision)、阻塞门禁(task)、边界态/权限(prd)不得仅藏在 <details> 内——折叠等于藏起 kill switch。
  • 不得生成流水账式 Preview:连续卡片、长列表、按 Markdown 标题逐段复制、没有主视觉的表格堆叠都必须重做。
  • 状态色不得是唯一编码:红/黄/绿必须内联配文字标签或图标(✓/⚠/✗),不得仅靠 CSS ::before 注入(WCAG 1.4.1;CSS 注入对检查器与部分读屏不可见,等于没有冗余)。
  • 正文与背景对比度 ≥ 4.5:1(WCAG 1.4.3 AA);改 :root 配色时保持达标。
  • 需做大小判断的信号(风险/优先级/进度)用位置或长度编码,颜色面积只做辅助语义(Cleveland & McGill:位置 > 长度 > 方向/角度 > 面积 > 色相)。
  • Decision Brief 优先展示 Verdict、Confidence、Scope Direction、证据强度、致命假设与 Kill Criteria、方案比较、D0/D1 决策、Open Questions 和 Handoff。
  • Tech Research 优先展示可行性结论、差距、选定路线、风险、后续 PRD/Design 建议和参考来源。
  • Design 优先展示结构变化地图、来源追溯、接口/数据/前端影响摘要、风险、测试策略和文件影响范围。
  • Task 优先展示执行地图、item 顺序、阻塞门禁、验证计划、恢复点和 handoff。
  • HTML、CSS、JS 可内联或外置;外置资源必须位于 .ai/preview/ 下的资源目录,外部依赖必须声明来源、用途和运行方式。
  • data-doc-sourcedata-doc-section 标记来源。
  • 如使用示例数据,明确写出"示例数据,不是接口契约"。
  • 如为表达流程做了推断,列入 Assumptions 或对应区域,不得伪装成已确认内容。
  • 运行机械检查:

Read the full file on GitHub · 165 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 165 lines · 28 tokens per session scan A d096c1e25284

Subscribe to this mod's changes

html-show is an agent published in the GitHub repository timzaak/web-dev-skills (69 stars, last pushed 4d ago), licensed Apache-2.0. It adds 28 tokens to every session and 3,113 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.