ドキュメント&知識ベース · nexu-io/html-anything

experiment-readout

仮説 + 指標 + 結果 + 解釈 + 意思決定:A/Bテストやプロダクト実験を実行可能な提言へと変換

L1 基本 · ソース登録のみV1 コミット固定Dual-pass Audit
Author nexu-ioGitHub nexu-io/html-anything ↗Stars 8827License Apache-2.0(仓库根 LICENSE;GitHub API spdx_id=Apache-2.0)Commit 553ed98c28
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

この skill は実行可能プログラムではなく、ローカルの coding-agent CLI に注入されるプロンプトです。ホストが SKILL.md 本文を取得し、前にサイト全体の共通デザイン指示、後ろにユーザーコンテンツを結合してプロンプトを組み立て、ログイン済み 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 の能力境界の原点です。生成物はテキストのみであり、ディスク保存とレンダリングはホストのフロントエンドが担当します。この禁止令はプロンプトによるソフトな制約であり、サンドボックスのハードな隔離ではありません。

SKILL.md の外側には「コンテンツ駆動の数量」上書きルールがあります。テンプレートに記載されたページ数、フレーム数、カード数はすべて参考下限とみなされ、実際の数量はユーザーコンテンツによって決定されます。これにより、agent がテンプレートの数値に合わせてユーザーコンテンツを圧縮するのを防ぎます。

next/src/lib/templates/shared.ts
- 模板只定义"可用版面 / 风格 / 配色 / 字体 / 组件库", **不定义** slide / 帧 / 卡片 / section 的数量。
frame-* などの単一フレームテンプレートでは特に重要です。テンプレート内のレイアウト記述を上限ではなく「再利用可能なレイアウトプール」と定義します。

読み込み規約は「1 skill = 1 ディレクトリ」です。SKILL.md(セレクター用 YAML frontmatter + プロンプト本文)、任意の 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
ローダーの loadSkillFromDir はこれら3種類のファイルのみを読み込み、他のアセット読み込み経路はありません。2巡目でこれに基づき本 skill のアセット到達性を確認します。

選択パイプライン(CLI側)は3段階のファネルです。キーワードの一致シグナル(1単語ヒットにつき2点、しきい値3)→ tags/scenario によるスコアリングへのフォールバック → それでも判定できない場合はユーザーコンテンツの先頭800文字をローカル agent に渡し、1文で分類させます。

cli/src/skills-matcher.ts
const CONFIDENCE_THRESHOLD = 3;
AIフォールバックのプロンプト原文: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セクションレポート骨格 + 4択の裁定」です。任意の実験素材を強制的に 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 の2セクションにより、単なるデータ記述にとどまらず確実に行動へ落とし込みます。

単に「データを提示する」という目的を明示的に拒否しています。意図セクションでは、この実験が何を物語っているか、次のステップとしてリリース/停止/継続/再設計のどれを行うべきかという「判断」に焦点を当てています。

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、样本量。
「ユーザー提供のデータのみを使用する」ことと「統計量3点の捏造禁止」は、同一ルールの表裏一体です。

ファーストビューの情報階層が指定されています。「大型の decision badge と primary metric delta」を必須とし、読者が3秒以内に裁定と主要指標の変化を把握できるようにします。

next/src/lib/templates/skills/experiment-readout/SKILL.md
- 首屏必须有大号 decision badge 和 primary metric delta。
これはファーストビューの情報階層に関する要件であり、単なる視覚的嗜好ではありません。

3系統のスタイルアセットを排他的に分岐します。product-readout(デフォルト)/ lab-notebook(研究向け、不確実性を保持)/ growth-console(グロース、ファネル、リアルタイム)があり、それぞれの使用条件と「3種を混在させない」ルールが規定されています。

next/src/lib/templates/skills/experiment-readout/SKILL.md
根据实验语境选择一种, 不要三种混用:
排他性 + トリガー条件により、モデルが1ページ内に3つのテーマを混ぜてしまうのを防ぎます。

2コア機能

01固定の9セクション実験振り返り構造(Follow-up experiments および Instrumentation notes を含む)
02理由付きの4択裁定の強制(Ship / iterate / extend / stop)
03統計量の捏造を禁じる真正性条項
04サンプル不足や有意差欠如時における留保表現(caveat)の強制
05Control vs Variant の指標テーブル(primary + secondary + guardrail)
063系統の排他的スタイルアセット(product-readout / lab-notebook / growth-console)
07グラフ実装の制約:CSS/SVG/Chart.js を許容、Chart.js キャンバスの高さは固定必須
08A/B、グロース、価格設定、オンボーディング、カナリア配信、メール実験など幅広い入力に対応

3外部依存関係

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

4推奨統制措置と判定根拠

安全運用のための推奨統制措置
Agent 向け
自動ロード可能
管理者向け
ソースとバージョンの記録
判定根拠(ファイルパスと抜粋)
  • SKILL.md: 純粋なプロンプト指示およびルールテキストであり、スクリプトの実行や外部への影響はありません。
監査ノート: 評価対象は本 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 の読み込みを求めていますが、これはホスト側のシェル動作です。ホスト側の背景(判定ランクには非算入、verdict.risks を参照):プレビュー iframe は sandbox="allow-scripts allow-same-origin" を使用し、ホストは全権限モード("bypassPermissions", / "--yolo")で agent を起動します。追記:SKILL.md が参照している assets/ の3つのスタイルアセットには読み込み経路が存在しませんが(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、グロース、価格、オンボーディング、カナリア、メール実験に対応し、markdown/CSV/表の貼り付けを明示的に受け入れます。
  • 最適な用途: プロダクトやグロースのチームが、既存の A/B やカナリア実験の素材(markdown/CSV/表形式)を意思決定会議で使える振り返りレポートへ迅速に変換したい場合に適しています。また、「結論を必ず次のアクションに落とし込む」プロセスを強制したいチームにも最適です。社内統一のレポートテンプレートがある場合でも、ベースラインとしてカスタマイズして活用できます。
    不向きな用途: 単なるデータ可視化のみを目的とする用途には不向きです(意図的にダッシュボードとは異なる設計になっています)。実データが存在せずモデルによる数値補完を期待する使い方には適しません(統計量の捏造は禁止されています)。インタラクティブなデータ探索分析を必要とする業務には不向きです(静的な単一ページが出力されます)。現在スタイルアセットへのアクセス経路がないため、assets/ の3つのスキンを直接再利用しようとすると期待外れになります。
    Install Agent-Ready
    ① Verified Mirror 2026-09-15
    Option A · Direct DownloadDownload experiment-readout.tar.gz
    sha256: f9361c33db600ac8…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 553ed98c28.