デザイン&モーション · nexu-io/html-anything

frame-logo-outro

ロゴのパーツ組み立てイン + glow bloom + タグライン表示。動画のアウトロやブランドクロージングに最適

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 本文を取得し、先頭にサイト共通デザイン指示、末尾にユーザーコンテンツを連結して1本のプロンプトを作成し、ログイン済み agent に渡して、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 の組み合わせ下では、プレビューページのスクリプトが自らサンドボックスを解除可能です)。

ロゴは画像ではなく、CSS / インライン SVG で描画される 4〜8 個の幾何学ブロック(円 / 正方形 / 三角形 / ヘアライン)であることが求められます。イン時には各ブロックが画面外の異なる方向からスライドイン + scale 1.4→1.0 + opacity 0→1 となり、80ms 刻みで総時間 1.2s かけて組み立てられます。

next/src/lib/templates/skills/frame-logo-outro/SKILL.md
- 入场动画: 每个块从屏幕外滑入 (±100px 不同方向) + scale 1.4→1.0 + opacity 0→1, 错峰 80ms; 总时长 1.2s。
幾何学ブロックの組み立てがインの主役であり、移動/スケール/時間差が一括でハードコードされています。

組み立て完了後は2段階のフィニッシュアニメーションが続きます:ロゴ全体に glow bloom(drop-shadow 24px アクセント 40% 不透明度)が適用され、同時に shimmer が mask-image を使用してロゴ上をスイープ(500ms)します。

next/src/lib/templates/skills/frame-logo-outro/SKILL.md
description: "Logo 分块组装入场 + glow bloom + tagline 揭示, 适合视频片尾 / 品牌闭幕"
bloom + shimmer が組み立て完了後の2段階のフィニッシュです。

テキストはタイムラインに従って階層的に登場します:ブランド名は 1.4s から(typewriter または fade-up)、タグラインは 1.8s でフェードイン、最下部の CTA/メタデータ行は 11px uppercase + letter-spacing 0.16em + opacity 0.4 + ヘアライン区切りを使用します。

next/src/lib/templates/skills/frame-logo-outro/SKILL.md
- **品牌名**: logo 下方 6-8% 位置, 大字 (Inter Tight / SF Pro Display, 48-72px, weight 700, letter-spacing -0.02em), 入场: typewriter or fade-up after logo bloom (1.4s 开始)。
ブランド名とタグラインが階層的にインし、明確なタイムラインを形成します。

最終フレームのセマンティクスが明示的に規定されています:アニメーション全体が完了した後は freeze し、ループさせないこと——ループアニメーションではなく動画の終了フレームであるためです。

next/src/lib/templates/skills/frame-logo-outro/SKILL.md
- 单文件 HTML; 整个动画完成后 freeze (不要 loop, 这是视频结尾帧)。
loop ではなく freeze:この規定が成果物のセマンティクス(動画のエンドフレーム)を決定づけます。

カラーパレットは4種から1つを選択し混用は禁止(Midnight Indigo / Solar Amber / Forest Mint / Bone & Ink)、さらにロゴに外部画像を使用することは一切禁止され、純粋な CSS/インライン SVG による幾何学描画が義務付けられています。

next/src/lib/templates/skills/frame-logo-outro/SKILL.md
example_tagline: "Midnight Indigo + glow bloom"
4種のカラーパレット + 外部ロゴ禁止 + フォールバックコピーにより、ブランド性とオフライン性を両立しています。

2コア機能

014〜8個の幾何学ブロックによるロゴ組み立てアニメーション(80msの時間差、合計1.2秒)
02glow bloom + shimmer mask スイープフィニッシュ
03ブランド名/タグライン/CTA の階層型タイムライン(1.4秒 / 1.8秒)
04終了時 freeze セマンティクス(ループなし)
054つのブランドカラーパレット(Midnight Indigo / Solar Amber / Forest Mint / Bone & Ink)
06ロゴは純粋な CSS/インライン SVG が必須、外部ロゴ画像は禁止
07ブランド名/タグライン欠落時のフォールバックテキスト
08prefers-reduced-motion によるアニメーション無効化対応
09セレクターキーワード:logo / outro / 片尾 / 结尾 / brand

3外部依存関係

KindDependency / Endpoint
networkGoogle Fonts(Inter Tight / Inter / Noto Sans SC,示例页实际引用)
networkTailwind Play CDN(共享指令强制;示例页亦引用)
networkhyperframes 目录页(frontmatter 出处标注,非运行时请求)

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

