全部技能 / 文档与知识 / experiment-readout
文档与知识 · nexu-io/html-anything

experiment-readout

假设 + 指标 + 结果 + 解释 + 决策, 把 A/B 或产品实验转成行动建议

风险提醒:绿色 · 放心使用AI 侦查报告
作者 nexu-ioGitHub nexu-io/html-anything ↗Stars 8827许可 Apache-2.0(仓库根 LICENSE;GitHub API spdx_id=Apache-2.0)commit 553ed98c28
agent 宿主通常会约束 skill 执行权限;风险提醒为 AI 侦查观点,不构成质量或安全保证。第三方 skill 仅作拆解与展示,安装使用风险自负,版权归原作者。

1实现原理 · 为什么它能做到

这个 skill 不是可执行程序,而是注入给本机 coding-agent CLI 的一段提示词:宿主取 SKILL.md 正文,前面压一段全站共享设计指令、后面接用户内容,拼成一条 prompt 交给已登录的 agent,再把 agent 的 stdout 当 HTML 取回。

next/src/lib/templates/shared.ts
【输入格式】: ${opts.format} 【用户内容】: ${opts.content}
注:拼装模板 = 共享指令 → skill 正文 → 输入格式 → 用户内容;web 端 /api/convert 走同一函数:prompt = assemblePrompt({ body: skill.body, content, format });

共享指令层(不属于任何单个 skill,但每个模板都被它压着)把输出钉成『自包含单文件 HTML』,并明令禁止 agent 使用 Write/Edit/Bash 等文件系统工具,HTML 直接以对话正文流式输出。

next/src/lib/templates/shared.ts
- **禁止使用 Write / Edit / MultiEdit / Bash / Create / 任何文件系统工具**。不要把 HTML 写到任何 \`.html\` 文件里。前端直接捕获你的 stdout 文本, 文件落盘由前端负责。
注:这是本批 skill 能力边界的来源:产出物只是文本,落盘与渲染由宿主前端负责;该禁令是 prompt 软约束,不是沙箱硬隔离。

SKILL.md 之外还有一条『内容驱动数量』覆盖规则:模板里写的任何页数/帧数/卡片数一律视为参考下限,实际数量由用户内容决定——防止 agent 用模板数字压缩用户内容。

next/src/lib/templates/shared.ts
- 模板只定义"可用版面 / 风格 / 配色 / 字体 / 组件库", **不定义** slide / 帧 / 卡片 / section 的数量。
注:对 frame-* 单帧模板尤其关键:它把模板里的版面描述定性为『可复用版面池』而非产量上限。

加载约定是『一个 skill = 一个文件夹』:SKILL.md(YAML frontmatter 供选择器 + 正文即模板 prompt),可选 example.md(样本输入)与 example.html(可直接打开的预览样张);新增模板只需加目录,不改 TS 代码。

next/src/lib/templates/loader.ts
* SKILL.md — frontmatter (id, scenario, tags, …) + prompt body * example.md — (optional) sample input content * example.html — (optional) pre-rendered preview, shown inline in the picker
注:loader 的 loadSkillFromDir 只读这三类文件,没有其它资产装载通道——第二遍据此核对本 skill 的资产可达性。

选择链路(CLI 侧)是三级漏斗:关键词强信号(每命中 1 词 2 分,阈值 3)→ 退化为 tags/scenario 打分 → 仍无把握就把用户内容前 800 字交给本地 agent 做一句话分类。

cli/src/skills-matcher.ts
const CONFIDENCE_THRESHOLD = 3;
注:AI 兜底的 prompt 原文:const prompt = `请用一句话(不超过15个字)描述以下内容最像什么类型的文档,只需回答类型名称:

预览链路独立于生成:/api/templates/<id>/preview 把 example.html 原样以 text/html 返回给 iframe;前端 iframe 用 sandbox="allow-scripts allow-same-origin"。

next/src/components/preview-pane.tsx
sandbox="allow-scripts allow-same-origin"
注:路由注释:* Returns the skill's `example.html` verbatim so it can be loaded into an(宿主侧取舍:allow-scripts + allow-same-origin 组合下,预览页脚本可自行摘掉 sandbox)。

模板的核心是『固定 9 段报告骨架 + 四选一裁决』:把任意实验材料强制过 Header→Hypothesis→Setup→Result snapshot→Metric table→Interpretation→Decision→Follow-up→Instrumentation notes 的流水线,最后必须落到 Ship / iterate / extend / stop 之一。

