Communitygithub.com

NVlabs/Skill2Env

WebGL 없이도 스크롤 스토리텔링, 시차 깊이, 텍스트 애니메이션 및 프리미엄 스크롤 효과를 사용하여 몰입감 있고 영화적인 2.5D 인터랙티브 웹사이트를 구축합니다. 랜딩 페이지, 제품 사이트, 히어로 섹션 등 모든 웹 디자인 작업에 이 스킬을 사용하세요.

Skill2Env란 무엇인가요?

이 스킬은 개발자가 평범한 정적 PNG/정적 에셋과 CSS, JavaScript만으로도 영화적이고 프리미엄한 느낌의 2.5D 인터랙티브 웹사이트를 구축할 수 있도록 설계된 전문 에이전트 기술입니다. Apple 제품 페이지나 Awwwards 수상작 같은 고급 웹사이트에서 볼 수 있는 시차 깊이, 스크롤 기반 텍스트 애니메이션, 섹션 간 전환 효과 등 45가지 이상의 기법을 8개 범주로 제공합니다. 에이전트는 작업을 시작하기 전에 항상 에셋을 검사하고, 깊이 레벨을 할당하며, 구체적인 계획을 수립한 후 코드를 생성합니다. GSAP 라이브러리를 활용하며, 접근성(WCAG 2.1 AA) 및 성능 최적화 규칙을 자동으로 적용하여 모든 사용자에게 최적의 경험을 제공합니다. 특히 'Apple 스타일 애니메이션', '몰입감 있는 경험', '스크롤 스토리텔링' 같은 프롬프트에 반응하여 즉시 고품질의 결과물을 생성합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/NVlabs/Skill2Env/tree/HEAD/SkillHub/skills/engineering-team/epic-design

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

미리보기

스킬 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 규칙을 확인하고, reduced-motion 처리를 검증하세요.


1단계 — 브리프 이해 + 모든 에셋 검사

코드를 한 줄도 작성하기 전에, 다음 모든 작업을 순서대로 수행하세요.

A. 브리프 추출

  1. 제품/콘텐츠는 무엇인가요? (브랜드 사이트, 포트폴리오, SaaS, 이벤트 등)
  2. 분위기/느낌은 어떤가요? (어둡고/영화적인, 밝고/활기찬, 미니멀/럭셔리 등)
  3. 섹션은 몇 개인가요? (히어로만, 전체 페이지, 특정 섹션?)

B. 업로드된 모든 이미지 에셋 검사

사용자가 제공한 모든 이미지에 대해 scripts/inspect-assets.py를 실행하세요.

선택적 런타임 종속성: pip install Pillow — 이미지 분석에 필요하며, --help에는 필요하지 않습니다. 각 이미지에 대해 다음을 결정하세요:

  1. 형식 — JPEG에는 실제 알파 채널이 없습니다. PNG에는 가짜 알파 채널이 있을 수 있습니다.

  2. 배경 상태 — 스크립트 출력을 사용하세요. 다음을 알려줍니다:

    • ✅ 깔끔한 컷아웃 — 실제 투명도, 직접 사용 가능
    • ⚠️ 단색 어두운 배경
    • ⚠️ 단색 밝은/흰색 배경
    • ⚠️ 복잡한/장면 배경
  3. 배경 제거 필요 여부 판단 — 매우 중요합니다. 배경이 있는 모든 이미지가 제거되어야 하는 것은 아닙니다. 스스로에게 물어보세요:

    다음과 같은 경우 배경을 제거해야 합니다:

    • 분리된 제품(병, 신발, 가제트, 과일, 스튜디오 배경의 물체)
    • 장면에 떠 있어야 하는 캐릭터나 인물
    • 어떤 배경 위에든 투명하게 놓여야 하는 로고나 아이콘
    • 떠 있는 에셋으로 depth-2 또는 depth-3에 배치될 요소

    다음과 같은 경우 배경을 유지해야 합니다:

    • 웹사이트, 앱 또는 UI의 스크린샷
    • 섹션 배경 또는 전체 이미지로 사용되는 사진
    • 완전한 작품으로 보여져야 하는 아트워크, 일러스트레이션 또는 포스터
    • 목업, 기기 프레임 또는 "카드 안의 이미지"
    • 배경이 콘텐츠의 일부인 모든 이미지
    • depth-0(배경 레이어)에 배치된 사진 — 유지하세요, 그것이 목적입니다

    확실하지 않으면 디자인에서 이미지의 의도된 역할을 살펴보세요. 다른 콘텐츠 위에 자유롭게 "떠 있어야" 한다면 → 배경 제거. 공간을 채우거나 그 자체가 콘텐츠라면 → 유지.

  4. 모든 이미지에 대해 사용자에게 알리기 — 배경이 괜찮은지 여부. references/asset-pipeline.md 4단계의 정확한 형식을 사용하세요.

  5. 크기 및 깊이 할당 — 각 에셋이 속한 깊이 레벨을 결정하고 그에 따라 크기를 조정하세요. 빌드하기 전에 결정 사항을 사용자에게 알리세요.

C. 구성 계획 — 코드 한 줄 전에 시각적 계층 구조

모든 에셋을 같은 크기로 취급하지 마세요. 계층 구조를 수립하세요:

  • 하나의 에셋은 HERO — 가장 큰 화면 공간(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, float-loop, 스크롤 아웃 시 흩어짐
  • 히어로임 → 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단계 — 모든 요소 레이어링

당신이 만드는 모든 요소에는 깊이 레벨이 할당되어야 합니다. 이것은 협상의 여지가 없습니다.

DEPTH 0 → 먼 배경          | parallax: 0.10x | blur: 8px  | scale: 0.70
DEPTH 1 → 광채/분위기     | parallax: 0.25x | blur: 4px  | scale: 0.85
DEPTH 2 → 중간 장식       | parallax: 0.50x | blur: 0px  | scale: 1.00
DEPTH 3 → 주요 오브젝트   | parallax: 0.80x | blur: 0px  | scale: 1.05
DEPTH 4 → UI / 텍스트     | parallax: 1.00x | blur: 0px  | scale: 1.00
DEPTH 5 → 전경 FX         | parallax: 1.20x | blur: 0px  | scale: 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 WRAPPER — 모든 섹션은 이 패턴을 따릅니다 -->
<section class="scene" data-scene="hero" style="--scene-height: 200vh">
  
  <!-- DEPTH LAYERS — 항상 최소 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">
    <!-- MAIN PRODUCT / HERO IMAGE — 쇼의 주인공 -->
    <img class="product-hero float-loop" src="product.png" alt="[description]" />
  </div>
  
  <div class="layer depth-4" data-depth="4">
    <!-- TEXT CONTENT — 헤드라인, 본문, CTA -->
    <h1 class="split-text" data-animate="converge">Your Headline</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.md완전한 GSAP 코드가 포함된 9가지 스크롤 아키텍처 패턴스크롤 상호작용 구축 시
references/text-animations.md전체 구현 코드가 포함된 13가지 텍스트 기법텍스트 애니메이션 시
references/directional-reveals.md"위/측면에서 탄생" 8가지 클립-패스 기법섹션에 방향성 진입이 필요할 때
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개 이상의 애니메이션 요소 → 성능 문제 표시, 감소 또는 지연 로딩 권장

출력 아티팩트

요청 시...얻는 것...
"히어로 섹션 구축"인라인 CSS/JS, 6개의 깊이 레이어, 에셋 감사, 기법 목록이 포함된 단일 HTML 파일
"영화처럼 만들어 줘"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. GSAP용 CDN 가져오기 via jsDelivr:

… (원본 생략됨)

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

관련 스킬