---
name: ppt-auto-generator
description: 마크다운 또는 텍스트 아웃라인에서 PowerPoint 프레젠테이션을 생성합니다. PPT 생성, 슬라이드 제작, 발표자료 작성 요청 시 활성화됩니다.
allowed-tools: Read, Write, Edit, Glob, Grep, Bash
---

# PPT Auto Generator

마크다운이나 텍스트 아웃라인을 기반으로 PowerPoint 프레젠테이션을 생성하는 스킬입니다.

## 기능

### 입력 형식
- 마크다운 문서
- 텍스트 아웃라인
- 구조화된 데이터 (JSON/YAML)

### 생성 요소
- 제목 슬라이드
- 목차 슬라이드
- 콘텐츠 슬라이드
- 불릿 포인트
- 이미지 플레이스홀더
- 차트 및 표
- 요약 슬라이드

### 출력 형식
- Python-pptx 스크립트
- HTML 슬라이드 (reveal.js)
- 마크다운 슬라이드 (Marp)

## 마크다운 입력 형식

```markdown
# 프레젠테이션 제목

## 슬라이드 1: 소개
- 첫 번째 포인트
- 두 번째 포인트
- 세 번째 포인트

## 슬라이드 2: 주요 내용
### 섹션 A
- 내용 1
- 내용 2

### 섹션 B
- 내용 3
- 내용 4

## 슬라이드 3: 데이터
| 항목 | 값 |
|------|-----|
| A | 100 |
| B | 200 |

## 슬라이드 4: 결론
- 핵심 메시지
- 다음 단계
```

## Python-pptx 템플릿

```python
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.enum.text import PP_ALIGN

def create_presentation(content):
    prs = Presentation()

    # 제목 슬라이드
    title_slide = prs.slides.add_slide(prs.slide_layouts[0])
    title_slide.shapes.title.text = content['title']
    title_slide.placeholders[1].text = content['subtitle']

    # 콘텐츠 슬라이드
    for slide_content in content['slides']:
        slide = prs.slides.add_slide(prs.slide_layouts[1])
        slide.shapes.title.text = slide_content['title']

        body = slide.placeholders[1]
        tf = body.text_frame

        for point in slide_content['points']:
            p = tf.add_paragraph()
            p.text = point
            p.level = 0

    prs.save('output.pptx')
    return 'output.pptx'
```

## Marp 마크다운 템플릿

```markdown
---
marp: true
theme: default
paginate: true
---

# 프레젠테이션 제목

발표자: 이름
날짜: 2024-01-15

---

## 목차

1. 소개
2. 주요 내용
3. 결론

---

## 소개

- 배경 설명
- 목적
- 범위

---

## 주요 내용

### 핵심 포인트

- 첫 번째
- 두 번째
- 세 번째

---

## 결론

- 요약
- 다음 단계
- Q&A
```

## Reveal.js HTML 템플릿

```html
<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js/dist/reveal.css">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js/dist/theme/white.css">
</head>
<body>
    <div class="reveal">
        <div class="slides">
            <section>
                <h1>제목</h1>
                <p>부제목</p>
            </section>
            <section>
                <h2>슬라이드 제목</h2>
                <ul>
                    <li>포인트 1</li>
                    <li>포인트 2</li>
                </ul>
            </section>
        </div>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/reveal.js/dist/reveal.js"></script>
    <script>Reveal.initialize();</script>
</body>
</html>
```

## 사용 예시

```
이 마크다운을 PPT로 만들어줘
발표자료를 슬라이드로 변환해줘
프로젝트 소개 PPT를 생성해줘
```

## 필요 패키지

```bash
# Python
pip install python-pptx

# Node.js (Marp)
npm install @marp-team/marp-cli
```

## 출처
Original skill from skills.cokac.com