next/src/lib/templates/skills/experiment-readout/SKILL.md
【必须输出的结构】 1. Header: 实验名称、owner、日期、实验状态、decision。 2. Hypothesis: 原始假设, 必须改写成可验证句式。 3. Setup: audience、variant、duration、sample size、primary metric、guardrail metrics。 4. Result snapshot: primary metric lift、absolute delta、sample、confidence / caveat。 5. Metric table: Control vs Variant, primary + secondary + guardrail。 6. Interpretation: 解释结果为什么发生, 区分 signal、noise、unknown。 7. Decision: Ship / iterate / extend / stop 四选一, 并给理由。 8. Follow-up experiments: 2-4 个下一步实验, 每个包含 hypothesis、expected impact、effort。 9. Instrumentation notes: 数据缺口、埋点问题、样本偏差。
注:9 段是硬结构而非建议:Decision 与 Follow-up 两段保证产出物落到行动,而不是停在数据描述。

它明确拒绝『展示数据』这个目标:意图段把定位钉在判断上——这个实验说明了什么、下一步该上线/停止/继续跑/重新设计。

next/src/lib/templates/skills/experiment-readout/SKILL.md
【意图】这不是普通数据报告、不是 dashboard。目标是回答: "这个实验说明了什么, 我们下一步应该上线、停止、继续跑, 还是重新设计?"
注:意图段用一句反问钉住目标,等于给模型一个自检问题。

反造假条款写进模板正文:只许用用户提供的数据,禁止捏造 p-value / confidence / 样本量。

next/src/lib/templates/skills/experiment-readout/SKILL.md
- 只使用用户提供的数据。不要捏造 p-value、confidence、样本量。
注:『只使用用户提供的数据』与禁止编造三件套是同一条纪律的两半。

首屏信息层级被指定:必须有『大号 decision badge 和 primary metric delta』,即读者 3 秒内看到裁决与主指标变化。

next/src/lib/templates/skills/experiment-readout/SKILL.md
- 首屏必须有大号 decision badge 和 primary metric delta。
注:这是首屏信息层级要求,不是视觉偏好。

三套风格资产互斥分流:product-readout(默认)/ lab-notebook(研究、保留不确定性)/ growth-console(增长、漏斗、实时),并给了各自使用条件与『不要三种混用』。

next/src/lib/templates/skills/experiment-readout/SKILL.md
根据实验语境选择一种, 不要三种混用:
注:互斥 + 触发条件,避免模型把三套皮混在一页里。

2核心能力

01固定 9 段实验复盘结构(含 Follow-up experiments 与 Instrumentation notes)
02强制四选一裁决(Ship / iterate / extend / stop)并给理由
03不编造统计量的真实性条款
04样本不足/缺显著性时强制 caveat 措辞
05Control vs Variant 指标表(primary + secondary + guardrail)
06三套互斥风格资产(product-readout / lab-notebook / growth-console)
07图表实现约束:允许 CSS/SVG/Chart.js,Chart.js 画布必须固定高度
08输入面覆盖 A/B、增长、定价、onboarding、灰度、邮件实验

3外部依赖

类型依赖
networkTailwind Play CDN(共享指令强制;示例页与三份资产页均实际引用)
networkGoogle Fonts(Inter / Noto Sans SC,示例页实际引用)
packageChart.js(SKILL.md 允许的可选图表库;示例页未使用)

4风险提醒 风险提醒:绿色 · 放心使用

风险提醒:绿色 · 放心使用
  • 宿主侧:预览 iframe 用 sandbox="allow-scripts allow-same-origin",预览页脚本可自行摘掉 sandbox(宿主既有取舍,非本 skill 引入)。 — sandbox="allow-scripts allow-same-origin"(next/src/components/preview-pane.tsx)
  • 注入面:用户实验材料被逐字拼进 prompt 尾部,无转义/隔离层;粘贴含指令式文本的内容即构成对宿主 agent 的提示注入。 — assemblePrompt 末尾直接拼接【用户内容】
  • 风格资产死引用:SKILL.md 让模型参考 assets/ 三份 HTML,但 loader 不装载该目录,模型实际读不到——风格分流只能靠模型脑补。 — 全仓 grep 仅 SKILL.md 自身引用 product-readout/lab-notebook/growth-console
  • 离线/内网不可用:示例与生成物依赖 cdn.tailwindcss.com 与 fonts.googleapis.com,断网环境下样式与字体退化。 — assets/product-readout.html 的 <script src> 与 <link href>
