Home / All Skills / Design & Motion / frame-logo-outro
Design & Motion · nexu-io/html-anything

frame-logo-outro

Logo piecewise assembly entrance + glow bloom + tagline reveal, suitable for video outros / brand closings

L1 Basic · Source registration onlyV1 Commit-PinnedDual-pass Audit
Author nexu-ioGitHub nexu-io/html-anything ↗Stars 8827License Apache-2.0(仓库根 LICENSE;GitHub API spdx_id=Apache-2.0)Commit 553ed98c28
Control levels describe skill capabilities and suggested control measures; they do not represent quality or safety certifications, nor do they dictate usability. Usage decisions rest entirely with users and administrators. Different agent hosts apply varying constraints; do not assume hosts provide automatic protection. Third-party skill copyrights belong to their original authors. Use at your own risk.

1How It Works & Mechanism

This skill is not an executable program, but a prompt injected into the local coding-agent CLI: the host takes the body of SKILL.md, prepends a site-wide shared design instruction, appends user content to assemble a prompt, passes it to the logged-in agent, and retrieves the agent's stdout as HTML.

next/src/lib/templates/shared.ts
【输入格式】: ${opts.format} 【用户内容】: ${opts.content}
Assembly template = shared instruction → skill body → input format → user content; the web end /api/convert uses the same function: prompt = assemblePrompt({ body: skill.body, content, format });

The shared instruction layer (which does not belong to any single skill, but governs every template) pins the output as a 'self-contained single-file HTML' and explicitly forbids the agent from using filesystem tools like Write/Edit/Bash, streaming HTML directly as conversation text.

next/src/lib/templates/shared.ts
- **禁止使用 Write / Edit / MultiEdit / Bash / Create / 任何文件系统工具**。不要把 HTML 写到任何 \`.html\` 文件里。前端直接捕获你的 stdout 文本, 文件落盘由前端负责。
This is the source of capability boundaries for this skill batch: the artifact is merely text, while disk writes and rendering are handled by the host frontend; this prohibition is a prompt soft constraint, not hard sandbox isolation.

Beyond SKILL.md, there is a 'content-driven quantity' override rule: any page, frame, or card count specified in the template is strictly treated as a reference baseline minimum; the actual quantity is determined by user content—preventing the agent from compressing user content to match template numbers.

next/src/lib/templates/shared.ts
- 模板只定义"可用版面 / 风格 / 配色 / 字体 / 组件库", **不定义** slide / 帧 / 卡片 / section 的数量。
This is particularly critical for frame-* single-frame templates: it characterizes the layout description in the template as a 'reusable layout pool' rather than an output cap.

The loading convention is 'one skill = one directory': SKILL.md (YAML frontmatter for the selector + body as template prompt), optional example.md (sample input), and example.html (directly openable preview sample); adding new templates only requires adding directories without modifying TS code.

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
The loader's loadSkillFromDir reads only these three types of files and has no other asset loading channels—used during the second pass to verify asset reachability for this skill.

The selection pipeline (CLI side) is a three-stage funnel: strong keyword signals (2 points per matched word, threshold 3) → falls back to tags/scenario scoring → if still uncertain, feeds the first 800 characters of user content to the local agent for single-sentence classification.

cli/src/skills-matcher.ts
const CONFIDENCE_THRESHOLD = 3;
AI fallback original prompt: const prompt = `请用一句话(不超过15个字)描述以下内容最像什么类型的文档,只需回答类型名称:

The preview pipeline is independent of generation: /api/templates/<id>/preview returns example.html as text/html verbatim to the iframe; the frontend iframe uses sandbox="allow-scripts allow-same-origin".

next/src/components/preview-pane.tsx
sandbox="allow-scripts allow-same-origin"
Route comment: * Returns the skill's `example.html` verbatim so it can be loaded into an (Host-side trade-off: under the allow-scripts + allow-same-origin combination, scripts in the preview page can remove the sandbox themselves).

The logo is not an image but required to be 4-8 geometric blocks (circle / square / triangle / hairline) drawn with CSS / inline SVG. Upon entrance, each block slides in from different off-screen directions + scale 1.4→1.0 + opacity 0→1, staggered by 80ms across a 1.2s total duration.

next/src/lib/templates/skills/frame-logo-outro/SKILL.md
- 入场动画: 每个块从屏幕外滑入 (±100px 不同方向) + scale 1.4→1.0 + opacity 0→1, 错峰 80ms; 总时长 1.2s。
Geometric block assembly constitutes the main entrance, with displacement/scaling/staggering hardcoded all at once.

After assembly, two concluding animation segments follow: the entire logo receives a glow bloom (drop-shadow 24px accent at 40% opacity), while a shimmer sweeps across the logo using mask-image (500ms).

