목록 · 제작 스킬 · 한국어 제안서 디자인 시스템

제안서 · 12종 레이아웃

한국어 제안서 디자인 시스템

회원 elite-powerpoint-designer

표지부터 마무리까지 12종 레이아웃으로 제안서 한 벌을 만듭니다. 파워포인트에서 한글만 다른 글꼴로 튀는 문제를 latin·ea·cs 세 슬롯을 모두 채워 막습니다.

설치 — 한 줄이면 됩니다
npx skills add worlddropus-cmd/dodori-skills@elite-powerpoint-designer

Codex 는 $elite-powerpoint-designer, Claude Code 와 Antigravity 는 /elite-powerpoint-designer 로 부릅니다. 그냥 "제안서 만들어줘" 라고 해도 설명문을 보고 알아서 붙습니다.

47 KB · 빌더 스크립트와 예제 스펙이 함께 들어 있습니다

지시문 전문

아래가 SKILL.md 의 전부입니다. 에이전트가 읽는 것과 같은 글입니다.

Elite PowerPoint Designer

Transform content into world-class presentations with the design quality of Apple keynotes, Microsoft product launches, and Google I/O. This skill applies 2024-2025 presentation design trends and brand-level consistency to create stunning, professional slide decks.

Core Design Philosophy

Principles:

  1. Minimalism First - Remove everything that doesn't serve a clear purpose
  2. Bold & Clear - Large typography, high contrast, confident colors
  3. Visual Hierarchy - Guide attention through size, color, and spacing
  4. Consistent Branding - Every element follows the design system
  5. Purposeful Motion - Animations only where they add clarity or emphasis

When to Use This Skill

Design System & Brand Styles

Available Brand Styles

1. Tech Keynote (Apple/Tesla Style)

2. Corporate Professional (Microsoft/IBM Style)

3. Creative Bold (Google/Airbnb Style)

4. Financial Elite (Goldman Sachs/McKinsey Style)

5. Startup Pitch (Y Combinator/500 Startups Style)

Workflow Process

Step 1: Analyze Content & Select Style

python scripts/analyze_content.py input.md

Analysis considers:

Auto-selects brand style or asks user:

Step 2: Parse Content & Map to Templates

Slide Type Detection:

# Title → title_slide (hero treatment)
## Section → chapter_intro (section divider)
### Main Points → key_message_slide (1-3 key points)
* Bullets → bullet_hierarchy_slide (visual bullets)
> Quote → quote_slide (large, impactful)
![image] → full_bleed_image (immersive)
| table | → data_visualization (auto-chart if numeric)
---metrics--- → metrics_dashboard (KPI showcase)

Step 3: Apply Design System

Typography Hierarchy:

Hero Title: 72-96pt, Bold, 1.1x line height
Section Title: 54-72pt, Semibold, 1.2x line height
Slide Title: 44-54pt, Semibold, 1.3x line height
Body Large: 32-36pt, Regular, 1.4x line height
Body: 24-28pt, Regular, 1.5x line height
Caption: 18-20pt, Light, 1.6x line height

Spacing System:

Gutter: 100-120px from edges
Title margin-bottom: 60-80px
Section spacing: 40-60px
Paragraph spacing: 24-32px
Bullet indent: 40px
Element padding: 20-30px

Color Application:

Background: Brand background (usually white/black)
Primary: Titles, key elements, CTAs
Secondary: Subtitles, secondary text
Accent: Highlights, data points, emphasis
Text: 95% opacity for readability

Step 4: Intelligent Template Selection

Use Office-PowerPoint-MCP-Server's 25+ templates with intelligent mapping:

Content Type → Template

Opening/Closing → title_slide, thank_you_slide
New Section → chapter_intro
Key Points (1-3) → key_metrics_dashboard
Comparison → before_after_comparison, chart_comparison
Process → process_flow, timeline_slide
Team → team_introduction
Data → data_table_slide, chart layouts
Mixed Content → two_column_text, three_column_layout
Full Image → full_image_slide
Quote/Testimonial → quote_testimonial

Step 5: Apply Professional Polish

