1仕組みと動作原理
本スキルは実行可能プログラムではなく、「1ディレクトリ=1テンプレート」構成をとっています。SKILL.mdのfrontmatterはセレクター表示用であり、本文(body)はモデルに送信するプロンプトそのものです。テンプレートの追加はディレクトリの追加のみで完結し、TypeScriptの変更は不要です。
routes rescan disk and the client refetches `/api/templates`.
実際に発行されるプロンプトは、プラットフォーム共有デザイン指示(SHARED_DESIGN_DIRECTIVES)+ 本スキルのSKILL.md本文 + ユーザーコンテンツとなり、assemblePromptによって1つのプロンプトに統合されます。
Wrap a per-template instruction body with the shared design directives and
完成原稿の出力はファイルシステムを経由しません。共有指示によりWrite/Edit/Bashなどのファイル操作ツールの使用が明示的に禁止されており、モデルにはHTML全体を返答本文として直接ストリーミング出力することが求められます(stdoutはフロントエンド側でキャプチャされ保存されます)。
**禁止使用 Write / Edit / MultiEdit / Bash / Create / 任何文件系统工具**。不要把 HTML 写到任何 \`.html\` 文件里。前端直接捕获你的 stdout 文本, 文件落盘由前端负责。
スタイルはすべてSKILL.mdの【レイアウト】リストにおいて、「カラー値 + フォント + 角丸 + コンポーネント」の4要素で厳格に固定されています:クリーム背景 #fef8f1、3つのソフトグローblob、Playfairイタリックセリフ見出し、28px角丸マカロンカード、Playfairイタリックの01〜04通し番号。
- 奶油 #fef8f1 底 + 三个柔光 blob
カードの28px角丸とソフトグローblobは、example.html内でそのままコピー可能な具体的CSSとして実装されています:カードは28px角丸 + 0 14px 40pxのソフトシャドウ、blobは放射状グラデーションを持つ3つの大きな円 + blur(2px)です。
.tpl-xhs-pastel-card .xp-card{border-radius:28px;padding:30px 34px;background:#fff;box-shadow:0 14px 40px rgba(42,35,64,.08);position:relative;overflow:hidden}
数値グラフはチャートライブラリに依存しません。1週間の時間配分は手書きのSVGドーナツ(複数セグメントのcircle + stroke-dasharrayオフセット)で描画され、中央にはPlayfairフォントで4hと表示されます。
<text x="130" y="130" text-anchor="middle" font-family="Playfair Display" font-size="44" font-weight="900" fill="#2a2340">4h</text>
ページ数はテンプレート側で固定されません。共有指示が「コンテンツ主導のボリューム決定」を要求しており、テンプレートは再利用可能なレイアウトプールを提供するのみです。
模板只定义"可用版面 / 风格 / 配色 / 字体 / 组件库", **不定义** slide / 帧 / 卡片 / section 的数量。
サーバーサイドの /api/convert が行うのは3つの処理のみです:templateIdに基づいてディスクからスキルを読み込み、プロンプトを組み立て、ローカルのagent CLIをspawnしてSSEストリーミングで出力を転送します。
prompt = assemblePrompt({ body: skill.body, content, format });
2コア機能
4推奨統制措置と判定根拠
- SKILL.md: 純粋なプロンプト指示およびルールテキストのみであり、スクリプト実行や外部への影響はなし
5二重目の独立検証
- [ok] 目录只有 SKILL.md + example.html(无脚本/无资产) — find 结果 2 个文件;<script 与事件处理器零命中。
- [ok] 「奶油底 #fef8f1 底 + 三个柔光 blob」 — example.html 有 --xp-bg:#fef8f1 与 .xp-blob.b1/.b2/.b3 三条径向渐变规则。
- [ok] 「Playfair 斜体 01-04 序号」 — 卡片内 <div class="xp-num">01</div>…04 与 .xp-h1 em{font-style:italic} 均为 Playfair Display。
- [ok] 「SVG donut 图 + chip+page 顶栏」 — 第 06 页背景层含四段 stroke-dasharray 的圆环 + 中心 4h;每页 xp-topbar 内 xp-chip + xp-page。
- [discrepancy] aspect_hint 16:9 与样例的对应关系 — SKILL.md frontmatter 写 aspect_hint: "16:9",但 example.html 的 .slide 是 width:100vw/height:100vh 全屏适配(由宿主的 deck 模式播放),并没有 16:9 固定画布;选择器缩略图处才出现 aspect-ratio:16/9。结论:16:9 是宿主预览/导出的约束,不是模板文件里的画布尺寸。
- [ok] 页数口径 — 样例为 8 页(页脚 01 · 08…08 · 08),符合共享指令「模板不定义数量、由内容决定」;SKILL.md 未写死页数。
- [ok] 官方描述逐字一致 — description 原文「奶油底 + 柔光 blob + 马卡龙圆角卡片 + Playfair 斜体序号」与 SKILL.md 逐字相同。
6結論
e9e5fecb3c98880a…