frame-macos-notification
Photorealistic macOS notification banner + app icon + title and body text, suitable for video overlays / product launch teasers.
1How It Works & Mechanism
Photorealism comes from a set of hardcoded macOS numeric values: 14px border radius, frosted glass rgba(245,245,247,0.78) + backdrop-filter blur(40px) saturate(180%), 1px border + top highlight + double-layer shadows—all ready-to-use parameters.
- 背景: **frosted glass** 效果 — `background: rgba(245,245,247,0.78)` + `backdrop-filter: blur(40px) saturate(180%)`; 暗色版 `rgba(28,28,30,0.78)`。
App icons are rendered using pure CSS gradients + unicode emoji/monograms, with external image links explicitly prohibited in the body text.
- 左侧: **App icon** (44×44, 圆角 10px, CSS gradient + 1 个 emoji 或 monogram 字母, **不用外链图片**)。
Slide-in entrance animations are paired with accessibility fallbacks (200ms ease-out, disabled via prefers-reduced-motion).
- 入场动效: 从屏幕外右侧滑入 `transform: translateX(110%)→0`, 200ms ease-out; 可被 `prefers-reduced-motion` 关闭。
The template itself is the prompt: SKILL.md body text is read by the loader, assembled with the shared preamble and user content, and passed to the local agent CLI for execution.
prompt = assemblePrompt({ body: skill.body, content, format });
The skill directory consists purely of text assets: the loader reads SKILL.md from disk, and no executable code within the directory is ever loaded.
const raw = safeRead(path.join(dir, "SKILL.md"));
The shared preamble is injected prior to the template, establishing the highest priority rule: 'the template only defines layout/style/color palette/fonts/component library, while the count is determined by user content.'
【内容驱动数量 — 最高优先级, 覆盖模板里的任何数字】
The shared preamble is injected prior to the template, establishing the highest priority rule: 'the template only defines layout/style/color palette/fonts/component library, while the count is determined by user content.'
- **禁止使用 Write / Edit / MultiEdit / Bash / Create / 任何文件系统工具**。不要把 HTML 写到任何 \`.html\` 文件里。前端直接捕获你的 stdout 文本, 文件落盘由前端负责。
The skill directory consists purely of text assets: the loader reads SKILL.md from disk, and no executable code within the directory is ever loaded.
const exampleHtml = safeRead(path.join(dir, "example.html"));
2Core Capabilities
4Recommended Governance & Evidence
- SKILL.md: Pure prompt instructions and rule text; no script execution or external impact.
5Second-Pass Verification
- [discrepancy] 规范↔示例:横幅尺寸 — 正文写 `480×120 (或更长 480×180 含正文)`,示例实际是 w-[420px] p-3 的三张 420px 宽横幅(含标题 + 双行正文后高度超出 120px)——示例未按自身规范出图,模型同时看到两份口径。
- [discrepancy] 规范↔示例:入场动效时长 — 正文写 `200ms ease-out`,示例是 `animation: slideIn .4s ease-out`(400ms)。
- [ok] 规范↔示例:磨砂/图标/堆叠/按钮 — rgba(28,28,30,0.78) + backdrop-filter blur(40px) saturate(180%)、-webkit- 前缀、CSS gradient 图标、scale 0.96/0.92 堆叠、Open 胶囊按钮均在 example.html 命中,与正文一致。
- [ok] example.md 与 example.html 一致性 — example.md 的 App/Title/Body/Time 与二级通知(Cursor/Spotify)逐条对应示例中的三张横幅。
- [ok] 目录资产面普查 — glob 全量:SKILL.md、example.html、example.md;无 scripts/、无 references/、无数据文件、无包管理器清单。
- [ok] 可执行代码普查 — example.html 内 <script> 计数 = 1,fetch/XMLHttpRequest/WebSocket 命中 0;SKILL.md 全篇无脚本或可执行代码。
- [ok] 外链端点普查 — 目录内 URL:https://cdn.tailwindcss.com、https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;700&display=swap、https://hyperframes.heygen.com/catalog(皆为 example.html 产物示例或 frontmatter 出处标注;正文未要求运行期外发)
- [ok] official_desc 逐字核对 — meta.official_desc 与 SKILL.md frontmatter 的 description 逐字一致。
6Verdict & Scenarios
f9ec98ded8bf2d96…