Transitions & Animations:

Visual Effects:

# Apply to all text boxes
shadow = {
    "distance": 2,
    "angle": 135,
    "blur": 4,
    "transparency": 60%
}

# Apply to images
overlay = {
    "gradient": "linear",
    "opacity": 20%  # for text readability
}

Step 6: Consistency Validation

python scripts/validate_consistency.py output.pptx

Checks:

Step 7: 한글 폰트 적용 — 한국어 덱은 필수

한국어 텍스트가 한 줄이라도 있으면 이 단계를 건너뛰지 않는다. 위 브랜드 스타일이 지정하는 폰트(SF Pro·Segoe UI·Product Sans·Garamond)는 전부 라틴 폰트다. 한글에는 적용되지 않는다.

이유는 구조에 있다. PowerPoint의 텍스트 속성에는 폰트 슬롯이 셋이다.

<a:latin>  영문·숫자
<a:ea>     한글·중국어·일본어   ← 한글이 실제로 따르는 슬롯
<a:cs>     아랍어 등

python-pptx의 run.font.name<a:latin>만 쓴다. 그래서 한글 폰트 이름을 넣어도 한글은 테마 기본값(맑은 고딕 등)으로 조용히 대체된다. 오류가 나지 않아 알아채기 어렵다.

python scripts/apply_korean_fonts.py deck.pptx --style tech-keynote -o final.pptx
python scripts/apply_korean_fonts.py final.pptx --check    # 슬롯별 실제 폰트 확인

스크립트가 하는 일:

  1. 모든 런의 latin·ea·cs 세 슬롯을 지정한다. 영문·숫자는 라틴 폰트를 따로 둘 수 있다.
  2. 제목·소제목·본문·강조를 자리 표시자 종류와 글자 크기로 판정해 역할별로 다른 폰트를 준다.
  3. 자간과 행간을 한글 기준으로 조정한다.
  4. 테마의 폰트 구성표(majorFont·minorFonteascript="Hang")까지 교체한다. 이후 사용자가 새로 만드는 텍스트 상자에도 한글 폰트가 자동 적용된다.

폰트 목록과 스타일별 매핑은 templates/korean-fonts.json에 있다. 한글 조판 규칙과 폰트 이름 확인 방법은 templates/KOREAN_GUIDE.md를 본다.

한국어 덱의 크기 기준은 위 브랜드 스타일이 제시한 영문 기준에 0.88을 곱한다. 한글은 같은 pt에서 라틴보다 크게 보인다. 96pt 제목은 84pt로 내린다.

Step 8: 한국어 제안서 규칙 — 어길 수 없는 것

금지 폰트. 제안서에는 고딕(산세리프)만 쓴다. 강원교육새음 계열, 나눔손글씨를 포함한 모든 손글씨·캘리그래피, 궁서·바탕, 둥근모·픽셀 계열은 예외 없이 금지한다. 목록은 templates/korean-fonts.jsonforbidden에 있다.