安全運用のための推奨統制措置
Agent 向け
自動ロード可能
管理者向け
ソースとバージョンの記録
判定根拠(ファイルパスと抜粋)
  • SKILL.md: 純粋なプロンプト指示およびルールテキストのみであり、スクリプト実行や外部への副作用はありません
監査ノート: 評価対象は本 skill ディレクトリ自体です(基準:SKILL.md に従って実行した際に実際に何が起こるか):SKILL.md は純粋な指示テキストであり、付属の example.md/example.html はサンプルおよびプレビュー用見本です。ディレクトリ内にスクリプト、実行時ネットワーク呼び出し、認証情報の読み取り、agent 側のファイル書き込みは存在しません。SKILL.md も外部生成/サービスバックエンドを指定していません(外部生成バックエンドに素材を送信しアカウントクレジットを消費するオレンジ事例 ai-image-generation / seedance と対比:本テンプレートは素材の外部送信を発生させません)。格付けに影響しない説明事項:ディレクトリ内の example.html は cdn.tailwindcss.com および fonts.googleapis.com へ外部リンクしています(バッチ4基準:example.html の外部リンクは生成物サンプルの範疇であり格付け対象外)。共通指示レイヤーも同様に生成物の head 内で Tailwind と Google Fonts を CDN 経由で読み込むよう求めています(- 在 `<head>` 中通过 CDN 引入 Tailwind v3 Play (https://cdn.tailwindcss.com) 与所需的 Google Fonts。),これはホスト側のシェル動作です。ホスト背景(格付けには含めず、verdict.risks 参照):プレビュー iframe は sandbox="allow-scripts allow-same-origin" を使用;ホストは全権限モードで agent を起動("bypassPermissions", / "--yolo",)。追記:SKILL.md はロゴへの外部画像使用を明示的に禁止(純粋な CSS/インライン SVG のみ);ディレクトリ内にスクリプト、認証情報、ディスク書き込みはありません。

5二重目の独立検証

  • [ok] 装配动画/时间轴规格 — 重读 SKILL.md【布局】四段,逐字复核 ±100px、scale 1.4→1.0、80ms 错峰、1.2s、1.4s/1.8s 等数值。
  • [ok] freeze 语义 — SKILL.md 原文:单文件 HTML; 整个动画完成后 freeze (不要 loop, 这是视频结尾帧)。引用逐字通过。
  • [ok] recommended 定位 — frontmatter recommended: 8;README 推荐组按 recommended 排序 + 截图 docs/screenshots/skills/frame-logo-outro.png 双重印证。
  • [ok] 『禁外链 logo』结论 — SKILL.md 原文:**绝不**: 用外链 logo 图片; logo 必须用纯 CSS / 内联 SVG 几何绘制。;示例页扫描无图片资源域。
  • [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結論

  • ブランドのエンドフレームを完全なタイムライン(組み立て 1.2s → bloom → ブランド名 1.4s → タグライン 1.8s → CTA)として構築し、後編集でモーショングラフィックスを組むことなく、そのまま画面録画してアウトロとして使用可能です。
  • ロゴの幾何学描画を強制(外部画像の禁止)することで、著作権画像やリンク切れを防ぎ、フレームの完全オフラインレンダリングを実現します。
  • ループではなく静止(freeze)という成果物セマンティクスが明確であり、アウトロがループアニメーションとして出力されるのを防ぎます。
  • 4つのパレットにネオン系以外の editorial 向けスキーム(Bone & Ink)が含まれており、非テック系ブランドのトーン&マナーにも適応します。
  • README の推奨リスト(recommended: 8)に選定されており、公式スクリーンショットも用意されているため、出力結果の予測が容易です。
  • 最適な用途: 製品発表動画、ブランドムービー、デモのアウトロカードに最適です。専任のデザイナーがおらず、「ブランドチームが制作したかのような」高品質なエンドフレームを必要とする個人開発者や小規模チームにも適しています。
    不向きな用途: 既存のロゴ(複雑なグリフやベクター曲線を含む)を高忠実度に再現する必要があるブランドには不向きです。ループ再生が必要なシーン(テンプレート上明示的に freeze される仕様)、および映像と音声を厳密に同期させる複雑な編集作業には適していません(単一フレーム + CSS タイムラインのみの提供となります)。
    Install Agent-Ready
    ① Verified Mirror 2026-09-15
    Option A · Direct DownloadDownload frame-logo-outro.tar.gz
    sha256: 2b9a714941c3e7ad…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 553ed98c28.