B

baoyu-slide-deck

by @JimLiuv
4.6(168)

プレゼンテーションジェネレーター:MarkdownをPPTスライドに変換し、16種類のプリセットスタイル、アウトラインとページごとの画像を自動生成します。

presentation-generationmarkdown-to-pptslide-designautomated-contentmicrosoft-powerpointGitHub
インストール方法
npx skills add JimLiu/baoyu-skills --skill baoyu-slide-deck
compare_arrows

Before / After 効果比較

1
使用前

手動でのPPT作成は時間と労力がかかり、レイアウトや画像選定に多大な労力を要します。テキストコンテンツから視覚的な表現への変換効率が低く、作業の進行に影響を与えます。

使用後

Markdownコンテンツを自動で美しいPPTスライドに変換し、複数のプリセットスタイルを提供、さらにアウトラインとページごとの画像をスマートに生成します。プレゼンテーション資料作成の効率を大幅に向上させます。

SKILL.md

Slide Deck Generator

Transform content into professional slide deck images.

Usage

/baoyu-slide-deck path/to/content.md
/baoyu-slide-deck path/to/content.md --style sketch-notes
/baoyu-slide-deck path/to/content.md --audience executives
/baoyu-slide-deck path/to/content.md --lang zh
/baoyu-slide-deck path/to/content.md --slides 10
/baoyu-slide-deck path/to/content.md --outline-only
/baoyu-slide-deck  # Then paste content

Script Directory

Agent Execution Instructions:

  1. Determine this SKILL.md file's directory path as {baseDir}
  2. Script path = {baseDir}/scripts/<script-name>.ts
  3. Resolve ${BUN_X} runtime: if bun installed → bun; if npx available → npx -y bun; else suggest installing bun
ScriptPurpose
scripts/merge-to-pptx.tsMerge slides into PowerPoint
scripts/merge-to-pdf.tsMerge slides into PDF

Options

OptionDescription
--style <name>Visual style: preset name, custom, or custom style name
--audience <type>Target: beginners, intermediate, experts, executives, general
--lang <code>Output language (en, zh, ja, etc.)
--slides <number>Target slide count (8-25 recommended, max 30)
--outline-onlyGenerate outline only, skip image generation
--prompts-onlyGenerate outline + prompts, skip images
--images-onlyGenerate images from existing prompts directory
--regenerate <N>Regenerate specific slide(s): --regenerate 3 or --regenerate 2,5,8

Slide Count by Content Length:

ContentSlides
< 1000 words5-10
1000-3000 words10-18
3000-5000 words15-25
> 5000 words20-30 (consider splitting)

Style System

Presets

PresetDimensionsBest For
blueprint (Default)grid + cool + technical + balancedArchitecture, system design
chalkboardorganic + warm + handwritten + balancedEducation, tutorials
corporateclean + professional + geometric + balancedInvestor decks, proposals
minimalclean + neutral + geometric + minimalExecutive briefings
sketch-notesorganic + warm + handwritten + balancedEducational, tutorials
watercolororganic + warm + humanist + minimalLifestyle, wellness
dark-atmosphericclean + dark + editorial + balancedEntertainment, gaming
notionclean + neutral + geometric + denseProduct demos, SaaS
bold-editorialclean + vibrant + editorial + balancedProduct launches, keynotes
editorial-infographicclean + cool + editorial + denseTech explainers, research
fantasy-animationorganic + vibrant + handwritten + minimalEducational storytelling
intuition-machineclean + cool + technical + denseTechnical docs, academic
pixel-artpixel + vibrant + technical + balancedGaming, developer talks
scientificclean + cool + technical + denseBiology, chemistry, medical
vector-illustrationclean + vibrant + humanist + balancedCreative, children's content
vintagepaper + warm + editorial + balancedHistorical, heritage

Style Dimensions

