1仕組みと動作原理
本skillは実行可能プログラムではなく、html-anythingの「テンプレート」です。1つのディレクトリ(SKILL.md + example.html[/example.md])として存在し、実行時にloader.tsがディスクをスキャンして読み込みます。新規テンプレートの追加=新規ディレクトリの追加であり、TypeScriptの修正は不要です。
Adding a template = adding a folder. No TS code change required; the API
frontmatterはセレクター/API向けのメタデータ(zh_name/en_name/emoji/description/category/scenario/aspect_hint/featured/recommended/tags)であり、fmToMeta()によってSkillMetaにマッピングされます。frontmatter以降の本文のみがモデルへの仕様書となります。
zhName: fm.zh_name ?? fm.name ?? id,
生成時、本テンプレート本文はプロンプト本文として扱われます。/api/convertがassemblePrompt()を用いて「グローバルデザイン指示+本テンプレート本文+ユーザーコンテンツ」を1本のプロンプトに結合し、ホストのローカルagent CLIに渡し、HTMLをstdoutストリーミング経由でキャプチャします。
prompt = assemblePrompt({ body: skill.body, content, format });
テンプレート本文の前にはグローバル共通指示(SHARED_DESIGN_DIRECTIVES)が前置され、技術およびコンテンツの規律が各テンプレートの前に統一して付与されます。サンプルHTMLに広く見られるCDNやWebフォントの外部リンクはこれに由来します(ホストシェルによる注入であり、テンプレート自体の要求ではありません)。
通过 CDN 引入 Tailwind v3 Play (https://cdn.tailwindcss.com) 与所需的 Google Fonts。
生成物はstdoutテキストとして返却されます。グローバル指示によりエージェントによるファイルシステム操作は明示的に禁止されており、ディスクへの保存はフロントエンドが担当します。そのため、テンプレートディレクトリにはスクリプトもディスク書き込み能力も存在しません。
**禁止使用 Write / Edit / MultiEdit / Bash / Create / 任何文件系统工具**。
example.htmlはパッケージに同梱された事前レンダリング済みのサンプルです。/api/templates/<id>/previewはiframe(セレクター内のインラインプレビュー)向けにtext/html形式のまま返却し、/api/templates/<id>/exampleはexample.mdとexample.htmlをセットで返却します。
return new Response(skill.exampleHtml, {
本文ではスタイルを検証可能な4つの要素として定義しています。ニュースプリント風キャンバス+ヘアライン格子グリッド区切り、単体ブラックグロテスク見出し、ビューポートからはみ出す巨大数字、ハザードレッド強調色+ASCII装飾です。
- Newsprint canvas + hairline grid dividers
サンプルではCSS変数を用いてスタイルを一連のトークンとして固定化しています: --paper #F4F4F0(ニュースプリント)、--hazard #E61919、display用にArchivo Black、meta用にJetBrains Mono。
--hazard: #E61919;
サンプルのハザードカラーは装飾的なアクセントではなく、構造的な区切り(hr.hazardやmeta-rowの1px上ボーダー)として使用されています。
hr.hazard { border: 0; border-top: 1px solid var(--hazard); margin: 0; }
サンプルでは本文で例示された罫線文字(┌─┘)の代わりに、角括弧フレーム(.ascii-frame::before content: '[' / ::after content: ']')を用いてASCIIのニュアンスを持つ装飾を実現しています。
.ascii-frame::before { content: '['; color: var(--hazard); }
CLI側にはキーワードによる直接マッチングルートが存在します。skills-matcher.tsがユーザーコンテンツ内のキーワードを本テンプレートidへ直接マッピングし、ヒットした場合はconfidence=ヒット数×2+3を付与します。しきい値3に達するとローカルルールが適用され、モデルによるテンプレート選択は行われません。
[["brutalist", "工业", "粗野", "swiss", "industrial print"], "web-proto-brutalist"],
CLIのフォールバックマッチングで使用されるしきい値定数: コンテンツの長さが60文字を超えている場合のみAI要約マッチングが有効化され、強シグナルのしきい値は3です。
const MIN_CONTENT_LENGTH_FOR_AI = 60;
ホストシェルはsandbox="allow-scripts allow-same-origin"のiframeを用いてサンプルや生成物をレンダリングします(スクリプト実行および同一オリジンアクセスを許可)。これは製品シェル側の設計判断であり、リスクとして記載されていますが、本skillの格付けには影響しません。
sandbox="allow-scripts allow-same-origin"
2コア機能
3外部依存関係
| Kind | Dependency / Endpoint |
|---|---|
| network | Google Fonts(Archivo Black / Archivo / JetBrains Mono) |
| network | Google Fonts 静态资源域(preconnect) |
4推奨統制措置と判定根拠
- SKILL.md: 純粋なプロンプト指示およびルールテキストのみで構成され、スクリプト実行や外部影響は一切なし
5二重目の独立検証
- [ok] skill 目录文件清单 — find 得 SKILL.md + example.html,无 scripts/references。
- [ok] 无脚本执行 — grep -c "<script" example.html = 0。
- [ok] 外部端点仅字体 — example.html 仅 fonts.googleapis.com css2 与 fonts.gstatic.com preconnect;SKILL.md 正文无 URL。
- [discrepancy] ASCII 装饰的具体字符 — SKILL.md 写「ASCII 装饰 (┌─┘ 等)」,示例无 ┌/─/┘ 命中,改用 .ascii-frame 的 [ ] 方括号;属实现变体,语义(机械式框架标记)一致。
- [ok] hazard 色是否真结构性使用 — --hazard 用于 hr.hazard 分隔线、.brand sup、.meta-row b、.ascii-frame 伪元素、.abstract 标签等结构位置,非纯点缀。
- [ok] CLI 匹配器路由 — cli/src/skills-matcher.ts 存在 [["brutalist", "工业", "粗野", "swiss", "industrial print"], "web-proto-brutalist"] 行。
- [ok] 判级 green 自证 — 目录零脚本文件、零凭证、零写盘;正文无运行时接口,端点仅见示例 → green。
- [ok] official_desc 逐字 — meta.official_desc 取自 frontmatter description 原文「Swiss industrial-print 风: 单字 grotesque、巨数字、ASCII 装饰」。
6結論
aa6036af392f1c58…