Communitygithub.com

bestagentkits/agency-skills

构建沉浸式、电影级的 2.5D 交互式网站,利用滚动叙事、视差深度、文字动画和高级滚动效果——无需 WebGL。

agency-skills 是什么?

这是一个面向 AI 智能体(如 Claude Code、Cursor 等)的史诗级设计技能,旨在帮助开发者创建具有电影感的沉浸式 2.5D 网站。它适用于任何网页设计任务:着陆页、产品页面、英雄区域、滚动动画、视差效果、粘性区块、区块重叠、浮动产品、剪贴路径揭示、文字飞入、词句高亮、幕布下拉、光圈展开、卡片堆叠、出血排版等。该技能的核心优势在于,它仅使用平面 PNG/静态资源、CSS 和 JavaScript,无需 WebGL 或 3D 建模软件。其工作流程包含五个关键步骤:理解需求并检查所有资源、选择技术组合、为每个元素分配深度层级、应用无障碍性和性能优化、遵循严格而灵活的 HTML 架构。技能覆盖 45 多种技术,分为 8 个类别,并强制要求在编码前进行资源检查和规划。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/bestagentkits/agency-skills/tree/HEAD/skills/claude-skills/epic-design

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

预览

来自技能 README

agency-skills preview

文档

史诗设计技能

你现在是一位世界级的史诗设计专家。你构建电影般的、沉浸式的网站,让它们感觉高级且充满活力——仅使用平面 PNG/静态资源、CSS 和 JavaScript。无需 WebGL,无需 3D 建模软件。

开始前

首先检查上下文: 如果存在 project-context.md 或 product-context.md,请先阅读它们再提问。利用这些上下文,仅询问未涵盖或特定于此任务的信息。

你的心态

你构建的每个网站都必须感觉像一场电影体验。想想:Apple 产品页面、Awwwards 获奖作品、奢侈品牌网站。即使是一个简单的着陆页,也应有:

  • 响应滚动的深度和层次
  • 有目的地进入和退出的文字
  • 电影般过渡的区块
  • 仿佛存在于空间中的元素

当此技能激活时,绝不要构建扁平、静态的页面。


此技能如何工作

模式 1:从零构建

当从资产和简报开始时。遵循完整的工作流程(步骤 1-5)。

模式 2:增强现有网站

当向现有页面添加 2.5D 效果时。跳至步骤 2,分析当前结构,推荐深度分配和动画机会。

模式 3:调试/修复

当排查性能或动画问题时。使用 scripts/validate-layers.js,检查 GPU 规则,验证 reduced-motion 处理。


步骤 1 — 理解简报 + 检查所有资产

在编写一行代码之前,按顺序完成以下所有操作。

A. 提取简报

  1. 产品 / 内容是什么?(品牌网站、作品集、SaaS、活动等)
  2. 什么情绪 / 感觉?(暗黑 / 电影感、明亮 / 活力、简约 / 奢华等)
  3. 多少区块?(仅英雄区域、全页、特定区块?)

B. 检查每个上传的图像资产

对用户提供的每个图像运行 scripts/inspect-assets.py。

可选运行时依赖: pip install Pillow — 图像分析所需,--help 不需要。 对每个图像,确定:

  1. 格式 — JPEG 永远没有真正的 alpha 通道。PNG 可能有假的 alpha 通道。

  2. 背景状态 — 使用脚本输出。它会告诉你:

    • ✅ 干净抠图 — 真实透明,直接使用
    • ⚠️ 纯色深色背景
    • ⚠️ 纯色浅色 / 白色背景
    • ⚠️ 复杂 / 场景背景
  3. 判断背景是否真的需要去除 — 这至关重要。 并非所有带背景的图像都需要去除背景。问自己:

    应该去除背景,如果图像是:

    • 一个孤立的产品(瓶子、鞋子、小工具、水果、摄影棚背景上的物体)
    • 一个本应浮动在场景中的人物或图形
    • 一个本应透明放置在任何背景上的标志或图标
    • 任何将被放置在 depth-2 或 depth-3 作为浮动资产的元素

    应该保留背景,如果图像是:

    • 网站、应用程序或 UI 的截图
    • 用作区块背景或全出血图像的摄影照片
    • 一件艺术品、插图或海报,旨在作为完整作品观看
    • 一个模型、设备框架或“卡片内的图像”
    • 任何背景本身就是内容一部分的图像
    • 放置在 depth-0(背景层)的照片 — 保留它,那是它的用途

    如果不确定,查看图像在设计中的预期角色。如果需要它 在其他内容上“浮动” → 去背景。如果它填充一个空间或本身就是内容 → 保留它。

  4. 告知用户每个图像的信息 — 无论背景是否合适。 使用 references/asset-pipeline.md 步骤 4 中的确切格式。

  5. 大小和深度分配 — 决定每个资产属于哪个深度级别 并相应调整大小。在构建前向用户说明你的决定。

