Community라이팅 & 에디팅github.com

bruce-pptx-generator

AI 프로그래밍 에이전트가 코드로 전문가 수준의 PowerPoint 프레젠테이션을 처음부터 생성할 수 있도록 설계된 스킬입니다.

bruce-pptx-generator란 무엇인가요?

이 스킬은 AI 코딩 에이전트(예: Claude Code, Cursor, Codex)가 코드 기반으로 전문적인 PowerPoint 프레젠테이션(PPTX)을 처음부터 생성하거나 기존 템플릿을 편집할 수 있게 해줍니다. pptxgenjs 라이브러리를 사용하며, 매킨지 블루, 화웨이 스탠다드, 애플 미니멀, 피치 데크 등 여러 디자인 프리셋을 제공하여 다양한 비즈니스 상황에 맞는 스타일을 지원합니다. 주된 기능은 데이터 기반 슬라이드 제작, 콘텐츠 풍부도 강제(데이터, 태그라인, 시각적 요소 포함), 페이지 번호 배지 자동 추가, 정확한 레이아웃 규칙(10x5.625인치) 준수 등입니다. 또한 모호한 표현을 금지하고 구체적인 데이터를 요구하며, 데이터가 부족할 경우 사용자에게 질문하거나 업계 추정치를 사용하도록 안내합니다. 이 스킬은 주로 compile.js와 서브에이전트 파일을 통해 작동하며, 사용자는 작업 유형(편집 또는 신규 생성)에 따라 적절한 참조 파일을 로드합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add bruc3van/bruce-pptx-generator

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

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

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

문서

Bruce의 PPTX 생성기

작업 라우팅

작업 유형에 따라 올바른 경로를 선택한 후 해당 파일을 로드합니다.

작업로드 파일
기존 템플릿 PPTX 편집editing.md + pptxgenjs.md
처음부터 생성 (스타일 프리셋 사용)workflow.md + 프리셋 파일 + pptxgenjs.md + qa.md

스타일 프리셋

프리셋을 사용할 때는 프리셋 파일을 로드합니다. 프리셋 파일에는 전체 페이지 레이아웃, 컴포넌트 함수, 색상 팔레트, 콘텐츠 밀도 규칙이 포함되어 있습니다.

스타일 선택

사용자가 스타일을 지정하지 않은 경우, 기본적으로 화웨이 스탠다드를 추천합니다. 확인이 필요하면 AskUserQuestion으로 "이 프레젠테이션을 본 청중이 느끼길 바라는 감정은 무엇인가요?"라고 물을 수 있습니다.

프리셋청중 느낌폰트파일적용 시나리오
매킨지 블루논리적 엄밀YaHei + Arial Blackmckinsey-style.md전략 보고, 컨설팅 보고서, 경영진 제안
화웨이 스탠다드전문적 권위YaHei + Arial Blackhuawei-style.md제품 소개, 회사 소개, 솔루션, 공공/기업 고객 제안
애플 미니멀감동적YaHei + Arial Blackapple-minimal-style.md제품 출시, 데모, 비전 발표, 대외 로드쇼
피치 데크설득력YaHei + Arial Blackpitch-deck-style.md투자 유치 로드쇼, 로드맵 제안, 비즈니스 케이스
데이터 분석명확한 설명YaHei + Arial Blackdata-analysis-style.md사용자 리서치 보고, A/B 결과, OKR 리뷰, 지표 회의
다크 테크혁신적 진취YaHei + Arial Blackdark-tech-style.md제품 출시, 기술 발표, AI 역량 시연

사용자에게 추천 프리셋과 그 이유를 알린 후 워크플로우로 진행합니다. 사용자가 만족하지 않으면 수동으로 선택할 수 있도록 허용합니다.

데이터 추론 원칙

프레젠테이션에 모호한 표현은 금지됩니다. 모든 주장은 구체적인 숫자로 뒷받침되어야 합니다. 사용자 입력에 데이터가 부족한 경우:

  1. 우선 질문: 입력에 1~3개의 데이터 격차가 있을 때, AskUserQuestion으로 한 번에 누락된 모든 숫자를 묻고, 각 숫자가 어떤 슬라이드에 사용될지 설명합니다.
  2. 추정 허용: 격차가 많거나 사용자가 "그냥 생성해 주세요"라고 명시한 경우, 업계 대표적인 기준값을 사용하고 슬라이드 하단에 '업계 기준 참조, 실제 데이터로 대체하세요'라고 명시하며, 응답에서 어떤 부분이 추정값인지 사용자에게 알려야 합니다.
  3. 빈 자리 표시자 금지: 빈 자리 표시자(예: "XX%", "N개", "수십만 사용자")를 구체적인 숫자 없이 작성하는 것을 금지합니다.