next/src/lib/templates/skills/frame-logo-outro/SKILL.md
description: "Logo 分块组装入场 + glow bloom + tagline 揭示, 适合视频片尾 / 品牌闭幕"
bloom + shimmer serve as the two-stage outro once assembly finishes.

Text enters layered along a timeline: brand name starts at 1.4s (typewriter or fade-up), tagline fades in at 1.8s, and the bottom CTA/metadata line uses 11px uppercase + letter-spacing 0.16em + opacity 0.4 + hairline dividers.

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 开始)。
Brand name and tagline enter in layers, establishing an explicit timeline.

Ending frame semantics are explicitly specified: the entire animation freezes upon completion and does not loop—because it serves as a video closing frame rather than a looping motion graphic.

next/src/lib/templates/skills/frame-logo-outro/SKILL.md
- 单文件 HTML; 整个动画完成后 freeze (不要 loop, 这是视频结尾帧)。
freeze rather than loop: this rule determines the delivery semantics (video outro frame).

Color schemes offer a choice of four with mixing strictly prohibited (Midnight Indigo / Solar Amber / Forest Mint / Bone & Ink), and explicitly state that logos must never use external images and must be geometrically drawn purely in CSS/inline SVG.

next/src/lib/templates/skills/frame-logo-outro/SKILL.md
example_tagline: "Midnight Indigo + glow bloom"
Four palettes + external logo ban + fallback copy, balancing branding with offline capability.

2Core Capabilities

014-8 geometric block logo piecewise assembly animation (80ms stagger, 1.2s total duration)
02glow bloom + shimmer mask sweep outro
03Brand name/tagline/CTA layered timeline (1.4s / 1.8s)
04Ending freeze semantics (no loop)
05Four brand color palettes (Midnight Indigo / Solar Amber / Forest Mint / Bone & Ink)
06Logo must be pure CSS/inline SVG; external logo images prohibited
07Fallback copy when brand name/tagline is missing
08Animations respect prefers-reduced-motion to disable
09Selector keywords: logo / outro / 片尾 / 结尾 / brand

3External Dependencies

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

4Recommended Governance & Evidence

Suggested Controls for Safe Operation
For Agent Runtime
Can be auto-loaded
For Administrators
Register source and version
Evidence & Triggers (File Paths & Excerpts)
  • SKILL.md: Pure prompt instructions and rule text; contains no script execution or external side effects
Audit Notes: The evaluation target is this skill directory itself (standard: what actually happens when executing according to SKILL.md): SKILL.md consists purely of instruction text, and the accompanying example.md/example.html are samples and preview templates. The directory contains no scripts, no runtime network calls, no credential reads, and no agent-side disk writes. SKILL.md also does not reference any external generation/service backends (in contrast to orange precedents ai-image-generation / seedance, which transmit assets to external generation backends and consume account credits; this template produces no outbound asset transmission). Explanatory items not affecting the tier: example.html in the directory links externally to cdn.tailwindcss.com and fonts.googleapis.com (Batch 4 standard: example.html external links are artifact samples and not evaluated); the shared instruction layer similarly requires generated output to import Tailwind and Google Fonts via CDN in the head (- 在 `<head>` 中通过 CDN 引入 Tailwind v3 Play (https://cdn.tailwindcss.com) 与所需的 Google Fonts。), which constitutes host shell behavior. Host context (not factored into the tier, see verdict.risks): preview iframe uses sandbox="allow-scripts allow-same-origin"; host launches agent with full permissions ("bypassPermissions", / "--yolo",). Additional note: SKILL.md explicitly forbids external images for logos (pure CSS/inline SVG only); the directory contains no scripts, no credentials, and no disk writes.

5Second-Pass Verification

  • [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。

6Verdict & Scenarios

  • Breaks the brand closing frame into a complete timeline (assembly 1.2s → bloom → brand name 1.4s → tagline 1.8s → CTA), ready to screen-record as an outro without post-production motion design.
  • Mandates geometric logo rendering (prohibiting external images), avoiding copyrighted images and broken links while enabling offline rendering of the frame.
  • Clear delivery semantics of freeze rather than loop, avoiding misdelivering an outro as a looping animation.
  • Four palettes include a non-neon editorial option (Bone & Ink), covering non-tech brand aesthetics.
  • Included in the README pinned recommendations (recommended: 8) with official screenshots, ensuring predictable output quality.
  • Best for: Suitable for product launch videos, brand films, and demo outro cards; also ideal for indie developers and small teams lacking design resources who need an outro frame that looks like it was made by a dedicated brand team.
    Not for: Not suitable for brands requiring pixel-perfect reproduction of existing logos (containing complex glyphs/curves); not suitable for looping playback scenarios (the template explicitly freezes); not suitable for complex editing requiring precise audio-visual synchronization (it provides only a single frame + CSS timeline).
    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
    Agents automatically download and verify mirrors from this JSON guide.
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 553ed98c28.