内容创作
#image
codex-ppt-skill
Generate image-based PowerPoint presentations using gpt-image-2, converting articles, papers, and reports into visual slide decks
DeepseekModel
官方收录技能
质量 良好 · 48
v1.0.0
获取
https://deepseekmodel.com/api/download.php?id=aradotso-codex-skills-skills-codex-ppt-skill-skill-md&format=skill
下载 .skill
标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
name codex-ppt-skill description Generate image-based PowerPoint presentations using gpt-image-2, converting articles, papers, and reports into visual slide decks triggers ["create a powerpoint presentation from this document","generate slides from this article","make a ppt deck with images","convert this paper to presentation slides","build a slide deck using codex-ppt","generate visual presentation from content","create image-based slides for this report","make a ppt with gpt-image-2"] codex-ppt-skill Skill by ara.so — Codex Skills collection. A skill for generating image-based PowerPoint presentations where each slide is a complete 16:9 image generated by gpt-image-2 . Converts articles, papers, reports, and notes into visually cohesive presentation decks with unified styling. What This Skill Does Image-based slides : Each slide is a full 16:9 image, perfect for strong visual storytelling Multi-agent support : Works in Codex, Claude Code, OpenClaw, Hermes Agent Style library : Built-in visual styles (clean professional, scientific defense, e-ink magazine, hand-drawn technical, dashboard, etc.) Unified visual language : Maintains consistent styling while varying layouts per content Custom images : Insert specific figures, diagrams, or screenshots on designated slides Local assembly : Python script packages generated images into .pptx with speaker notes Installation For Codex npx -y skills@latest add ningzimu/codex-ppt-skill \ --skill codex-ppt \ --agent codex \ --global Restart Codex after installation. For Claude Code npx -y skills@latest add ningzimu/codex-ppt-skill \ --skill codex-ppt \ --agent claude-code \ --global For OpenClaw openclaw skills install codex-ppt For Hermes Agent npx -y skills@latest add ningzimu/codex-ppt-skill \ --skill codex-ppt \ --agent hermes-agent \ --global Manual Installation Clone and symlink to your agent's skills directory: git clone https://github.com/ningzimu/codex-ppt-skill.git mkdir -p ~/.codex/skills ln -s $( pwd )/codex-ppt-skill/skills/codex-ppt ~/.codex/skills/codex-ppt Image Generation Configuration Important : Only configure if you need API/CLI fallback. If using Codex with GPT subscription and built-in image generation works, skip this section . Configure only when: Using third-party OpenAI-compatible APIs Using Claude Code, OpenClaw, or Hermes Agent Codex built-in image generation is unavailable Configuration Command python3 ~/.codex/skills/codex-ppt/scripts/codex_ppt_runtime.py config \ --api-key " $OPENAI_API_KEY " \ --model gpt-image-2 With custom base URL (for third-party providers): python3 ~/.codex/skills/codex-ppt/scripts/codex_ppt_runtime.py config \ --api-key " $OPENAI_API_KEY " \ --base-url "https://api.example.com/v1" \ --model openai/gpt-image-2 Configuration is stored in ~/.codex-ppt-skill/.env and shared across all agents. Environment Variables If configured, the .env file contains: OPENAI_API_KEY=your-api-key-here OPENAI_BASE_URL=https://api.example.com/v1 # optional OPENAI_IMAGE_MODEL=gpt-image-2 Key Commands and API Generate Image via CLI python3 ~/.codex/skills/codex-ppt/scripts/codex_ppt_runtime.py generate \ --prompt "Clean professional slide: Introduction to AI, blue gradient background, large title, 3 bullet points" \ --output /path/to/slide_01.png \ --size 2048x1152 Assemble PPT from Images python3 ~/.codex/skills/codex-ppt/scripts/assemble_ppt.py \ --project-dir /path/to/ppt-project \ --title "My Presentation" \ --speech-file /path/to/ppt-project/speech.md Check Configuration python3 ~/.codex/skills/codex-ppt/scripts/codex_ppt_runtime.py check-config Output: ✓ Configuration file exists ✓ API key configured ✓ Model: gpt-image-2 ✓ Base URL: https://api.openai.com/v1 Workflow and Usage Patterns Basic Usage # In agent conversation: # "Use codex-ppt skill to create a 10-slide presentation from article.md" The skill follows this workflow: Read content and create outline Generate outline.md with slide titles and key points Request confirmation on page count and structure Propose visual styles (2-3 options with recommendation) Confirm image generation backend before first generation Generate sample slide for style approval Create project directory structure Generate all slides with unified styling Quality check (text clarity, style consistency) Generate speech.md with speaker notes Assemble .pptx using local script Project Directory Structure {base_dir}/{ppt_name}/ ├── origin_image/ │ ├── slide_01.png # Title slide │ ├── slide_02.png # Content slides │ ├── slide_03.png │ └── ... ├── outline.md # Slide structure ├── speech.md # Speaker notes (## Slide 1: Title format) └── {ppt_name}.pptx # Final presentation Example: Article to Presentation # Input: technical_article.md containing AI research summary # Agent command: "Use codex-ppt skill to make this into slides" # Step 1: Outline generation outline = """ # AI Research Presentation Outline ## Slide 1: Title - "Recent Advances in Large Language Models" - Speaker name, date ## Slide 2: Background - Evolution of NLP - Pre-transformer era vs transformer era - Key milestones timeline ## Slide 3: Architecture - Transformer architecture diagram - Attention mechanism - Scaling laws # ... (continues) """ # Step 2: Style selection styles = [ "clean-professional" , # Recommended for tech talks "scientific-defense" , # For academic presentations "handdrawn-technical" # For approachable tech explanation ] # Step 3: Sample slide generation (2K resolution) sample_prompt = """ 16:9 slide, clean professional style, blue gradient background Title: "Recent Advances in Large Language Models" Subtitle: "Dr. Jane Smith | May 2024" Minimalist design, large readable font, subtle geometric accents """ # Step 4: Bulk generation (all remaining slides) # Agent generates each slide with consistent style but varied layouts Example: Inserting Custom Images # Outline with custom figure specification outline_with_figures = """ ## Slide 5: Model Architecture - Insert: /path/to/architecture_diagram.png - Transformer architecture - Multi-head attention - Feed-forward layers ## Slide 8: Experimental Results - Insert: /path/to/results_chart.png - Benchmark comparison - Performance metrics """ # The skill will: # 1. Use provided image as background/focal element # 2. Add consistent styling (borders, background, text overlays) # 3. Maintain visual coherence with other slides Example: Python Assembly Script Usage #!/usr/bin/env python3 from pptx import Presentation from pptx.util import Inches import os def assemble_presentation ( project_dir: str , title: str , speech_file: str ): """ Assemble PPT from images in origin_image/ directory. Args: project_dir: Path to PPT project directory title: Presentation title speech_file: Path to speech.md with speaker notes """ prs = Presentation() prs.slide_width = Inches( 10 ) # 16:9 aspect ratio prs.slide_height = Inches( 5.625 ) image_dir = os.path.join(project_dir, "origin_image" ) images = sorted ([f for f in os.listdir(image_dir) if f.startswith( "slide_" )]) # Parse speaker notes notes_map = parse_speaker_notes(speech_file) for idx, img_file in enumerate (images, 1 ): slide_layout = prs.slide_layouts[ 6 ] # Blank layout slide = prs.slides.add_slide(slide_layout) # Add image filling entire slide img_path = os.path.join(image_dir, img_file) slide.shapes.add_picture( img_path, Inches( 0 ), Inches( 0 ), width=Inches( 10 ), height=Inches( 5.625 ) ) # Add speaker notes if idx in notes_map: slide.notes_slide.notes_text_frame.text = notes_map[idx] output_path = os.path.join(project_dir, f" {title} .pptx" ) prs.save(output_path) return output_path def parse_speaker_notes ( speech_file: str ) -> dict : """Extract speaker notes by slide number from markdown.""" notes = {} current_slide = None current_text = [] with open (speech_file, 'r' , encoding= 'utf-8' ) as f: for line in f: if line.startswith( "## Slide " ): if current_slide: notes[current_slide] = "\n" .join(current_text).strip() # Extract slide number current_slide = int (line.split( "Slide " )[ 1 ].split( ":" )[ 0 ]) current_text = [] elif current_slide: current_text.append(line.rstrip()) if current_slide: notes[current_slide] = "\n" .join(current_text).strip() return notes Visual Styles Reference Built-in styles in skills/codex-ppt/references/styles.md : clean-professional Blue/gray gradients, sans-serif fonts Minimalist design, ample white space Subtle geometric accents Best for: corporate, tech talks scientific-defense Academic journal aesthetic Structured layouts with clear sections Chart-friendly, equation-compatible Best for: research presentations, thesis defense e-ink-magazine Black and white high contrast Editorial typography Grid-based layouts Best for: content-heavy, text-focused presentations handdrawn-technical Hand-drawn diagrams and annotations Whiteboard aesthetic with digital polish Friendly, approachable Best for: tutorials, educational content data-dashboard Dark background with bright data visualizations KPI-focused layouts Chart and metric emphasis Best for: business reviews, analytics presentations retro-flat-illustration Flat design with vintage color palettes Illustrative icons and graphics Playful yet professional Best for: creative presentations, marketing warm-handmade Textured backgrounds, craft-paper feel Handwritten fonts, natural colors Organic, human-centered Best for: storytelling, personal projects Common Patterns Pattern 1: Conference Talk from Paper # Input: research_paper.pdf (converted to markdown) # Command: "Create a 15-slide conference talk using scientific-defense style" # Agent workflow: # 1. Extract key sections (abstract, methodology, results, conclusions) # 2. Create outline with 1 title + 2-3 intro + 6-8 technical + 2-3 conclusion slides # 3. Insert paper figures on relevant slides # 4. Generate slides with consistent academic styling # 5. Add detailed speaker notes from paper content Pattern 2: Business Quarterly Review # Input: Q4_2024_metrics.md with KPIs and charts # Command: "Make data-dashboard style slides, insert my 3 chart images" # Outline example: """ ## Slide 1: Q4 2024 Review ## Slide 2: Revenue Overview - Insert: revenue_chart.png ## Slide 3: User Growth - Insert: growth_chart.png ## Slide 4: Regional Performance - Insert: regional_map.png ## Slide 5: Key Initiatives ## Slide 6: Q1 2025 Goals """ Pattern 3: Course Lecture Slides # Input: lecture_notes.md (markdown with headings and bullets) # Command: "Create handdrawn-technical style slides, about 20 pages" # Agent approach: # - 1 slide per major concept # - Visual metaphors for abstract ideas # - Step-by-step diagrams for processes # - Summary slide every 5-6 slides # - Consistent whiteboard aesthetic throughout Resolution and Quality Standard Resolution (2K) # 2048x1152 (16:9, sufficient for most presentations) python3 codex_ppt_runtime.py generate \ --prompt "..." \ --output slide.png \ --size 2048x1152 High Resolution (4K) # 3840x2160 (16:9, for text-heavy slides or printing) python3 codex_ppt_runtime.py generate \ --prompt "..." \ --output slide.png \ --size 3840x2160 When to use 4K: Slides with extensive text (>100 words) Complex diagrams or code snippets Presentations for large screens or printing Fine typography matters Troubleshooting Issue: Blurry text on slides Solution: Increase resolution to 4K # In agent: "Regenerate slides 3-5 at 4K resolution for better text clarity" Issue: Style inconsistency between slides Cause: Vague or varying style prompts Solution: Lock style reference in first sample slide Reuse exact style description for all slides Only vary content/layout, keep color/font/theme identical # Good: Consistent base prompt base_style = "Clean professional, blue gradient (#1e3a8a to #3b82f6), Inter font, minimalist" slide_2_prompt = f" {base_style} \nTitle: Introduction\n3 bullet points..." slide_3_prompt = f" {base_style} \nTitle: Methods\nDiagram with 4 boxes..." # Bad: Different styles per slide slide_2_prompt = "Blue background, title and bullets" slide_3_prompt = "Professional slide with diagram" # Too vague Issue: Missing speaker notes in assembled PPT Cause: speech.md format doesn't match parser Solution: Use strict heading format ## Slide 1: Title Slide This is the opening slide. Introduce yourself and the topic.
Agent 识别该技能的关键词,点击任意一个即可复制。
该技能未提供触发词。
下载的 .skill 包内含以下字段。
| 字段 | 说明 |
|---|---|
| format | 格式标识(skill/v1) |
| skill_id | 技能唯一 ID |
| name | 技能名称 |
| version | 版本号 |
| description | 技能描述 |
| category | 所属分类(数组) |
| trigger_words | 触发词列表 |
| tags | 标签列表 |
| source | 来源标识 |
| source_url | 来源链接(本页地址) |
| exported_at | 导出时间(每次下载生成) |
| system_prompt | 系统提示词正文 |
| model_config | 模型参数:provider / model / temperature / max_tokens / top_p |
| examples | 示例 |
| install_guide | 各平台导入说明(Coze / Dify / Claude / 自定义框架) |