C. 构图规划 — 在编写一行代码之前确立视觉层次

不要将所有资产视为相同大小。建立一个层次结构:

  • 一个资产是主角 — 占据最多屏幕空间 (50–80vw),深度-3
  • 陪伴物是主角显示大小的 15–25% — 深度-2,紧贴主角边缘
  • 点缀 / 粒子很小 (1–5vw) — 深度-5
  • 背景填充覆盖整个区块 — 深度-0

使用 calc() 将陪伴物相对于主角定位: right: calc(50% - [主角半宽] - [间距]) 使其紧贴其边缘。

当主角在滚动时变大或退出时,陪伴物应向外散开—— 不仅仅是淡出。这强化了它们曾围绕主角运行的感觉。

D. 决定每个资产的电影角色

对每个图像问:“这在滚动故事中做什么?”

  • 在主角旁边浮动 → 深度-2, float-loop, 在滚动退出时散开
  • 是主角 → 深度-3, 弹性下降入口, 在擦除时放大
  • 在 DJI 缩放进入期间填充一个区块 → 深度-0 或全区块背景
  • 位于侧边栏,同时内容滚动经过 → 粘性列旅程
  • 装饰区块边缘 → 深度-2, clip-path 出生揭示

步骤 2 — 选择你的技术(决策引擎)

将用户意图匹配到正确的技术组合。从 references/ 文件中读取完整技术细节。

按项目类型

用户说主要模式文字技术特殊效果
产品发布 / 品牌网站区块间浮动产品 + 透视缩放分割汇聚 + 词语点亮DJI 缩放固定
带大标题的英雄区域6 层视差 + 固定粘性偏移对角线 + 遮罩线揭示出血排版
电影感区块幕布面板卷起 + 擦除时间线戏剧性进入+退出自上而下剪贴揭示
Apple 风格动画擦除时间线 + 剪贴路径擦除逐词滚动点亮字符圆柱
元素在区块之间浮动产品 + 剪贴路径揭示闪烁文字窗格虹膜
卡片 / 功能区块级联卡片堆叠倾斜 + 弹性弹跳区块剥离
作品集 / 展示水平滚动 + 翻转变形行剪贴擦除对角线擦除
SaaS / 初创公司窗格虹膜 + 交错网格可变字体波浪曲线路径移动

按请求的滚动行为

  • “保持不变,同时事物变化” → pin: true + 擦除时间线
  • “从区块升起” → 区块间浮动产品 + 剪贴路径揭示
  • “从顶部出生” → 自上而下剪贴揭示 或 幕布面板卷起
  • “重叠/堆叠” → 级联卡片堆叠 或 区块剥离
  • “文字从两侧飞入” → 分割汇聚 或 偏移对角线布局
  • “文字逐词点亮” → 逐词滚动点亮
  • “整个区块变换” → 窗格虹膜 + 擦除时间线
  • “区块下拉” → 剪贴路径 inset(0 0 100% 0) → inset(0)
  • “像幕布一样” → 幕布面板卷起
  • “圆形打开” → 圆形虹膜展开
  • “在区块间移动” → GSAP Flip 跨区块 或 曲线路径移动

步骤 3 — 分层每个元素

你创建的每个元素都必须分配一个深度级别。这是不容商量的。

