1仕組みと動作原理
テンプレート本体には実行可能コードが含まれていません。loader が src/lib/templates/skills/<id>/SKILL.md から frontmatter と本文を読み込み、本文(body)を example の内容とともに LoadedSkill として返します。
const raw = safeRead(path.join(dir, "SKILL.md"));
ホストは発行前に固定順序でプロンプトを組み立てます。テンプレート本文は SHARED_DESIGN_DIRECTIVES と【入力フォーマット】/【ユーザーコンテンツ】の間に挟まれます。
Wrap a per-template instruction body with the shared design directives and
共通指示はハードな制約をエージェントへの明示的な禁止事項として記述し、コンテンツ主導の数量決定を強制します(テンプレート内の数値は参考下限に過ぎません)。
**禁止使用 Write / Edit / MultiEdit / Bash / Create / 任何文件系统工具**。
実際に実行されるのは、ユーザーのローカル環境に導入・ログイン済みのコーディングエージェント CLI です。ホストが子プロセスを spawn し、プロンプトを渡して stdout から HTML をストリーミングキャプチャします。
import { spawn, type ChildProcessWithoutNullStreams } from "node:child_process";
/api/convert がテンプレートの実行パスとなります。skill.body とユーザーコンテンツをプロンプトに組み立てた後、invokeAgent に引き渡します。
prompt = assemblePrompt({ body: skill.body, content, format });
テンプレートはコンシューマー向けプロダクト感のあるデータウォールとして位置づけられており、エディトリアルタイポグラフィ(セリフ体の見出し + 等幅フォントの数値)と控えめなハイライト色によって一般的な管理画面と差別化されています。
【意图】消费产品感的数据墙, editorial typography + 克制的高亮色。
5つのセクションからなるレイアウト:左レイルナビゲーション → Ticker bar(リアルタイムシグナル) → ヘッドライン KPI → 30日間のマッチ数バーチャート → マッチ率トレンドブロック。
- Ticker bar 实时信号
ヘッダーの KPI エリアは実質的に 3×3 のグリッド型統計ウォール(Mutuals on file / Replies in 24h / Communities / Match rate / 2nd dates / Exes…)として構築されており、各セルに口語的な注記が添えられています。
<div class="label">Match rate</div>
30日間のバーチャートは、グラフライブラリやスクリプトを一切使用せず、純粋なインライン SVG(複数の rect、最後の1本はハイライト色 #c14a2b で強調)によって手作業で描画されています。
<rect x="630" y="60" width="14" height="160" fill="#c14a2b"></rect>
サンプルでは狭小画面時に左レイルをトップバーに折りたたんでおり(メディアクエリ内で aside.rail の右ボーダーをなくし下ボーダーを追加)、デスクトップ向けとしながらもレスポンシブなフォールバックを備えています。
aside.rail { border-right: none; border-bottom: 1px solid var(--ink); }
ページにはバージョン番号表示(mutuals.v0.6.1)や「NEXT TIER AT 2,080 MUTUALS」などのプロダクト的なディテールが盛り込まれており、実在するコンシューマー向けアプリの質感を再現しています。
<div style="opacity:0.7;margin-top:2px;">mutuals.v0.6.1</div>
2コア機能
4推奨統制措置と判定根拠
- SKILL.md: 純粋なプロンプト指示およびルールテキストのみで構成され、スクリプト実行や外部への影響はありません。
5二重目の独立検証
- [discrepancy] KPI 数量与 SKILL.md 的关系 — SKILL.md 仅写 Headline KPIs 未给数量;示例实现为 3×3 共 9 格(含 Exes in your circle / Shared blocks / Logged-off hrs 等生活化指标)。属示例扩展而非模板要求,详情页不应把 9 格当作固定规格。
- [ok] 「无脚本」判定 — dating-web/ 内 <script> 计数为 0;30 天柱状图以 <rect> 手工排布(含高亮柱 fill="#c14a2b"),无图表库、无 Canvas。
- [ok] 端点与判级 — 目录内 http(s) 仅 fonts.googleapis.com(css2 样式表)与 fonts.gstatic.com(preconnect),均为产物期引用;SKILL.md 只写字族风格要求、未点名端点,执行期零外发,维持 green。
- [ok] 窄屏降级是否存在 — 媒体查询内 aside.rail 改为 border-right:none + border-bottom,左栏折叠为顶部条,与桌面 1440 定位不冲突,属可用的移动端降级。
- [ok] license / stars / commit 元数据 — GitHub API(api.github.com/repos/nexu-io/html-anything):spdx_id=Apache-2.0、stargazers_count=8827、pushed_at=2026-09-15T03:36:24Z;工作副本 git HEAD = 553ed98c283f9c0f489902d035416a972d6a9699(与任务表 pin 553ed98c283f 同源)。
- [ok] skill.path 与目录资产面 — pin 目录内该路径存在且含 SKILL.md;目录内文件清单已用 glob 全量核对(含隐藏文件),无 scripts/、无 references/、无二进制资产(competitive-teardown 的 assets/ 为纯 HTML,另行记录)。
6結論
e3773d07ae610754…