ai-slides
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAI Slides Skill
AI Slides Skill
Overview
概述
This skill enables AI-powered presentation generation. Provide a topic or outline, and get a complete, polished presentation with proper structure, content, and formatting.
该Skill支持基于AI的演示文稿生成。只需提供主题或大纲,即可获得结构合理、内容完善、格式规范的完整精美演示文稿。
How to Use
使用方法
- Provide a topic, outline, or rough notes
- Specify audience and presentation length
- I'll generate a complete presentation
Example prompts:
- "Create a 10-slide presentation about machine learning"
- "Generate a pitch deck for a SaaS startup"
- "Build training slides on cybersecurity basics"
- "Make a quarterly review presentation from this data"
- 提供主题、大纲或粗略笔记
- 指定受众和演示文稿时长
- 我将为您生成完整的演示文稿
示例提示:
- "创建一份关于机器学习的10页幻灯片演示文稿"
- "为SaaS初创公司生成一份融资推介Deck"
- "制作关于网络安全基础的培训幻灯片"
- "根据这份数据制作季度回顾演示文稿"
Domain Knowledge
领域知识
Presentation Structure
演示文稿结构
yaml
undefinedyaml
undefinedEffective presentation structure
Effective presentation structure
structure:
-
title_slide: title: "Clear, compelling title" subtitle: "Context or tagline" author: "Presenter name"
-
agenda: items: 3-5 main topics
-
introduction: hook: "Attention-grabbing opening" context: "Why this matters"
-
main_content: sections: 3-5 key points each_section: - heading - 3-5 bullets or visual - supporting data
-
conclusion: summary: "Key takeaways" call_to_action: "What to do next"
-
closing: thank_you: true contact_info: true qa_prompt: true
undefinedstructure:
-
title_slide: title: "Clear, compelling title" subtitle: "Context or tagline" author: "Presenter name"
-
agenda: items: 3-5 main topics
-
introduction: hook: "Attention-grabbing opening" context: "Why this matters"
-
main_content: sections: 3-5 key points each_section: - heading - 3-5 bullets or visual - supporting data
-
conclusion: summary: "Key takeaways" call_to_action: "What to do next"
-
closing: thank_you: true contact_info: true qa_prompt: true
undefinedContent Generation Pattern
内容生成模式
python
def generate_presentation(topic, audience, slide_count=10):
"""AI-powered presentation generation."""
# 1. Generate outline
outline = generate_outline(topic, slide_count)
# 2. Expand each section
slides = []
for section in outline:
slide_content = expand_section(section, audience)
slides.append(slide_content)
# 3. Add visuals suggestions
for slide in slides:
slide['visuals'] = suggest_visuals(slide['content'])
# 4. Format as Marp markdown
presentation = format_as_marp(slides)
return presentation
def generate_outline(topic, count):
"""Generate presentation outline."""
# Typical structure
outline = [
{'type': 'title', 'title': topic},
{'type': 'agenda'},
# Main content (60% of slides)
# ... content slides
{'type': 'summary'},
{'type': 'closing'}
]
return outlinepython
def generate_presentation(topic, audience, slide_count=10):
"""AI-powered presentation generation."""
# 1. Generate outline
outline = generate_outline(topic, slide_count)
# 2. Expand each section
slides = []
for section in outline:
slide_content = expand_section(section, audience)
slides.append(slide_content)
# 3. Add visuals suggestions
for slide in slides:
slide['visuals'] = suggest_visuals(slide['content'])
# 4. Format as Marp markdown
presentation = format_as_marp(slides)
return presentation
def generate_outline(topic, count):
"""Generate presentation outline."""
# Typical structure
outline = [
{'type': 'title', 'title': topic},
{'type': 'agenda'},
# Main content (60% of slides)
# ... content slides
{'type': 'summary'},
{'type': 'closing'}
]
return outlineMarp Output
Marp输出格式
python
def format_as_marp(slides):
"""Convert slides to Marp markdown."""
marp = """---
marp: true
theme: gaia
paginate: true
---
"""
for slide in slides:
if slide['type'] == 'title':
marp += f"""<!-- _class: lead -->python
def format_as_marp(slides):
"""Convert slides to Marp markdown."""
marp = """---
marp: true
theme: gaia
paginate: true
---
"""
for slide in slides:
if slide['type'] == 'title':
marp += f"""<!-- _class: lead -->{slide['title']}
{slide['title']}
{slide.get('subtitle', '')}
"""
elif slide['type'] == 'content':
marp += f"""# {slide['heading']}
"""
for point in slide['points']:
marp += f"- {point}\n"
marp += "\n---\n\n"
return marpundefined{slide.get('subtitle', '')}
"""
elif slide['type'] == 'content':
marp += f"""# {slide['heading']}
"""
for point in slide['points']:
marp += f"- {point}\n"
marp += "\n---\n\n"
return marpundefinedExample: Generate Tech Talk
示例:生成技术演讲演示文稿
python
topic = "Introduction to Docker"
audience = "Developers new to containers"
slides = 10python
topic = "Introduction to Docker"
audience = "Developers new to containers"
slides = 10Generated presentation
Generated presentation
presentation = """--- marp: true theme: gaia paginate: true
<!-- _class: lead -->presentation = """--- marp: true theme: gaia paginate: true
<!-- _class: lead -->Introduction to Docker
Introduction to Docker
Containerization Made Simple
Containerization Made Simple
Agenda
Agenda
- What is Docker?
- Core Concepts
- Getting Started
- Best Practices
- Demo
- What is Docker?
- Core Concepts
- Getting Started
- Best Practices
- Demo
What is Docker?
What is Docker?
- Container platform for packaging applications
- Lightweight alternative to VMs
- "Build once, run anywhere"
- 15M+ developers, 7M+ applications
- Container platform for packaging applications
- Lightweight alternative to VMs
- "Build once, run anywhere"
- 15M+ developers, 7M+ applications
Why Containers?
Why Containers?
| VMs | Containers |
|---|---|
| GB size | MB size |
| Minutes to start | Seconds to start |
| Full OS | Shared kernel |
| VMs | Containers |
|---|---|
| GB size | MB size |
| Minutes to start | Seconds to start |
| Full OS | Shared kernel |
Core Concepts
Core Concepts
- Image: Blueprint/template
- Container: Running instance
- Dockerfile: Build instructions
- Registry: Image storage (Docker Hub)
- Image: Blueprint/template
- Container: Running instance
- Dockerfile: Build instructions
- Registry: Image storage (Docker Hub)
Getting Started
Getting Started
bash
undefinedbash
undefinedPull an image
Pull an image
docker pull nginx
docker pull nginx
Run a container
Run a container
docker run -p 8080:80 nginx
docker run -p 8080:80 nginx
List containers
List containers
docker ps
---docker ps
---Your First Dockerfile
Your First Dockerfile
dockerfile
FROM node:18
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]dockerfile
FROM node:18
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]Best Practices
Best Practices
- Use official base images
- Minimize layers
- Don't run as root
- Use .dockerignore
- Multi-stage builds
- Use official base images
- Minimize layers
- Don't run as root
- Use .dockerignore
- Multi-stage builds
Summary
Summary
✅ Docker simplifies deployment
✅ Containers are lightweight & fast
✅ Easy to get started
✅ Industry standard
<!-- _class: lead -->
✅ Docker simplifies deployment
✅ Containers are lightweight & fast
✅ Easy to get started
✅ Industry standard
<!-- _class: lead -->
Questions?
Questions?
Resources: docs.docker.com
"""
undefinedResources: docs.docker.com
"""
undefinedBest Practices
最佳实践
- Know Your Audience: Tailor complexity and examples
- One Idea Per Slide: Keep focused
- 6x6 Rule: Max 6 bullets, 6 words each
- Visual First: Suggest images/diagrams
- Strong Opening/Closing: Hook and call-to-action
- 了解受众:调整内容复杂度和示例
- 每页一个核心观点:保持内容聚焦
- 6×6原则:每页最多6个要点,每个要点最多6个词
- 优先可视化:建议使用图片/图表
- 有力的开场与结尾:吸引注意力并明确行动号召