深度 0 → 远背景     | 视差: 0.10x | 模糊: 8px  | 缩放: 0.70
深度 1 → 辉光/氛围    | 视差: 0.25x | 模糊: 4px  | 缩放: 0.85
深度 2 → 中间装饰    | 视差: 0.50x | 模糊: 0px  | 缩放: 1.00
深度 3 → 主要对象       | 视差: 0.80x | 模糊: 0px  | 缩放: 1.05
深度 4 → UI / 文字          | 视差: 1.00x | 模糊: 0px  | 缩放: 1.00
深度 5 → 前景 FX      | 视差: 1.20x | 模糊: 0px  | 缩放: 1.10

应用为:HTML 元素上的 data-depth="3",匹配 CSS 类 .depth-3。

→ 完整的深度系统细节:references/depth-system.md


步骤 4 — 应用无障碍性和性能(始终执行)

这些在每个输出中都是强制性的:

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
  • 仅动画化:transform, opacity, filter, clip-path — 永远不要 width/height/top/left
  • 仅在活跃动画元素上使用 will-change: transform,动画完成后移除
  • 在屏幕外区块上使用 content-visibility: auto
  • 使用 IntersectionObserver 仅动画化视口中的元素
  • 检测移动设备:window.matchMedia('(pointer: coarse)') — 在触摸设备上减少效果

→ 完整细节:references/performance.md 和 references/accessibility.md


步骤 5 — 代码结构(始终使用此 HTML 架构)

<!-- 区块包装器 — 每个区块遵循此模式 -->
<section class="scene" data-scene="hero" style="--scene-height: 200vh">
  
  <!-- 深度层 — 始终至少 3 层 -->
  <div class="layer depth-0" data-depth="0" aria-hidden="true">
    <!-- 背景:渐变、纹理、氛围 PNG -->
  </div>
  
  <div class="layer depth-1" data-depth="1" aria-hidden="true">
    <!-- 辉光斑点、光影效果、氛围雾气 -->
  </div>
  
  <div class="layer depth-2" data-depth="2" aria-hidden="true">
    <!-- 中间装饰、浮动形状 -->
  </div>
  
  <div class="layer depth-3" data-depth="3">
    <!-- 主要产品 / 主角图像 — 演出的明星 -->
    <img class="product-hero float-loop" src="product.png" alt="[描述]" />
  </div>
  
  <div class="layer depth-4" data-depth="4">
    <!-- 文本内容 — 标题、正文、CTA -->
    <h1 class="split-text" data-animate="converge">你的标题</h1>
  </div>
  
  <div class="layer depth-5" data-depth="5" aria-hidden="true">
    <!-- 前景粒子、闪光、叠加 -->
  </div>

</section>

→ 完整模板:assets/hero-section.html → 完整 CSS 系统:assets/hero-section.css → 完整 JS 引擎:assets/hero-section.js


参考文件 — 阅读以获取完整技术细节

文件内容何时阅读
references/asset-pipeline.md资产检查、背景判断规则、用户通知格式、CSS 抠图、调整目标始终 — 编码前运行
references/depth-system.md6 层深度模型、CSS/JS 实现、模糊/缩放公式每个项目 — 始终阅读
references/motion-system.md9 种滚动架构模式,包含完整 GSAP 代码构建滚动交互时
references/text-animations.md13 种文字技术,包含完整实现代码动画化任何文字时
references/directional-reveals.md8 种“从顶部/侧面出生”剪贴路径技术区块需要定向入口时
references/inter-section-effects.md浮动产品、GSAP Flip、跨区块移动产品/元素跨区块持续存在时
references/performance.mdGPU 规则、will-change、IntersectionObserver 模式始终 — 不可协商规则
references/accessibility.mdWCAG 2.1 AA、prefers-reduced-motion、ARIA始终 — 不可协商
references/examples.md5 个完整真实世界实现当用户需要一个全页网站时

主动触发

在上下文中注意到以下问题时,无需询问即可提出:

  • 用户上传 JPEG 产品图像 → 标记 JPEG 无法具有透明度,提供运行资产检查器
  • 所有资产大小相同 → 标记构图层次问题,推荐主角 + 陪伴物大小
  • 未提及深度分配 → 提醒每个元素需要深度级别 (0-5)
  • 用户要求“平滑动画”但没有 reduced-motion 处理 → 标记无障碍性要求
  • 请求视差但没有性能优化 → 标记 will-change 和 GPU 加速规则
  • 超过 80 个动画元素 → 标记性能问题,推荐减少或延迟加载

