1仕組みと動作原理
このskillは実行可能プログラムではなく、ローカルのcoding-agent CLIに注入されるプロンプトです。ホストがSKILL.md本文を取得し、前方にサイト共通デザイン指示、後方にユーザーコンテンツを連結して1本のプロンプトを構築し、ログイン済みagentに渡して、agentのstdoutをHTMLとして取得します。
【输入格式】: ${opts.format} 【用户内容】: ${opts.content}
共通指示レイヤー(単一のskillには属さず、全テンプレートの上位に位置)は、出力を「自己完結型シングルファイルHTML」に固定し、agentによるWrite/Edit/Bashなどのファイルシステムツールの使用を明示的に禁止して、HTMLを対話本文として直接ストリーミング出力させます。
- **禁止使用 Write / Edit / MultiEdit / Bash / Create / 任何文件系统工具**。不要把 HTML 写到任何 \`.html\` 文件里。前端直接捕获你的 stdout 文本, 文件落盘由前端负责。
SKILL.mdとは別に「コンテンツ主導の数量」オーバーライド規則が存在します。テンプレート内のページ数/フレーム数/カード数はすべて参考下限とみなされ、実際の数量はユーザーコンテンツによって決定されます。これにより、agentがテンプレートの数字に合わせてユーザーコンテンツを圧縮するのを防ぎます。
- 模板只定义"可用版面 / 风格 / 配色 / 字体 / 组件库", **不定义** slide / 帧 / 卡片 / section 的数量。
読み込み規約は「1 skill = 1 フォルダ」です。SKILL.md(セレクター用YAML frontmatter + プロンプト本文)、任意の example.md(サンプル入力)および example.html(直接開けるプレビューサンプル)で構成され、テンプレート追加時もディレクトリを追加するだけで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
選択パイプライン(CLI側)は3段階のファネルです。キーワード強シグナル(1語一致につき2点、閾値3)→ tags/scenario によるスコアリングへフォールバック → 判定できない場合はユーザーコンテンツの先頭800文字をローカルagentに渡し、一文で分類させます。
const CONFIDENCE_THRESHOLD = 3;
プレビューパイプラインは生成から独立しています。/api/templates/<id>/preview は example.html をそのまま text/html としてiframeに返し、フロントエンドのiframeは sandbox="allow-scripts allow-same-origin" を使用します。
sandbox="allow-scripts allow-same-origin"
流体背景には3段階の実装パスが用意され、デフォルトで最も安定した第1階層が使用されます。CSSの多層 radial-gradient による呼吸アニメーション(3〜5個の大きな楕円、@keyframes translate+scale+hue-rotate、8〜14秒の周期ズレ、mix-blend-mode screen/overlay、最前面の backdrop-filter blur(80px))。
1. **CSS 多层 radial-gradient 错位呼吸** (最稳, 默认推荐):
第2・第3階層はプログレッシブエンハンスメントです。Canvas + 手書きパーリンノイズ/メタボール(約80行のインラインJS、requestAnimationFrame、prefers-reduced-motion 時は静止画キャプチャへフォールバック)、WebGLフラグメントシェーダー(jsdelivr経由のreglまたはインラインの素のWebGL、単一quad + u_time)。
3. **WebGL fragment shader** (高阶, 慎用):
テキスト層は mix-blend-mode: difference を採用し、「あらゆる流体色の上でも可読性を維持する」問題を解決しています。文字に縁取りや下地パネルを付けるよりも、流体背景において最も実用的なテクニックです。
- 文字色用 paper white `#fafaf8` 或 ink, 取决于背景明暗; 加 `mix-blend-mode: difference` 让它在任何流体颜色上都可读。
カラーパレットは定義済みの4セット(Solar Peach / Ocean Aqua / Aurora Violet / Forest Mint)に固定され、レインボーを排して4択から選択することが義務付けられています。
example_tagline: "Aurora Violet 流体"
キャンバスは 1920×1080 横向きと 1080×1920 縦向きの2択をサポートし、外部画像リンクは厳禁とされています(すべて CSS + SVG、任意で canvas のみ)。
- 严禁外链图片; 全部 CSS + SVG + 可选 canvas。
2コア機能
3外部依存関係
| Kind | Dependency / Endpoint |
|---|---|
| network | Tailwind Play CDN(共享指令强制;示例页亦引用) |
| network | Google Fonts(Inter Tight / Source Serif Pro / Noto Sans SC,示例页实际引用) |
| network | jsdelivr CDN(仅第 3 级 WebGL 方案引入 regl,可选、非默认路径) |
| network | hyperframes 目录页(frontmatter 出处标注,非运行时请求) |
4推奨統制措置と判定根拠
- SKILL.md: プロンプト指示およびルールテキストのみで構成され、スクリプト実行や外部影響はありません。
5二重目の独立検証
- [ok] 三级实现与文字层规格 — 重读 SKILL.md【流体背景】【顶层文字层】【调色】三段,引用逐字一致(含 blur(80px)、difference、四色板十六进制)。
- [ok] jsdelivr 条目定性 — source 中该词仅出现在 `用 jsdelivr CDN 引 regl 或 inline plain WebGL。`(SKILL.md:35,第 3 级且标注『高阶, 慎用』);按批4 口径未升档,已在 deps/reason 标注。
- [ok] 『单文件可双击打开』宣称 — SKILL.md 写明『WebGL 流体感, 但用 CSS / canvas 退化绘制, 确保单文件可双击打开』——与默认 CSS 方案一致,无夸大。
- [ok] 外部端点存在性 — example.html 实测命中 cdn.tailwindcss.com 与 fonts.googleapis.com;jsdelivr 未出现在示例页(仅 SKILL.md 可选路径)。
- [ok] 安全面 — 目录内 3 个文件无自写脚本(示例页仅 Tailwind CDN 标签)、无凭证、无写盘、无表单外发。
- [ok] meta 元数据 — GitHub API 实查 stars=8827、pushed_at=2026-09-15T03:36:24Z、license Apache-2.0。
- [unlocatable] 安装量 — 无公开安装量数据源,installs=null。
6結論
7995bcbdcff12379…