Bruce의 PPTX 생성기
작업 라우팅
작업 유형에 따라 올바른 경로를 선택한 후 해당 파일을 로드합니다.
| 작업 | 로드 파일 |
|---|---|
| 기존 템플릿 PPTX 편집 | editing.md + pptxgenjs.md |
| 처음부터 생성 (스타일 프리셋 사용) | workflow.md + 프리셋 파일 + pptxgenjs.md + qa.md |
스타일 프리셋
프리셋을 사용할 때는 프리셋 파일을 로드합니다. 프리셋 파일에는 전체 페이지 레이아웃, 컴포넌트 함수, 색상 팔레트, 콘텐츠 밀도 규칙이 포함되어 있습니다.
스타일 선택
사용자가 스타일을 지정하지 않은 경우, 기본적으로 화웨이 스탠다드를 추천합니다. 확인이 필요하면 AskUserQuestion으로 "이 프레젠테이션을 본 청중이 느끼길 바라는 감정은 무엇인가요?"라고 물을 수 있습니다.
| 프리셋 | 청중 느낌 | 폰트 | 파일 | 적용 시나리오 |
|---|---|---|---|---|
| 매킨지 블루 | 논리적 엄밀 | YaHei + Arial Black | mckinsey-style.md | 전략 보고, 컨설팅 보고서, 경영진 제안 |
| 화웨이 스탠다드 | 전문적 권위 | YaHei + Arial Black | huawei-style.md | 제품 소개, 회사 소개, 솔루션, 공공/기업 고객 제안 |
| 애플 미니멀 | 감동적 | YaHei + Arial Black | apple-minimal-style.md | 제품 출시, 데모, 비전 발표, 대외 로드쇼 |
| 피치 데크 | 설득력 | YaHei + Arial Black | pitch-deck-style.md | 투자 유치 로드쇼, 로드맵 제안, 비즈니스 케이스 |
| 데이터 분석 | 명확한 설명 | YaHei + Arial Black | data-analysis-style.md | 사용자 리서치 보고, A/B 결과, OKR 리뷰, 지표 회의 |
| 다크 테크 | 혁신적 진취 | YaHei + Arial Black | dark-tech-style.md | 제품 출시, 기술 발표, AI 역량 시연 |
사용자에게 추천 프리셋과 그 이유를 알린 후 워크플로우로 진행합니다. 사용자가 만족하지 않으면 수동으로 선택할 수 있도록 허용합니다.
데이터 추론 원칙
프레젠테이션에 모호한 표현은 금지됩니다. 모든 주장은 구체적인 숫자로 뒷받침되어야 합니다. 사용자 입력에 데이터가 부족한 경우:
- 우선 질문: 입력에 1~3개의 데이터 격차가 있을 때,
AskUserQuestion으로 한 번에 누락된 모든 숫자를 묻고, 각 숫자가 어떤 슬라이드에 사용될지 설명합니다. - 추정 허용: 격차가 많거나 사용자가 "그냥 생성해 주세요"라고 명시한 경우, 업계 대표적인 기준값을 사용하고 슬라이드 하단에 '업계 기준 참조, 실제 데이터로 대체하세요'라고 명시하며, 응답에서 어떤 부분이 추정값인지 사용자에게 알려야 합니다.
- 빈 자리 표시자 금지: 빈 자리 표시자(예: "XX%", "N개", "수십만 사용자")를 구체적인 숫자 없이 작성하는 것을 금지합니다.
질문 트리거 신호 단어 (나타나면 즉시 숫자 질문):
"많은 사용자", "대폭 향상", "현저히 감소", "빠르게 성장", "대량", "명확히", "효과적으로"
고급 완성 인도 기준 (필수)
모든 프레젠테이션은 '고급 인테리어' 기준을 충족해야 하며, '제목 + 한 줄 설명'의 기본 수준 슬라이드 인도를 금지합니다.
콘텐츠 풍부도 (모든 콘텐츠 페이지가 충족해야 함)
- 데이터 또는 통계 필수: 각 핵심 주장은 숫자, 비율, 시간 또는 업계 데이터로 뒷받침되어야 합니다. 예: "만성질환 후속 관리 누락률 > 60%", "1.18억 명의 독거 노인 커버".
- 태그라인 필수: 각 카드 또는 각 모듈에는 12~20자의 정확한 포지셔닝 문구가 있어야 하며, '이것이 어떤 문제를 해결하는지' 설명해야 합니다. 예: "금융 수준 신원 인증, 데이터 접근 전 과정 통제 가능".
- 불릿 시각적 접두사 필수: 작은 사각형/동그라미/번호를 접두사로 사용해야 하며, 순수 텍스트 나열을 금지합니다. 각 불릿은 단일 키워드가 아닌 완전한 의미의 문장이어야 합니다.
- 비텍스트 시각 요소 필수: 애플 미니멀을 제외하고, 모든 콘텐츠 페이지는 최소 하나의 비순수 텍스트 시각 컴포넌트(SVG 아이콘, 데이터 카드, 플로우차트, 프로그레스 링, 비교 매트릭스, 아키텍처 다이어그램, KPI 카드)를 포함해야 합니다. 순수 텍스트 목록 페이지는 기본 수준으로 간주되며 시각 요소를 추가해야 합니다. 애플 미니멀 스타일은 미니멀리즘과 절제가 핵심이므로, 페이지당 시각 요소는 적절히 추가합니다.
- 그래픽 밀도 상한 (오버플로 방지):
- 각 슬라이드에는 하나의 대형 그래픽 컴포넌트만 사용 가능 (플로우차트 OR 매트릭스 OR 프로그레스 링 그룹 OR 피라미드, 세 가지 중 하나 선택, 중복 금지)
- 같은 페이지에 두 가지 대형 그래픽 동시 사용 금지: 프로그레스 링 + 매트릭스, 피라미드 + 플로우차트 = 오버플로 위험 매우 높음
- 콘텐츠 영역 높이는 3.95" (y:1.05 → y:5.0)이며, 대형 그래픽이 차지한 후 남은 텍스트 공간이 제한적이므로 추가 전에 텍스트가 들어갈 수 있는지 반드시 추정해야 함
- 다음 컴포넌트는 처음부터 직접 작성 금지 (프리셋 라이브러리에 없으며 자체 알고리즘 구현 필요): 깔때기 차트(funnel), 간트 차트(Gantt chart), 레이더 차트(radar chart). 현재 프리셋 파일에 해당 함수가 있으면 프리셋 함수를 사용하고, 그렇지 않으면 사용하지 마세요.
- 하단 설명/인사이트 영역 필수: 각 핵심 모듈 하단에는 1~2줄의 보충 설명이 있어 가치를 강화하거나 행동 제안을 제공해야 합니다.
컴포넌트 업그레이드 원칙
각 스타일에는 전용 고급 리치 카드 컴포넌트가 있으며, 이를 우선 사용하고 title + desc만 있는 기본 카드로 되돌아가는 것을 금지합니다:
| 스타일 | 표지 고급 | 콘텐츠 고급 컴포넌트 | 금지된 기본 컴포넌트 |
|---|---|---|---|
| 화웨이 스탠다드 | createRichCover | addHuaweiRichCard, makePainPointCard, addHuaweiProcessFlow | addHuaweiNumberedCard 기본 사용법 (title+desc만 전달, tagline/bullet/하단 설명 없음) |
| 매킨지 블루 | createRichCover | addMcKinseyRichCard, makeProgressRing + KPI 카드 | addMcKinseyCard(value, label, desc) |
| 애플 미니멀 | createRichCover | addAppleRichCard, addAppleKPI | addAppleBullets 단독 사용 |
| 피치 데크 | createRichCover | addPitchRichCard, addTractionCard | 순수 텍스트 목록 페이지 |
| 다크 테크 | createRichCover | addDarkRichCard, addFeatureItem | 제목 + 본문 단락만 |
| 데이터 분석 | createRichCover | addDataRichCard, createChartWithInsightsSlide | 순수 텍스트 분석 페이지 |
- 표지 페이지에는 장식적 시각 요소(기하학 도형, SVG 장식, 오른쪽 역량 카드 등)가 있어야 하며, 제목과 날짜만 있는 것을 금지합니다.
- 참고:
createRichCover는 각 스타일에서 매개변수 서명이 다릅니다(화웨이 버전에는metrics/valueSlogan, 애플 버전에는spotlight, 피치 데크 버전에는traction/stage). 사용 전에 현재 프리셋 파일의 호출 예제를 반드시 참조하고, 스타일 간 매개변수를 교차 사용하지 마십시오.
필수 규칙
다음 규칙은 모든 프레젠테이션의 모든 슬라이드에 적용됩니다.
크기 — 10" × 5.625" (LAYOUT_16x9). 모든 요소는 x + w ≤ 10 및 y + h ≤ 5.625 조건을 충족해야 합니다.
색상 — 6자리 16진수, # 미포함 (예: "FF0000"). "#FF0000" 사용 금지 — 파일이 손상될 수 있습니다.
폰트 — 한국어: Microsoft YaHei (중국어 대상 스킬이므로 유지) | 영어: Arial (또는 현재 프리셋에 지정된 대체 폰트)
금지 폰트 — 다음 폰트는 디스플레이/제목 폰트로 사용할 수 없습니다: 宋体, 仿宋, Times New Roman. 현대 프레젠테이션에서 비전문적으로 보입니다.
theme 객체 — 두 가지 계층 규칙, 반드시 구분해야 합니다:
① compile.js / 서브에이전트 전달 계층 (엄격히 5개 키)
| 키 | 용도 |
|---|---|
theme.primary | 가장 진한 색 — 제목, 주요 텍스트 |
theme.secondary | 강조 색 — 상호작용 요소, 하이라이트 |
theme.accent | 상징적 포인트 색 (예: 주황색 선) |
theme.light | 밝은 채우기 색 — 카드 배경, 얼룩말 줄 행 |
theme.bg | 슬라이드 배경색 |
compile.js에서 정의된 theme 객체는 이 5개 키만 전달합니다. 서브에이전트는 DESIGN INTENT 주석에서도 이 5개만 선언합니다. 이 계층에서 background, text, muted, darkest, lightest 또는 기타 임의 키 이름 사용을 금지합니다.
② 스타일 프리셋 파일 내부 계층 (확장 키 허용)
각 프리셋 파일(huawei-style.md 등)의 컴포넌트 함수(addHuaweiRichCard, makePainPointCard 등)는 프리셋 파일에 정의된 확장 키(예: theme.border, theme.bodyText, theme.mutedText, theme.orangeLight 등)를 참조할 수 있습니다. 이러한 키는 프리셋 파일의 theme const 블록에 모두 정의되어 있으므로 위반이 아닙니다.
페이지 번호 배지 — 표지를 제외한 모든 슬라이드에 필수:
- 원형:
x: 9.3, y: 5.1, w: 0.4, h: 0.4 - 캡슐형:
x: 9.1, y: 5.15, w: 0.6, h: 0.35 - 페이지 번호만 표시 (예:
"3"),"3/12"형식 사용 금지
createSlide()는 동기 함수여야 함 — async 사용 금지. compile.js는 이를 await 처리하지 않습니다.
금지 사항 (일반적인 AI 생성 품질 함정)
다음은 프레젠테이션 품질을 떨어뜨리기 쉬운 패턴으로, 생성할 때마다 적극적으로 피해야 합니다:
콘텐츠 밀도
- 단일 콘텐츠 슬라이드에 6개 이상의 불릿 포인트 — 초과 시 두 장으로 분할
- 각 불릿이 20자를 초과 — 간결화하거나 카드 레이아웃 사용
- 동일한 레이아웃 유형이 3장 이상 연속
시각적
- 각 슬라이드 배경색 불일치 (콘텐츠 슬라이드는 통일된
theme.bg사용) - 모든 요소에 그라데이션 추가 — 그라데이션은 강조에만 사용, 남용 금지
- 모든 콘텐츠 중앙 정렬 — 단조로워 보이므로, 왼쪽 정렬이 더 계층적임
- 장식적 색상 블록 난무, 레이아웃 논리 없음
텍스트
- 제목이 본문 첫 문장을 그대로 복사 — 제목은 결론이나 요점이어야 하며, 설명이 아니어야 함
- 영어 텍스트에 宋体/仿宋 혼용 — 영어는 지정된 영어 폰트를 사용해야 함
#접두사 색상 값 ("#1F3864"→"1F3864"로 변경) — 파일 손상 가능
의존성 설치
npm install -g pptxgenjs