Communitygithub.com

NVlabs/Skill2Env

建立身臨其境、電影般的 2.5D 互動網站,運用滾動敘事、視差深度、文字動畫和高級滾動效果 — 無需 WebGL。

Skill2Env 是什麼?

此技能專為網頁設計任務而設計,能將靜態頁面轉化為電影般的 2.5D 互動體驗。它支援超過 45 種技術,涵蓋 8 大類別,包括視差滾動、文字動畫、剪裁路徑揭示、浮動產品效果等。無需 WebGL 或 3D 建模軟體,僅透過 CSS 和 JavaScript 即可實現 Apple 風格的動畫和 Awwwards 級別的設計。技能會自動檢查使用者上傳的圖片資產,判斷是否需要移除背景,並根據視覺層級分配深度(0-5 層),確保每個元素都有明確的空間角色。還內建效能最佳化(如 `will-change`、`IntersectionObserver`)和無障礙支援(如 `prefers-reduced-motion`),並支援多種平台(如 Claude Code、Cursor、Codex),適合用於產品頁面、品牌網站、作品集、SaaS 首頁等任何需要「電影感」的設計任務。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/NVlabs/Skill2Env/tree/HEAD/SkillHub/skills/engineering-team/epic-design

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

預覽

來自技能 README

Skill2Env 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 規則,驗證減少動畫處理。


步驟 1 — 理解簡報 + 檢查所有資產

在撰寫任何程式碼之前,務必按順序執行以下所有操作。

A. 提取簡報

  1. 產品/內容是什麼?(品牌網站、作品集、SaaS、活動等)
  2. 想要什麼氛圍/感覺?(黑暗/電影感、明亮/活力、極簡/奢華等)
  3. 有多少個區塊?(僅主視覺、全頁面、特定區塊?)

B. 檢查每個上傳的圖片資產

對使用者提供的每張圖片執行 scripts/inspect-assets.py。

可選的執行時期依賴: pip install Pillow — 需要進行圖片分析,非 --help 所需。 對於每張圖片,確定:

  1. 格式 — JPEG 從未有真正的 Alpha 通道。PNG 可能有假的。

  2. 背景狀態 — 使用腳本輸出。它會告訴你:

    • ✅ 乾淨去背 — 真正的透明,可直接使用
    • ⚠️ 純色深色背景
    • ⚠️ 純色淺色/白色背景
    • ⚠️ 複雜/場景背景
  3. 判斷背景是否真的需要移除 — 這至關重要。 並非所有有背景的圖片都需要移除。捫心自問:

    需要移除背景的情況,如果圖片是:

    • 一個孤立的產品(瓶子、鞋子、小工具、水果、在攝影棚背景上的物體)
    • 一個旨在場景中浮動的角色或人物
    • 一個應該透明地放在任何背景上的標誌或圖示
    • 任何將作為浮動資產放置在 depth-2 或 depth-3 的元素

    應保留背景的情況,如果圖片是:

    • 網站、應用程式或 UI 的螢幕截圖
    • 用作區塊背景或滿版出血圖像的照片
    • 旨在作為完整作品觀看的藝術品、插圖或海報
    • 模型圖、裝置框架或「卡片內的圖片」
    • 任何背景本身就是內容一部分的圖片
    • 放置在 depth-0(背景層)的照片 — 保留它,這就是它的用途

    如果不確定,請查看圖片在設計中的預期角色。如果它需要 在其他內容上自由「浮動」→ 移除背景。如果它填充空間或本身就是 內容 → 保留它。

  4. 告知使用者每張圖片的狀態 — 無論背景是否正常。 使用 references/asset-pipeline.md 步驟 4 中的確切格式。

  5. 尺寸和深度分配 — 決定每個資產屬於哪個深度級別 並相應調整大小。在建置之前向使用者說明你的決定。

C. 構圖規劃 — 在一行程式碼之前的視覺層次

不要將所有資產視為相同大小。建立一個層次結構:

  • 一個資產是主角 — 佔據最多螢幕空間 (50–80vw),depth-3
  • 配角是主角顯示尺寸的 15–25% — depth-2,緊貼主角邊緣
  • 裝飾/粒子非常小 (1–5vw) — depth-5
  • 背景填充覆蓋整個區塊 — depth-0

使用 calc() 將配角相對於主角定位: right: calc(50% - [hero-half-width] - [gap]) 以靠近其邊緣。

當主角在滾動時變大或退出時,配角應向外散開 — 不僅僅是淡出。這強化了它們環繞主角的感覺。

