PPT Builder (간략 → 데크)
두 가지 산출물(슬라이드별 콘텐츠 명세(JSON)와 — python-pptx가 있을 때 — 그 명세로부터 렌더링된 실제 .pptx)로 데크를 제작합니다. 명세가 진실 공급원(source of truth)이며, 렌더링은 기계적인 과정입니다.
입력
| 입력 | 필수 | 기본값 | 설명 |
|---|---|---|---|
| topic | 예 | — | 데크가 주장하거나 설명하는 내용 |
| audience | 아니오 | 通用商务 | 어조와 깊이를 결정 |
| slide_count | 아니오 | 10 | 표지와 마지막 슬라이드 포함 |
| style | 아니오 | 简洁商务 | 예: 学术答辩 / 融资路演 / 教学课件 |
주제(topic)가 없으면 한 번만 질문:
PPT 주제와 용도(보고 대상)를 알려주세요. 선택 사항: 페이지 수(기본 10), 스타일(기본 간결 비즈니스), 기존 개요나 자료 파일 유무.
사전 점검
python -c "import pptx; print('pptx-ok')"
pptx-ok출력 → .pptx 내보내기 활성화 (Step 3a).- ModuleNotFoundError → 마크다운 경로 (Step 3b). 사용자에게 한 줄 알림:
pip install python-pptx로 다음에 직접 .pptx 내보내기를 활성화할 수 있습니다. 사용자가 명시적으로 동의하지 않는 한 직접 설치하지 마세요.
워크플로우
Step 1: 개요
논증(주제가 아님)을 다음 순서로 구성: 钩子开场(一个反直觉的事实或问题) → 全局地图 → 核心论点 2–3개(각각 증거/사례 포함) → 反驳或边界 → 行动号召. 예상 결과: 각 슬라이드가 하나의 주장을 명시하는 번호 매기기 개요.
Step 2: 슬라이드별 명세
slides_spec.json 작성:
{
"deck_title": "...",
"slides": [
{"title": "...", "bullets": ["<=18자/줄, 최대 5줄"], "notes": "발표자용 구어체", "visual": "차트/스크린샷/여백 힌트"}
]
}
규칙: 제목 ≤ 16자이며 관점을 포함할 것("소개" 같은 빈 단어 금지). notes는 그대로 읽을 수 있는 완전한 문장이어야 함.
Step 3a: .pptx 렌더링 (pptx 사용 가능)
python "<skill-dir>/scripts/make_pptx.py" slides_spec.json deck.pptx
예상 결과: exit 0 및 wrote deck.pptx (N slides) 출력. Exit 3은 python-pptx 누락 → Step 3b로 대체하고 이유를 사용자에게 알림. Exit 2는 명세 오류 — 출력된 오류를 읽고, slides_spec.json 수정 후 재실행.
Step 3b: 대체 산출물
deck_outline.md 생성: H1 데크 제목, H2 각 슬라이드별 불릿과 발표자 노트 포함. 사용자가 아무 도구에나 붙여넣을 수 있음.
Step 4: 전달 전 자체 검토
확인 사항: 각 페이지는 하나의 주장만 담을 것. 불릿 5개 초과 금지. 각 페이지 visual에 구체적인 힌트가 있을 것. notes 총 단어 수가 목표 시간(약 1분/페이지)을 충족할 것. 위반 사항은 명세에서 수정하고 다시 렌더링할 것(프로세스 수정 금지).
오류 처리
| 증상 | 가능한 원인 | 조치 |
|---|---|---|
| 스크립트가 N 슬라이드 오류와 함께 exit 2 | 명세 스키마 위반 | Step 2 형식에 따라 해당 슬라이드 필드 수정 |
| 스크립트 exit 3 | python-pptx 부재 | Step 3b로 전환하고 pip 힌트 제공 |
| 불릿이 계속 18자 초과 | 개요가 너무 조밀함 | 슬라이드를 두 개로 나누고 다시 렌더링 |
| 사용자가 회사 템플릿 요청 | 스타일링이 v1 범위 밖 | 수동 재스타일링을 위해 명세 + outline.md 전달 |
전달 기준
성공 = deck.pptx(열 수 있고, 명세와 일치하는 N 슬라이드) 또는 deck_outline.md, 그리고 slides_spec.json, 세 파일의 경로와 슬라이드 수를 모두 보고해야 함. 그 외는 완료되지 않은 것 — 명확히 말할 것.
참고
scripts/make_pptx.py— 실행(읽지 말고 실행). 명세 검증 후 렌더링.