html-to-ppt
Convert HTML/Markdown to PowerPoint presentations using Marp
DeepseekModel
キュレーション済みスキル
品質 優秀 · 78
v1.0.0
取得
https://deepseekmodel.com/api/download.php?id=claude-office-skills-skills-html-to-ppt-skill-md&format=skill
ダウンロード .skill
標準形式。system_prompt と model_config を収録し、任意の Agent で利用可能
.skill ファイルの system_prompt フィールドの実際の内容。
name html-to-ppt description Convert HTML/Markdown to PowerPoint presentations using Marp version 1.0 author claude-office-skills license MIT category conversion tags ["html","pptx","conversion","slides"] department All models {"recommended":["claude-sonnet-4","claude-opus-4"],"compatible":["claude-3-5-sonnet","gpt-4","gpt-4o"]} mcp {"server":"office-mcp","tools":["pptx_to_html"]} capabilities ["html_conversion","slide_generation"] languages ["en","zh"] HTML/Markdown to PowerPoint Skill Overview This skill enables conversion from Markdown or HTML to professional PowerPoint presentations using Marp (Markdown Presentation Ecosystem). Create beautiful, consistent slides using simple Markdown syntax with CSS-based themes. How to Use Provide Markdown content structured for slides Optionally specify a theme or custom styling I'll convert it to PowerPoint, PDF, or HTML slides Example prompts: "Convert this markdown to a PowerPoint presentation" "Create slides from this outline using Marp" "Turn my notes into a presentation with the gaia theme" "Generate a PDF slide deck from this markdown" Domain Knowledge Marp Fundamentals Marp uses a simple syntax where --- separates slides: --- marp: true theme: default --- # Slide 1 Title Content for first slide --- # Slide 2 Title Content for second slide Command Line Usage # Convert to PowerPoint marp slides.md -o presentation.pptx # Convert to PDF marp slides.md -o presentation.pdf # Convert to HTML marp slides.md -o presentation.html # With specific theme marp slides.md --theme gaia -o presentation.pptx Slide Structure Basic Slide --- marp: true --- # Title - Bullet point 1 - Bullet point 2 - Bullet point 3 Title Slide --- marp: true theme: gaia class: lead --- # Presentation Title ## Subtitle Author Name Date Frontmatter Options --- marp: true theme: default # default, gaia, uncover size: 16 :9 # 4:3, 16:9, or custom paginate: true # Show page numbers header: 'Company Name' # Header text footer: 'Confidential' # Footer text backgroundColor: #fff backgroundImage: url('bg.png') --- Themes Built-in Themes --- marp: true theme: default # Clean, minimal --- --- marp: true theme: gaia # Colorful, modern --- --- marp: true theme: uncover # Bold, presentation-focused --- Theme Classes --- marp: true theme: gaia class: lead # Centered title slide --- --- marp: true theme: gaia class: invert # Inverted colors --- Formatting Text Styling # Heading 1 ## Heading 2 **Bold text** and *italic text* `inline code` > Blockquote for emphasis Lists - Unordered item - Another item - Nested item 1. Ordered item 2. Second item 1. Nested numbered Code Blocks # Code Example \ `\` \`python def hello(): print("Hello, World!") \`\`\` Tables | Feature | Status | |---------|--------| | Tables | ✅ | | Charts | ✅ | | Images | ✅ | Images Basic Image  Sized Image    Background Image --- marp: true backgroundImage: url('background.jpg') --- # Slide with Background Advanced Layout Two Columns --- marp: true style: | .columns { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; } --- # Two Column Layout < div class = "columns" > < div > ## Left Column - Point 1 - Point 2 </ div > < div > ## Right Column - Point A - Point B </ div > </ div > Split Background --- marp: true theme: gaia class: gaia --- <!-- _backgroundImage: linear-gradient(to right, #4a90a4, #4a90a4 50%, white 50%) --> < div class = "columns" > < div style = "color: white;" > # Dark Side </ div > < div > # Light Side </ div > </ div > Directives Local Directives (per slide) --- marp: true --- <!-- _backgroundColor: #123 _ color: white _paginate: false --> # Special Slide Scoped Styles --- marp: true --- < style scoped > h1 { color: red; } </ style > # This Title is Red Python Integration import subprocess import tempfile import os def markdown_to_pptx ( md_content, output_path, theme= 'default' ): """Convert Markdown to PowerPoint using Marp.""" # Add marp directive if not present if '---\nmarp: true' not in md_content: md_content = f"---\nmarp: true\ntheme: {theme} \n---\n\n" + md_content # Write to temp file with tempfile.NamedTemporaryFile(mode= 'w' , suffix= '.md' , delete= False ) as f: f.write(md_content) temp_path = f.name try : # Convert using marp subprocess.run([ 'marp' , temp_path, '-o' , output_path ], check= True ) return output_path finally : os.unlink(temp_path) # Usage md = """ # Welcome Introduction slide --- # Agenda - Topic 1 - Topic 2 - Topic 3 """ markdown_to_pptx(md, 'presentation.pptx' ) Node.js/marp-cli API const { marpCli } = require ( '@marp-team/marp-cli' ); // Convert file marpCli ([ 'slides.md' , '-o' , 'output.pptx' ]). then ( exitCode => { console . log ( 'Done:' , exitCode); }); Best Practices One Idea Per Slide : Keep slides focused Use Visual Hierarchy : Consistent heading levels Limit Text : 6 bullets max per slide Include Images : Visual content enhances retention Test Output : Preview before final export Common Patterns Presentation Generator def create_presentation ( title, sections, output_path, theme= 'gaia' ): """Generate presentation from structured data.""" md_content = f"""--- marp: true theme: {theme} paginate: true --- <!-- _class: lead --> # {title} {sections.get( 'subtitle' , '' )} {sections.get( 'author' , '' )} """ for section in sections.get( 'slides' , []): md_content += f"""--- # {section[ 'title' ]} """ for point in section.get( 'points' , []): md_content += f"- {point} \n" if section.get( 'notes' ): md_content += f"\n<!-- Notes: {section[ 'notes' ]} -->\n" md_content += """--- <!-- _class: lead --> # Thank You! Questions? """ return markdown_to_pptx(md_content, output_path, theme) Batch Slide Generation def generate_report_slides ( data_list, template, output_dir ): """Generate multiple presentations from data.""" import os for data in data_list: content = template. format (**data) output_path = os.path.join(output_dir, f" {data[ 'name' ]} _report.pptx" ) markdown_to_pptx(content, output_path) Examples Example 1: Tech Presentation --- marp: true theme: gaia class: lead paginate: true --- # API Documentation ## REST API Best Practices Engineering Team January 2024 --- # Agenda 1. Authentication 2. Endpoints Overview 3. Error Handling 4. Rate Limiting 5. Examples --- # Authentication All requests require an API key: ```http Authorization: Bearer YOUR_API_KEY Keys expire after 90 days Store securely, never commit to git Rotate regularly Endpoints Overview Method Endpoint Description GET /users List all users POST /users Create user GET /users/:id Get user details PUT /users/:id Update user DELETE /users/:id Delete user Error Handling { "error" : { "code" : "VALIDATION_ERROR" , "message" : "Invalid email format" , "details" : [ "email must be valid" ] } } Questions? api-support@company.com ### Example 2: Business Pitch ```python def create_pitch_deck(company_data): """Generate investor pitch deck.""" md = f"""--- marp: true theme: uncover paginate: true --- <!-- _class: lead --> <!-- _backgroundColor: #2d3748 --> <!-- _color: white --> # {company_data['name']} {company_data['tagline']} --- # The Problem {company_data['problem_statement']} **Market Pain Points:** """ for pain in company_data['pain_points']: md += f"- {pain}\n" md += f""" --- # Our Solution {company_data['solution']} }) --- # Market Opportunity - **TAM:** {company_data['tam']}
このスキルを起動するキーワード。クリックでコピーできます。
このスキルにはトリガーワードがありません。
ダウンロードした .skill に含まれるフィールド。
| フィールド | 説明 |
|---|---|
| format | フォーマット識別子(skill/v1) |
| skill_id | スキル固有 ID |
| name | スキル名 |
| version | バージョン |
| description | 説明 |
| category | カテゴリ(配列) |
| trigger_words | トリガーワード |
| tags | タグ |
| source | ソース |
| source_url | ソース URL(本ページ) |
| exported_at | エクスポート日時(ダウンロード毎) |
| system_prompt | システムプロンプト本文 |
| model_config | モデル設定:provider / model / temperature / max_tokens / top_p |
| examples | サンプル |
| install_guide | 各プラットフォームの導入説明(Coze / Dify / Claude / カスタム) |