D. 決定每個資產的電影角色

對於每個圖片,問:「這在滾動故事中做什麼?」

  • 浮動在主角旁邊 → depth-2,浮動循環,在滾出時散開
  • 是主角 → depth-3,彈性落下入口,在滾動控制時變大
  • 在 DJI 縮放過程中填充一個區塊 → depth-0 或全區塊背景
  • 存在於側邊欄中,而內容滾動經過 → 黏性欄位旅程
  • 裝飾區塊邊緣 → depth-2,剪裁路徑出現揭示

步驟 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 → 前景效果        | 視差: 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">
    <!-- 文字內容 — 標題、內文、行動呼籲按鈕 -->
    <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)
  • 使用者要求「流暢動畫」但沒有減少動畫處理 → 標記無障礙要求
  • 要求視差但未進行效能最佳化 → 標記 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 13 individual skills — each has its own dedicated page.

NVlabs/Skill2Env

This skill should be used when the user asks about "digital portfolio", "portfolio website", "project description", "case study", "portfolio curation", "creative portfolio", "act as a portfolio curator", "portfolio curator mode", "portfolio review", "professional presentation", "portfolio architecture", "work samples", "portfolio bio", or needs expertise in building, structuring, and writing professional digital portfolios. Part of the AlterLab FC Skills collection (New Media & Communication department).

NVlabs/Skill2Env

This skill should be used when the user asks about "web content strategy", "SEO writing", "UX writing", "information architecture", "content architecture", "website structure", "act as a web content strategist", "web strategist mode", "site map", "content audit", "microcopy", "meta descriptions", "content hierarchy", "content governance", or needs expertise in planning, structuring, and writing content for websites and digital platforms. Part of the AlterLab FC Skills collection (New Media & Communication department).

NVlabs/Skill2Env

When the user wants to create, generate, or produce video content using AI tools or programmatic frameworks. Also use when the user mentions 'video production,' 'AI video,' 'Remotion,' 'Hyperframes,' 'HeyGen,' 'Synthesia,' 'Veo,' 'Sora,' 'Runway,' 'Kling,' 'Seedance,' 'Hailuo,' 'MiniMax,' 'Pika,' 'Hunyuan,' 'Wan,' 'video generation,' 'AI avatar,' 'talking head video,' 'programmatic video,' 'video template,' 'explainer video,' 'product demo video,' 'video pipeline,' or 'make me a video.' Use this for video creation, generation, and production workflows. For video content strategy and what to post, see social. For paid video ad creative, see ad-creative.

NVlabs/Skill2Env

Balance visual design with ATS compatibility for creative roles

NVlabs/Skill2Env

Read-only queue dashboard for workspace-aware ship. (gstack)

NVlabs/Skill2Env

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

NVlabs/Skill2Env

Audits any landing or service page across 48 checks in 10 categories for LLM/AI discoverability, GEO readiness, content clarity, schema markup, internal linking, freshness signals, and technical crawlability. Produces an overall score out of 100, a per-category score out of 100, pass/warn/fail/ manual counts, and a prioritised fix list — all rendered as a standalone HTML report saved to disk. Use when a user provides a URL and asks to audit it, score it, check its GEO readiness, test its AI discoverability, run a landing page audit, or evaluate it for LLM citation potential. Also trigger on phrases like "audit this page", "score this URL", "check GEO for", "is this page AI-ready", "run a GEO audit", "LLM page check", "how would AI read this page", or "landing page score".

NVlabs/Skill2Env

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.

NVlabs/Skill2Env

Use when a user asks to build, optimize, backtest, rebalance, or analyze a stock portfolio with Mean-CVaR, efficient frontiers, scenario generation, or NVIDIA cuOpt.

NVlabs/Skill2Env

Transform resume bullets into detailed portfolio case studies

NVlabs/Skill2Env

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.

NVlabs/Skill2Env

> Visual design direction framework organized by emotional intent (Warm/Cold x Active/Calm). The first design reference system that categorizes sites by what they make you FEEL, not how they look. Includes 48 annotated public website references.

NVlabs/Skill2Env

Run a structured 5-pass finishing audit on any website before launch — scoring visual polish, technical foundation, UX completeness, content quality, and cross-device readiness on 100 points. Use when: **Pre-launch** - Final validation before going live; **Post-redesign** - Verify nothing broke during the overhaul; **Client handoff** - Structured proof that the site is ready; **Quarterly review** - Catch accumulated debt; **Single-pass focus** - Run just Pass 2 after a perf sprint

相關技能