风险提醒:绿色,放心使用。判级对象是本 skill 自身目录(口径:照 SKILL.md 执行后实际会发生什么):SKILL.md 为纯指令文本,随附 example.md/example.html 是样本与预览样张,目录内无脚本、无运行时网络调用、无凭证读取、无 agent 侧文件写入;SKILL.md 也未点名任何外部生成/服务后端(对照 orange 先例 ai-image-generation / seedance:后者把素材送外部生成后端并消耗账号额度;本模板不产生素材外发)。不影响档位的说明项:目录内 example.html 会外链 cdn.tailwindcss.com 与 fonts.googleapis.com(批4 口径:example.html 外链属产物示例,不判级);共享指令层同样要求生成物在 head 里 CDN 引 Tailwind 与 Google Fonts(- 在 \`<head>\` 中通过 CDN 引入 Tailwind v3 Play (https://cdn.tailwindcss.com) 与所需的 Google Fonts。),那是宿主壳层行为。宿主背景(不计入档位,见 verdict.risks):预览 iframe sandbox="allow-scripts allow-same-origin";宿主以全权模式拉起 agent("bypassPermissions", / "--yolo",)。另注:SKILL.md 指向的 assets/ 三份风格资产没有装载通道(见 verification),不影响风险档位。

5第二遍独立确认

  • [ok] 运行时机制(loader→assemblePrompt→agent CLI→捕获 stdout) — 重读 next/src/lib/templates/shared.ts / next/src/app/api/convert/route.ts:拼装顺序与 /api/convert 调用点逐字复核,与第一遍一致。
  • [ok] 『固定 9 段结构』宣称 — 重读 SKILL.md 结构段,9 段编号与名称与 JSON 引用一致,无夸大。
  • [ok] 外部资源条目(tailwind / Google Fonts) — 在 assets/product-readout.html 命中 <script src="https://cdn.tailwindcss.com">、<link href="https://fonts.googleapis.com/css2?family=Inter…">,调用点真实存在。
  • [discrepancy] 『assets/ 三风格可选』可执行性 — SKILL.md 指示参考 assets/,但全仓 grep 显示 product-readout.html / lab-notebook.html / growth-console.html 仅被该 SKILL.md 自身引用;loader.ts 的 loadSkillFromDir 只读 SKILL.md / example.md / example.html。结论:生成时模型看不到这三份资产,指令为死引用。
  • [ok] 安全面(脚本/网络/凭证/写盘) — 对 skill 目录做 token 扫描(script/fetch/XMLHttpRequest/API key/process.env/child_process/eval/curl/wget/.env/localStorage/download=)零命中;示例页唯一 <script> 是 Tailwind CDN 标签,无自写 JS。
  • [ok] meta 元数据(stars / last_push / license) — GitHub API 实查 owner_repo=nexu-io/html-anything:stargazers_count=8827、pushed_at=2026-09-15T03:36:24Z、license.spdx_id=Apache-2.0,与仓库根 LICENSE(Apache License 2.0)一致。
  • [unlocatable] 安装量 — 无公开安装量数据源(README/GitHub API 均无),meta.installs 置 null,不硬写。

6结论

  • 把实验报告从『数据陈列』强制扭成『决策文档』(Ship/iterate/extend/stop + 2-4 个后续实验),产出物可直接进评审会。
  • 反造假条款罕见地把统计诚实写进模板:禁用编造 p-value/confidence/样本量,缺显著性必须 directional/inconclusive/needs more data。
  • 风格分流有判断规则而非罗列:默认 product-readout、研究型走 lab-notebook、增长型走 growth-console,并禁止混用。
  • 输入面宽:A/B、增长、定价、onboarding、灰度、邮件实验都能吃,且明确接受 markdown/CSV/表格粘贴。
  • 适合:适合产品/增长团队把已有 A/B 或灰度实验材料(markdown/CSV/表格)快速转成一份能进决策会的复盘报告;也适合需要在流程上强制『结论必须落到一个动作』的团队。已有公司统一报告模板时,可拿它当基线再改。
    不适合:不适合只想看数据可视化的场景(它刻意不是 dashboard);不适合没有任何真实数据、指望模型补全数值的用法(模板禁止编造统计量);不适合需要交互式探索数据的分析工作(产出是静态单页);风格资产当前不可达,想直接复用 assets/ 三套皮的人会落空。
    安装 agent 直装可复制
    ① 本站镜像 更新 2026-09-15
    方式 A · 人下载镜像包下载 experiment-readout.tar.gz
    sha256: f9361c33db600ac8…
    方式 B · JSON 格式安装指南,复制给 agent
    安装指南
    agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
    ② 上游 GitHub · 原始来源
    能访问 GitHub?直接去上游安装(实时版,可能已更新)GitHub 原始 ↗
    本页镜像锁定 commit 553ed98c28;上游为实时仓库。
    来源信息 GitHub 原始
    作者 / 仓库nexu-io / nexu-io/html-anything
    Stars8827
    最近推送2026-09-15
    本 skill commit553ed98c28
    许可Apache-2.0(仓库根 LICENSE;GitHub API spdx_id=Apache-2.0)
    本站信息
    收录日期2026-09-06
    分类文档与知识
    侦查报告AI 侦查 · 2 遍 · 2026-09-06
    本站镜像与 GitHub 原始是不同来源:本站锁定 commit 快照经 /r2 分发;GitHub 为实时上游,内容可能已更新。
    同分类邻近