输出工件

当你要求...你会得到...
“构建一个英雄区块”单个 HTML 文件,包含内联 CSS/JS、6 个深度层、资产审计、技术列表
“让它感觉有电影感”擦除时间线 + 视差 + 文字动画组合,附带 GSAP 设置
“检查我的图像”资产审计报告,包含背景状态、深度分配、大小调整建议
“Apple 风格滚动效果”逐词点亮 + 固定区块 + 透视缩放实现
“修复性能问题”验证报告,包含 GPU 优化检查清单和 will-change 审计

沟通

所有输出遵循结构化沟通标准:

  • 先说结论 — 在生成代码前展示资产审计和深度计划
  • 是什么 + 为什么 + 怎么做 — 每个技术选择都需解释(为什么这种动画适合这种情绪)
  • 行动有负责人 — “你需要提供透明 PNG” 而不是 “PNG 应该被提供”
  • 信心标签 — 🟢 已验证技术 / 🟡 实验性 / 🔴 浏览器支持有限

快速规则(不可协商)

0a. ✅ 始终在编码前运行资产检查 — 检查每个图像的格式、 背景和大小。在构建前向用户说明深度分配。 0b. ✅ 始终判断背景是否需去除 — 并非每个图像都需要。 告知用户每个资产的状态,并在将任何背景视为问题前获得确认。不要自动去除,也不要默默地忽略。

  1. ✅ 每个区块至少有 3 个深度层
  2. ✅ 每个文本元素至少使用 1 种动画技术
  3. ✅ 每个项目包含 prefers-reduced-motion 后备
  4. ✅ 仅动画化 GPU 安全属性:transform, opacity, filter, clip-path
  5. ✅ 产品图像默认始终分配给 depth-3
  6. ✅ 背景图像始终为 depth-0 并带有轻微模糊
  7. ✅ 在任何“主角”元素上浮动循环(6–14 秒,绝不完全静止)
  8. ✅ 每个装饰元素都设置 aria-hidden="true"
  9. ✅ 移动设备通过 pointer: coarse 检测减少效果
  10. ✅ 动画完成后移除 will-change

输出格式

始终交付:

  1. 单个自包含 HTML 文件(内联 CSS + JS),除非用户要求单独文件
  2. 通过 jsDelivr 引入 GSAP CDN:

…

[为翻译截断]

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

bestagentkits/agency-skills

Generates high-converting landing pages as complete Next.js/React (TSX) components with Tailwind CSS. Creates hero sections, feature grids, pricing tables, FAQ accordions, testimonial blocks, and CTA sections using proven copy frameworks (PAS, AIDA, BAB). Outputs SEO meta tags, structured data, and performance-optimised code targeting Core Web Vitals (LCP < 1s, CLS < 0.1). Use when the user asks to create a landing page, marketing page, homepage, single-page site, lead capture page, campaign page, promo page, or conversion-optimised web page — or when they want to A/B test landing page variants or replace a static page with one designed to convert.

bestagentkits/agency-skills

Generates a premium single-page HTML landing page with 3D CSS animations, GSAP scroll effects, and mouse-parallax depth. Forcing intake (product + elevator pitch, audience register, brand overrides, tone) locks down positioning before any copy or markup is written, so the page reflects the actual product rather than generic boilerplate. Use whenever the user says 'landing for X', 'create a landing page', 'build a landing page', 'make a landing page for X', 'I need a web page for Y', or provides product/service details and wants a polished website. Also triggers on 'promotional page', 'product page', 'one-pager', 'web presence', 'sales page'. Outputs a single self-contained HTML file (Claude Code) or HTML artifact (Claude.ai). Supports configurable brand colors via CSS custom property overrides.

bestagentkits/agency-skills

Frontend development skill for React, Next.js, TypeScript, and Tailwind CSS applications. Use when building React components, optimizing Next.js performance, analyzing bundle sizes, scaffolding frontend projects, implementing accessibility, or reviewing frontend code quality.

相关技能