DimensionOptionsDescription
Textureclean, grid, organic, pixel, paperVisual texture and background treatment
Moodprofessional, warm, cool, vibrant, dark, neutralColor temperature and palette style
Typographygeometric, humanist, handwritten, editorial, technicalHeadline and body text styling
Densityminimal, balanced, denseInformation density per slide

Full specs: references/dimensions/*.md

Auto Style Selection

Content SignalsPreset
tutorial, learn, education, guide, beginnersketch-notes
classroom, teaching, school, chalkboardchalkboard
architecture, system, data, analysis, technicalblueprint
creative, children, kids, cutevector-illustration
briefing, academic, research, bilingualintuition-machine
executive, minimal, clean, simpleminimal
saas, product, dashboard, metricsnotion
investor, quarterly, business, corporatecorporate
launch, marketing, keynote, magazinebold-editorial
entertainment, music, gaming, atmosphericdark-atmospheric
explainer, journalism, science communicationeditorial-infographic
story, fantasy, animation, magicalfantasy-animation
gaming, retro, pixel, developerpixel-art
biology, chemistry, medical, scientificscientific
history, heritage, vintage, expeditionvintage
lifestyle, wellness, travel, artisticwatercolor
Defaultblueprint

Design Philosophy

Decks designed for reading and sharing, not live presentation:

  • Each slide self-explanatory without verbal commentary
  • Logical flow when scrolling
  • All necessary context within each slide
  • Optimized for social media sharing

See references/design-guidelines.md for:

  • Audience-specific principles
  • Visual hierarchy
  • Content density guidelines
  • Color and typography selection
  • Font recommendations

See references/layouts.md for layout options.

File Management

Output Directory

slide-deck/{topic-slug}/
├── source-{slug}.{ext}
├── outline.md
├── prompts/
│   └── 01-slide-cover.md, 02-slide-{slug}.md, ...
├── 01-slide-cover.png, 02-slide-{slug}.png, ...
├── {topic-slug}.pptx
└── {topic-slug}.pdf

Slug: Extract topic (2-4 words, kebab-case). Example: "Introduction to Machine Learning" → intro-machine-learning

Conflict Handling: See Step 1.3 for existing content detection and user options.

Language Handling

Detection Priority:

  1. --lang flag (explicit)
  2. EXTEND.md language setting
  3. User's conversation language (input language)
  4. Source content language

Rule: ALL responses use user's preferred language:

  • Questions and confirmations
  • Progress reports
  • Error messages
  • Completion summaries

Technical terms (style names, file paths, code) remain in English.

Workflow

Copy this checklist and check off items as you complete them:

Slide Deck Progress:
- [ ] Step 1: Setup & Analyze
  - [ ] 1.1 Load preferences
  - [ ] 1.2 Analyze content
  - [ ] 1.3 Check existing ⚠️ REQUIRED
- [ ] Step 2: Confirmation ⚠️ REQUIRED (Round 1, optional Round 2)
- [ ] Step 3: Generate outline
- [ ] Step 4: Review outline (conditional)
- [ ] Step 5: Generate prompts
- [ ] Step 6: Review prompts (conditional)
- [ ] Step 7: Generate images
- [ ] Step 8: Merge to PPTX/PDF
- [ ] Step 9: Output summary

Flow

Input → Preferences → Analyze → [Check Existing?] → Confirm (1-2 rounds) → Outline → [Review Outline?] → Prompts → [Review Prompts?] → Images → Merge → Complete

Step 1: Setup & Analyze

1.1 Load Preferences (EXTEND.md)

Check EXTEND.md existence (priority order):

# macOS, Linux, WSL, Git Bash
test -f .baoyu-skills/baoyu-slide-deck/EXTEND.md && echo "project"
test -f "${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-slide-deck/EXTEND.md" && echo "xdg"
test -f "$HOME/.baoyu-skills/baoyu-slide-deck/EXTEND.md" && echo "user"
# PowerShell (Windows)
if (Test-Path .baoyu-skills/baoyu-slide-deck/EXTEND.md) { "project" }
$xdg = if ($env:XDG_CONFIG_HOME) { $env:XDG_CONFIG_HOME } else { "$HOME/.config" }
if (Test-Path "$xdg/baoyu-skills/baoyu-slide-deck/EXTEND.md") { "xdg" }
if (Test-Path "$HOME/.baoyu-skills/baoyu-slide-deck/EXTEND.md") { "user" }

┌──────────────────────────────────────────────────┬───────────────────┐ │ Path │ Location │ ├──────────────────────────────────────────────────┼───────────────────┤ │ .baoyu-skills/baoyu-slide-deck/EXTEND.md │ Project directory │ ├──────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.baoyu-skills/baoyu-slide-deck/EXTEND.md │ User home │ └──────────────────────────────────────────────────┴───────────────────┘

When EXTEND.md Found → Read, parse, output summary to user:

📋 Loaded preferences from [full path]
├─ Style: [preset/custom name]
├─ Audience: [audience or "auto-detect"]
├─ Language: [language or "auto-detect"]
└─ Review: [enabled/disabled]

When EXTEND.md Not Found → First-time setup using AskUserQuestion or proceed with defaults.

EXTEND.md Supports: Preferred style | Custom dimensions | Default audience | Language preference | Review preference

Schema: references/config/preferences-schema.md

1.2 Analyze Content

  1. Save source content (if pasted, save as source.md)
    • Backup rule: If source.md exists, rename to source-backup-YYYYMMDD-HHMMSS.md
  2. Follow references/analysis-framework.md for content analysis
  3. Analyze content signals for style recommendations
  4. Detect source language
  5. Determine recommended slide count
  6. Generate topic slug from content

1.3 Check Existing Content ⚠️ REQUIRED

MUST execute before proceeding to Step 2.

Use Bash to check if output directory exists:

test -d "slide-deck/{topic-slug}" && echo "exists"

If directory exists, use AskUserQuestion:

header: "Existing"
question: "Existing content found. How to proceed?"
options:
  - label: "Regenerate outline"
    description: "Keep images, regenerate outline only"
  - label: "Regenerate images"
    description: "Keep outline, regenerate images only"
  - label: "Backup and regenerate"
    description: "Backup to {slug}-backup-{timestamp}, then regenerate all"
  - label: "Exit"
    description: "Cancel, keep existing content unchanged"

Save to analysis.md with:

  • Topic, audience, content signals
  • Recommended style (based on Auto Style Selection)
  • Recommended slide count
  • Language detection

Step 2: Confirmation ⚠️ REQUIRED

Two-round confirmation: Round 1 always, Round 2 only if "Custom dimensions" selected.

Language: Use user's input language or saved language preference.

Display summary:

  • Content type + topic identified
  • Language: [from EXTEND.md or detected]
  • Recommended style: [preset] (based on content signals)
  • Recommended slides: [N] (based on content length)

Round 1 (Always)

Use AskUserQuestion for all 5 questions:

Question 1: Style

header: "Style"
question: "Which visual style for this deck?"
options:
  - label: "{recommended_preset} (Recommended)"
    description: "Best match based on content analysis"
  - label: "{alternative_preset}"
    description: "[alternative style description]"
  - label: "Custom dimensions"
    description: "Choose texture, mood, typography, density separately"

Question 2: Audience

header: "Audience"
question: "Who is the primary reader?"
options:
  - label: "General readers (Recommended)"
    description: "Broad appeal, accessible content"
  - label: "Beginners/learners"
    description: "Educational focus, clear explanations"
  - label: "Experts/professionals"
    description: "Technical depth, domain knowledge"
  - label: "Executives"
    description: "High-level insights, minimal detail"

Question 3: Slide Count

header: "Slides"
question: "How many slides?"
options:
  - label: "{N} slides (Recommended)"
    description: "Based on content length"
  - label: "Fewer ({N-3} slides)"
    description: "More condensed, less detail"
  - label: "More ({N+3} slides)"
    description: "More detailed breakdown"

Question 4: Review Outline

header: "Outline"
question: "Review outline before generating prompts?"
options:
  - label: "Yes, review outline (Recommended)"
    description: "Review slide titles and structure"
  - label: "No, skip outline review"
    description: "Proceed directly to prompt generation"

Question 5: Review Prompts

header: "Prompts"
question: "Review prompts before generating images?"
options:
  - label: "Yes, review prompts (Recommended)"
    description: "Review image generation prompts"
  - label: "No, skip prompt review"
    description: "Proceed directly to image generation"

Round 2 (Only if "Custom dimensions" selected)

Use AskUserQuestion for all 4 dimensions:

Question 1: Texture

header: "Texture"
question: "Which visual texture?"
options:
  - label: "clean"
    description: "Pure solid color, no texture"
  - label: "grid"
    description: "Subtle grid overlay, technical"
  - label: "organic"
    description: "Soft textures, hand-drawn feel"
  - label: "pixel"
    description: "Chunky pixels, 8-bit aesthetic"

(Note: "paper" available via Other)

Question 2: Mood

header: "Mood"
question: "Which color mood?"
options:
  - label: "professional"
    description: "Cool-neutral, navy/gold"
  - label: "warm"
    description: "Earth tones, friendly"
  - label: "cool"
    description: "Blues, grays, analytical"
  - label: "vibrant"
    description: "High saturation, bold"

(Note: "dark", "neutral" available via Other)

Question 3: Typography

header: "Typography"
question: "Which typography style?"
options:
  - label: "geometric"
    description: "Modern sans-serif, clean"
  - label: "humanist"
    description: "Friendly, readable"
  - label: "handwritten"
    description: "Marker/brush, organic"
  - label: "editorial"
    description: "Magazine style, dramatic"

(Note: "technical" available via Other)

Question 4: Density

header: "Density"
question: "Information density?"
options:
  - label: "balanced (Recommended)"
    description: "2-3 key points per slide"
  - label: "minimal"
    description: "One focus point, maximum whitespace"
  - label: "dense"
    description: "Multiple data points, compact"

After Round 2: Store custom dimensions as the style configuration.

After Confirmation:

  1. Update analysis.md with confirmed preferences
  2. Store skip_outline_review flag from Question 4
  3. Store skip_prompt_review flag from Question 5
  4. → Step 3

Step 3: Generate Outline

Create outline using the confirmed style from Step 2.

Style Resolution:

  • If preset selected → Read references/styles/{preset}.md
  • If custom dimensions → Read dimension files from references/dimensions/ and combine

Generate:

  1. Follow references/outline-template.md for structure
  2. Build STYLE_INSTRUCTIONS from style or dimensions
  3. Apply confirmed audience, language, slide count
  4. Save as outline.md

After generation:

  • If --outline-only, stop here
  • If skip_outline_review is true → Skip Step 4, go to Step 5
  • If skip_outline_review is false → Continue to Step 4

Step 4: Review Outline (Conditional)

Skip this step if user selected "No, skip outline review" in Step 2.

Purpose: Review outline structure before prompt generation.

Language: Use user's input language or saved language preference.

Display:

  • Total slides: N
  • Style:

...

ユーザーレビュー (0)

レビューを書く

効果
使いやすさ
ドキュメント
互換性

レビューなし

統計データ

インストール数21.8K
評価4.6 / 5.0
バージョン
更新日2026年5月23日
比較事例1 件

ユーザー評価

4.6(168)
5
63%
4
26%
3
8%
2
2%
1
1%

この Skill を評価

0.0

対応プラットフォーム

🔧Claude Code
🔧OpenClaw
🔧OpenCode
🔧Codex
🔧Gemini CLI
🔧GitHub Copilot
🔧Amp
🔧Kimi CLI

タイムライン

作成2026年2月1日
最終更新2026年5月23日