강조 표현. 포인트 문구는 나눔스퀘어 네오 Heavy + 그라데이션(보라 #7C3AED → 블루 #1428A0)을 함께 쓴다. 발주처 BI 색이 있으면 끝 색을 그 색으로 바꾼다. 한 슬라이드에 강조는 한 곳만.

BI가 블루인 발주처. samsung-blue 스타일을 쓴다. assets/backgrounds/에 아래 이름으로 이미지를 넣어 두면 레이아웃별로 자동 적용된다. 배포판에는 이미지가 들어 있지 않다 — 배경은 권한이 확인된 것만 써야 해서 각자 채우는 자리로 뒀다. 비워 두면 단색 배경으로 빌드된다.

레이아웃배경
표지blue-01-cover.jpg
섹션 구분blue-02-section.jpg
본문 전체blue-04-light.jpg
마무리blue-03-wave.jpg
AI·반도체 주제 표지blue-05-ai.jpg

밝은 배경을 전제로 글자는 딥네이비(#0B1F3A)를 쓴다. 이미지 파일이 실제로 없으면 이 전제를 끄고 단색 배경에 맞는 글자색으로 돌아간다. 이미지의 그래픽은 대부분 우측·하단에 있으므로 텍스트는 좌측에 배치하고 우측 여백을 남긴다. 배경 이미지는 발주처가 제공했거나 사용 권한이 확인된 것만 쓴다.

자간은 폰트 크기 대비 퍼센트로 준다. 절대값(spc="-30")으로 넣으면 44pt 제목에서 -0.3pt밖에 안 먹어 글자가 흩어져 보인다. 큰 제목 -3~-5%, 소제목 -2%, 본문 0~-1%. build_korean_deck.pyspc = 크기(pt) × 퍼센트로 자동 환산한다.

레이아웃 빌더. 자리 표시자를 쓰지 않고 도형을 직접 배치하는 12종 레이아웃이 scripts/build_korean_deck.py에 있다. 기본 템플릿 느낌이 남지 않는다.

레이아웃쓰임
cover closing표지·마무리
agenda section목차·섹션 구분
message핵심 메시지 한 줄 (자동 Heavy + 그라데이션)
cards metrics timeline카드 그리드·지표·일정
banner제목 + 짙은 띠에 핵심 한 문장. 강조어만 색을 바꾼다. 본문 시작 y를 함께 돌려준다
matrix좌측 라벨 열 + 우측 카드 행. banner·roadmap이 돌려준 y에 이어 붙인다
roadmapPre / Main / Post 구간 로드맵. 구간 폭이 하위 단계 수에 비례한다
table밀도 높은 표. 열 폭 비율 지정, 첫 열 강조, 홀수 행 음영
thankyou제안서 마지막 장 고정 형식. 좌측 명함 블록(로고·주소) + 우측 Thank you

자사 로고. assets/logo/logo.png(원본)와 logo-white.png(어두운 배경용 흰색 반전본)를 넣으면 자동으로 얹힌다. 배포판에는 로고가 들어 있지 않다 — 자기 것을 넣는 자리다. 없으면 로고 없이 빌드된다. 저작권 문구는 footer(sl, text="..."), 마무리 장의 주소·URL은 thankyou(url=..., address=..., copyright=...)로 준다. 셋 다 기본값이 비어 있어 넣지 않으면 나오지 않는다. Deck(style)은 기본으로 표지 좌측 상단에 로고, 본문 우측 하단에 저작권 표기를 넣는다. 빼려면 Deck(style, branding=False).

마지막 장은 thankyou로 고정한다. closing은 로고 없는 범용 마무리이고, 발주처 제출 제안서는 thankyou를 쓴다.

d.thankyou(subtitle="삼성○○ AI 시대 반도체 인재 육성 과정")
# url·address·copyright는 기본값이 들어 있고 필요하면 인자로 바꾼다

뒤의 넷이 제안서 실무형이다. bannermatrix 또는 roadmapmatrix 로 이어 붙이면 한 장에 정보를 밀도 있게 담을 수 있다.

sl, top = d.banner("1. 제안 개요", "핵심 한 문장", highlights=["강조할 부분"])
d.matrix(sl, top, [("개요", [("대상", "50명"), ("기간", "15일")]), ...])
from build_korean_deck import Deck
d = Deck("samsung-blue")      # 또는 standard / tech-keynote / ...
d.cover("제목", "부제", "메타")
d.message("핵심 판단", "강조할 한 줄")        # 자동으로 Heavy + 그라데이션
d.metrics("성과", [("94.7", "%", "이수율")])   # 숫자에 그라데이션
d.save("out.pptx")

Template Mapping Reference

High-Impact Opening

# Your Big Idea
## Transforming the Future of X

→ title_slide
- Title: 96pt, brand primary
- Subtitle: 36pt, brand secondary
- Background: Gradient or solid brand color
- Animation: Fade in title (0.8s), then subtitle (0.6s)

Key Message (The "One Thing")

### 94% Customer Satisfaction
Our users love the new experience

→ key_metrics_dashboard (single metric variation)
- Metric: 144pt, center, brand accent
- Context: 28pt, below metric
- Background: Clean, minimal
- Animation: Count up number (1.2s)

Problem/Solution

## The Challenge
Current systems are slow and complex

## Our Solution
Fast, simple, and intuitive

→ before_after_comparison
- Split screen: left (problem) vs right (solution)
- Visual contrast: muted left, bright right
- Icons or images to reinforce message

Process or Timeline

## Our Roadmap
1. Q1: Foundation
2. Q2: Growth
3. Q3: Scale
4. Q4: Leadership

→ timeline_slide or process_flow
- Horizontal flow with arrows
- Color progression (light to bold)
- Dates: 32pt, stages: 44pt

Data Visualization

| Quarter | Revenue | Growth |
|---------|---------|--------|
| Q1      | $2.4M   | 15%    |
| Q2      | $3.1M   | 29%    |

→ Auto-convert to chart_comparison or data_table_slide
- If trends: Line or column chart
- If comparisons: Bar chart
- If parts/whole: Pie chart (use sparingly)
- Keep it simple: 1 chart per slide

Animation & Transition Guidelines

Professional Transition Rules

Tier 1: Always Safe (Use liberally)

Tier 2: Use Sparingly (Special moments)

Tier 3: Avoid (Unprofessional)

Animation Best Practices

The "AHA!" Moment Rule:

Text Animation:

# Professional entrance
effect = "Fade In"
duration = 0.4
delay_between_bullets = 0.3  # If bullets, stagger

Image Animation:

# Optional for product shots or key visuals
effect = "Wipe" or "Fade In"
duration = 0.6
direction = "From Bottom" # Natural, like rising

Advanced Features

Auto-Generated Section Dividers

===
# Part Two: Growth Strategy
===

→ Auto-creates chapter_intro with:
- Full-screen background (brand gradient)
- Large centered text (84pt)
- Fade to black transition (1.0s)

Smart Image Handling

![hero](image.jpg)
![thumb](small.jpg) ![thumb](small2.jpg)

→ Detects image size/role:
- Large/hero: full_image_slide with overlay for text
- Multiple: two_column or grid layout
- Auto-crops to 16:9
- Applies subtle gradient overlay (20%) if text present

Metrics Auto-Emphasis

We achieved **94%** customer satisfaction and **$2.4M** in revenue.

→ Auto-detects numbers with emphasis:
- Extracts: 94%, $2.4M
- Creates: key_metrics_dashboard
- Animates: Count-up effect (1.2s)
- Styling: Large (144pt), brand accent color

Quality Checklist

Before finalizing, ensure:

Visual Consistency:

Content Clarity:

Motion & Polish:

Brand Alignment:

Examples

See examples/ folder for:

Requirements

MCP Server: Office-PowerPoint-MCP-Server

# Install via Smithery
npx @smithery/cli install @gongrzhe/office-powerpoint-mcp-server

# Or local setup
pip install python-pptx

Python Packages:

pip install python-pptx pillow pyyaml

Tips for Best Results

  1. Start with Style: Add frontmatter to markdown with desired brand style ``yaml --- style: tech-keynote accent-color: "#0071E3" --- ``
  1. Less is More: Aim for 1 slide per minute of presentation time
  1. Image Quality Matters: Use high-res images (min 1920x1080, prefer 4K)
  1. Test Animations: Preview deck to ensure transitions feel professional
  1. Print-Ready: Design also works for PDF export (animations become static)
  1. Accessibility: Maintain 4.5:1 contrast ratio for text readability

Troubleshooting

Issue: Colors don't match brand exactly Solution: Specify exact hex codes in frontmatter:

---
colors:
  primary: "#003366"
  accent: "#0078D4"
  background: "#FFFFFF"
---

Issue: Too much animation Solution: Set animation level in frontmatter:

---
animations: minimal  # minimal, moderate, full
---

Issue: Slides too dense Solution: Follow "6x6 rule" - max 6 bullets, max 6 words per bullet. Claude will auto-split content if needed.

Next-Level Customization

Advanced users can:

See templates/CUSTOMIZATION.md for details.