Communitygithub.com

Eastdongjun/doubao-eng-control-plane

대규모 요구사항을 실행 가능한 Epic/마일스톤 설계로 분해합니다. 사용자가 대규모 기능 반복을 요청할 때 사용합니다.

doubao-eng-control-plane란 무엇인가요?

이 스킬은 AI 에이전트가 대규모 개발 요구사항을 체계적으로 분석하고 실행 가능한 에픽(Epic)과 마일스톤 단위로 분해하는 전문 설계 능력을 제공합니다. 사용자가 큰 기능을 요청하면, 이 스킬은 해당 요구사항을 깊이 이해하고, 종속성을 파악하며, 점진적 전달이 가능한 단계별 마일스톤으로 나누는 구조화된 접근법을 안내합니다. 주로 AI 코딩 에이전트(Claude Code, Cursor 등)의 컨텍스트 내에서 사용되어 복잡한 작업을 관리 가능한 하위 작업으로 분해함으로써 개발 프로세스를 가속화합니다. 이 스킬의 작동 방식은 프로젝트 컨텍스트 로드, 요구사항 분석, 에픽 정의, 마일스톤 계획 수립, 그리고 각 마일스톤의 세부 작업 및 납품 기준 명세화를 포함합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Eastdongjun/doubao-eng-control-plane/tree/HEAD/skills/%E5%8F%B2%E8%AF%97%E8%AE%BE%E8%AE%A1

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

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

미리보기

스킬 README에서

doubao-eng-control-plane preview

문서

Epic 설계 스킬

당신은 이제 세계적 수준의 에픽 설계 전문가입니다. 프리미엄하고 생동감 있는 영화적이고 몰입감 있는 웹사이트를 구축합니다. 평면 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% - [히어로 반 너비] - [간격])으로 가장자리에 가깝게 배치합니다.

히어로가 스크롤에 따라 커지거나 나가면 동반 자산은 바깥쪽으로 흩어져야 합니다 — 그냥 사라지지 않아야 합니다. 이는 동반 자산이 히어로 주위를 공전하고 있었음을 강화합니다.

D. 각 자산의 영화적 역할 결정

각 이미지에 대해 "스크롤 스토리에서 이것은 무엇을 하는가?"라고 물어보세요:

  • 히어로 옆에 떠 있음 → depth-2, float-loop, 스크롤 아웃 시 흩어짐
  • 히어로임 → depth-3, 탄력적인 드롭 인트로, 스크럽에 따라 커짐
  • DJI 스케일 인 중 섹션을 채움 → depth-0 또는 전체 섹션 배경
  • 콘텐츠가 스크롤되는 동안 사이드바에 있음 → 고정 컬럼 여정
  • 섹션 가장자리를 장식함 → depth-2, clip-path 탄생 리빌

2단계 — 기술 선택 (결정 엔진)

사용자 의도를 올바른 기술 조합과 매칭하세요. references/ 파일에서 전체 기술 세부 정보를 읽으세요.

프로젝트 유형별

사용자 말주요 패턴텍스트 기술특수 효과
제품 출시 / 브랜드 사이트섹션 간 부유 제품 + 원근 줌분할 수렴 + 단어 조명DJI 스케일 인 핀
큰 제목이 있는 히어로6레이어 시차 + 고정 스티키오프셋 대각선 + 마스크 라인 리빌번짐 타이포그래피
영화적 섹션커튼 패널 롤업 + 스크럽 타임라인연극적 등장+퇴장탑다운 클립 탄생
Apple 스타일 애니메이션스크럽 타임라인 + 클립 패스 와이프단어별 스크롤 조명문자 실린더
섹션 간 요소부유 제품 + 클립 패스 탄생스크램블 텍스트창문 패널 아이리스
카드 / 기능 섹션캐스케이딩 카드 스택스큐 + 탄력 바운스섹션 필
포트폴리오 / 쇼케이스수평 스크롤 + 플립 모프라인 클립 와이프대각선 와이프
SaaS / 스타트업창문 패널 아이리스 + 스태거 그리드가변 글꼴 웨이브곡선 경로 이동

요청된 스크롤 동작별

  • "그대로 있는 동안 다른 것들이 바뀜" → pin: true + 스크럽 타임라인
  • "섹션에서 올라옴" → 섹션 간 부유 제품 + 클립 패스 탄생
  • "위에서 탄생" → 탑다운 클립 탄생 또는 커튼 패널 롤업
  • "겹침/스택" → 캐스케이딩 카드 스택 또는 섹션 필
  • "텍스트가 측면에서 날아옴" → 분할 수렴 또는 오프셋 대각선 레이아웃
  • "텍스트가 단어별로 켜짐" → 단어별 스크롤 조명
  • "전체 섹션 변환" → 창문 패널 아이리스 + 스크럽 타임라인
  • "섹션이 아래로 떨어짐" → Clip-path 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.md완전한 GSAP 코드가 포함된 9가지 스크롤 아키텍처 패턴스크롤 상호작용 구축 시
references/text-animations.md전체 구현 코드가 포함된 13가지 텍스트 기술텍스트 애니메이션 시
references/directional-reveals.md"위/측면에서 탄생" 8가지 clip-path 기술섹션에 방향성 진입 필요 시
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가 포함된 단일 HTML 파일, 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 임포트:

…

[번역을 위해 잘림]

관련 스킬