질문 트리거 신호 단어 (나타나면 즉시 숫자 질문):

"많은 사용자", "대폭 향상", "현저히 감소", "빠르게 성장", "대량", "명확히", "효과적으로"

고급 완성 인도 기준 (필수)

모든 프레젠테이션은 '고급 인테리어' 기준을 충족해야 하며, '제목 + 한 줄 설명'의 기본 수준 슬라이드 인도를 금지합니다.

콘텐츠 풍부도 (모든 콘텐츠 페이지가 충족해야 함)

  1. 데이터 또는 통계 필수: 각 핵심 주장은 숫자, 비율, 시간 또는 업계 데이터로 뒷받침되어야 합니다. 예: "만성질환 후속 관리 누락률 > 60%", "1.18억 명의 독거 노인 커버".
  2. 태그라인 필수: 각 카드 또는 각 모듈에는 12~20자의 정확한 포지셔닝 문구가 있어야 하며, '이것이 어떤 문제를 해결하는지' 설명해야 합니다. 예: "금융 수준 신원 인증, 데이터 접근 전 과정 통제 가능".
  3. 불릿 시각적 접두사 필수: 작은 사각형/동그라미/번호를 접두사로 사용해야 하며, 순수 텍스트 나열을 금지합니다. 각 불릿은 단일 키워드가 아닌 완전한 의미의 문장이어야 합니다.
  4. 비텍스트 시각 요소 필수: 애플 미니멀을 제외하고, 모든 콘텐츠 페이지는 최소 하나의 비순수 텍스트 시각 컴포넌트(SVG 아이콘, 데이터 카드, 플로우차트, 프로그레스 링, 비교 매트릭스, 아키텍처 다이어그램, KPI 카드)를 포함해야 합니다. 순수 텍스트 목록 페이지는 기본 수준으로 간주되며 시각 요소를 추가해야 합니다. 애플 미니멀 스타일은 미니멀리즘과 절제가 핵심이므로, 페이지당 시각 요소는 적절히 추가합니다.
  5. 그래픽 밀도 상한 (오버플로 방지):
    • 각 슬라이드에는 하나의 대형 그래픽 컴포넌트만 사용 가능 (플로우차트 OR 매트릭스 OR 프로그레스 링 그룹 OR 피라미드, 세 가지 중 하나 선택, 중복 금지)
    • 같은 페이지에 두 가지 대형 그래픽 동시 사용 금지: 프로그레스 링 + 매트릭스, 피라미드 + 플로우차트 = 오버플로 위험 매우 높음
    • 콘텐츠 영역 높이는 3.95" (y:1.05 → y:5.0)이며, 대형 그래픽이 차지한 후 남은 텍스트 공간이 제한적이므로 추가 전에 텍스트가 들어갈 수 있는지 반드시 추정해야 함
    • 다음 컴포넌트는 처음부터 직접 작성 금지 (프리셋 라이브러리에 없으며 자체 알고리즘 구현 필요): 깔때기 차트(funnel), 간트 차트(Gantt chart), 레이더 차트(radar chart). 현재 프리셋 파일에 해당 함수가 있으면 프리셋 함수를 사용하고, 그렇지 않으면 사용하지 마세요.
  6. 하단 설명/인사이트 영역 필수: 각 핵심 모듈 하단에는 1~2줄의 보충 설명이 있어 가치를 강화하거나 행동 제안을 제공해야 합니다.

컴포넌트 업그레이드 원칙

각 스타일에는 전용 고급 리치 카드 컴포넌트가 있으며, 이를 우선 사용하고 title + desc만 있는 기본 카드로 되돌아가는 것을 금지합니다:

스타일표지 고급콘텐츠 고급 컴포넌트금지된 기본 컴포넌트
화웨이 스탠다드createRichCoveraddHuaweiRichCard, makePainPointCard, addHuaweiProcessFlowaddHuaweiNumberedCard 기본 사용법 (title+desc만 전달, tagline/bullet/하단 설명 없음)
매킨지 블루createRichCoveraddMcKinseyRichCard, makeProgressRing + KPI 카드addMcKinseyCard(value, label, desc)
애플 미니멀createRichCoveraddAppleRichCard, addAppleKPIaddAppleBullets 단독 사용
피치 데크createRichCoveraddPitchRichCard, addTractionCard순수 텍스트 목록 페이지
다크 테크createRichCoveraddDarkRichCard, addFeatureItem제목 + 본문 단락만
데이터 분석createRichCoveraddDataRichCard, 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

관련 스킬