multi-role ai collaboration orchestration for presentation generation
Coordinates a specialized multi-role agent system (Strategist, Image Generator, Executor roles) through a role collaboration protocol that decomposes presentation generation into discrete AI tasks. Each role operates with a dedicated prompt template stored in roles/ directory and communicates through a structured handoff protocol where outputs from one role become inputs to the next, enabling complex visual content generation through sequential AI reasoning rather than monolithic LLM calls.
Unique: Uses a Seven Confirmations process (documented in Strategist role) to analyze source content and generate a design specification document (设计规范与内容大纲.md) before any visual generation occurs, ensuring design decisions are explicit and auditable rather than implicit in LLM outputs
vs alternatives: Unlike monolithic LLM-based presentation tools (e.g., Gamma, Beautiful.ai), ppt-master decomposes generation into specialized roles with explicit prompts, enabling fine-grained control over design patterns and easier debugging of generation failures
svg-to-drawingml conversion with powerpoint native shape preservation
Converts AI-generated SVG code into natively editable PowerPoint DrawingML objects through a specialized SVG processing pipeline (tools/svg_processor.py and related converters). Rather than embedding SVG as flat images, the system parses SVG elements (rectangles, text, paths, groups) and maps them to PowerPoint shape primitives, preserving vector editability. This enables users to click and modify individual shapes, text boxes, and charts directly in PowerPoint after generation, maintaining design fidelity while enabling post-generation customization.
Unique: Implements a two-stage conversion pipeline: SVG parsing → intermediate representation → DrawingML generation, with explicit PowerPoint compatibility rules (documented in README.md 561-571) that prevent invalid shape combinations and enforce Office rendering constraints, unlike naive SVG-to-PPTX converters that produce malformed XML
vs alternatives: Produces natively editable PowerPoint files where every element is a clickable shape (vs. competitors like Gamma or Beautiful.ai that export flat images or HTML screenshots), enabling post-generation customization without re-running generation
batch presentation generation with project lifecycle management
Manages multi-slide presentation generation through a project lifecycle system that tracks generation state, caches intermediate results, and enables resumable generation if failures occur. The system maintains a project directory structure with organized folders for source documents, generated specifications, SVG assets, images, and final PPTX output. Project utilities (tools/project_utils.py) provide functions for initializing projects, tracking generation progress, and managing file dependencies. This enables users to generate large presentations (20+ slides) without losing progress if a single slide fails, and to iterate on specific slides without regenerating the entire presentation.
Unique: Implements a project lifecycle system with organized directory structure and state tracking that enables resumable generation and slide-level iteration, preventing loss of progress and enabling efficient refinement of large presentations
vs alternatives: Provides project-level organization and resumable generation (vs. stateless generation systems that require regenerating entire presentations on failure), reducing iteration time for large presentations
quality assurance and design validation with automated checks
Validates generated presentations against design guidelines and PowerPoint compatibility rules through automated QA tools (documented in Quality Assurance Tools section). The system performs checks including: SVG syntax validation, PowerPoint shape compatibility, color contrast verification (WCAG compliance), typography consistency (font sizes, weights), layout alignment (grid-based positioning), and content completeness (all placeholders filled). Validation results are reported with specific issues and remediation suggestions, enabling users to identify and fix problems before export. The QA system can be configured to enforce strict rules (fail on any violation) or permissive rules (warn on violations but allow export).
Unique: Implements automated QA checks that validate against both design guidelines (color contrast, typography consistency, layout alignment) and PowerPoint compatibility rules, with configurable strictness levels and specific remediation suggestions
vs alternatives: Provides automated design validation (vs. manual review processes), catching consistency and compatibility issues early in the generation pipeline before export
chart template library with data-driven visualization generation
Provides 33 pre-built chart templates (templates/charts/) organized by complexity (Common, Advanced, Professional) that Executor roles use to visualize data in presentations. Each template defines SVG structure, data binding points, and styling rules for common chart types (bar, line, pie, scatter, etc.). The system supports data-driven chart generation where users provide data (CSV, JSON, or structured format) and the system selects an appropriate template, binds data to the template, and generates the final SVG chart. Chart templates are designed to match the overall presentation design system, ensuring visual consistency. The library includes templates for both simple charts (single series) and complex charts (multiple series, dual axes).
Unique: Maintains a hierarchical chart template library (Common → Advanced → Professional) with data binding support, enabling data-driven chart generation while maintaining design consistency with the overall presentation system
vs alternatives: Provides template-based chart generation with design consistency (vs. generic charting libraries like Chart.js that require manual styling to match presentation design), reducing time to create professional-looking data visualizations
multi-format canvas adaptation with dynamic layout adjustment
Supports 10+ canvas formats (business presentations 16:9, legacy 4:3, Xiaohongshu 3:4, WeChat Moments 1:1, Instagram Stories 9:16, etc.) through a CANVAS_FORMATS dictionary in tools/project_utils.py that defines dimensions and aspect ratios. Executor roles dynamically adjust SVG layouts, margins, card sizes, and typography based on selected format at generation time, ensuring content reflows correctly for different platforms without requiring separate design passes. The system maintains design consistency across formats through template-aware layout rules that scale proportionally.
Unique: Implements format-aware layout rules in Executor roles that adjust not just dimensions but also content density, card sizes, and typography based on canvas format, using a proportional scaling system that maintains readability across 3:4 to 16:9 aspect ratios
vs alternatives: Unlike generic presentation tools that require separate design passes for each platform, ppt-master generates format-specific layouts from a single content specification, reducing design iteration time by 60-70% for multi-platform campaigns
template-driven design consistency enforcement with library-based components
Enforces design consistency across generated presentations through three interconnected libraries: 33 chart templates (templates/charts/) organized by complexity (Common, Advanced, Professional), 640+ SVG icons (templates/icons/) with standardized 16×16 viewBox, and documented design guidelines (docs/design_guidelines.md) covering color systems, typography, layout grids, and CRAP principles. Executor roles reference these templates when generating SVG code, ensuring all charts use approved visual patterns and all icons maintain consistent styling. The system validates generated SVG against design rules before conversion to PPTX, preventing design drift.
Unique: Maintains a hierarchical template library (Common → Advanced → Professional complexity levels) with explicit design guidelines (CRAP principles, color systems, typography rules) that Executor roles reference during SVG generation, enabling design consistency without requiring manual template selection by users
vs alternatives: Provides a curated, hierarchical template system with documented design principles (vs. generic template libraries in Canva or PowerPoint that offer quantity over consistency), enabling enterprises to enforce brand guidelines programmatically
source document parsing and content extraction with format normalization
Converts multiple source document formats (PDF, DOCX, Markdown, URLs, plain text) into a normalized internal representation through specialized source conversion tools (tools/source_converter.py and related modules). The system extracts text content, identifies structural elements (headings, lists, tables), and preserves semantic relationships while normalizing formatting. This normalized representation becomes input to the Strategist role, which performs the Seven Confirmations process to analyze content and generate a design specification. The extraction pipeline handles encoding issues, malformed documents, and format-specific quirks (e.g., PDF text extraction challenges, DOCX embedded objects).
Unique: Implements format-specific parsers that normalize diverse source formats into a common internal representation, preserving semantic structure (headings, lists, emphasis) while discarding formatting noise, enabling the Strategist role to analyze content structure independently of source format
vs alternatives: Handles multiple source formats natively (vs. competitors requiring users to manually copy-paste content or convert to a single format first), reducing friction in the content-to-presentation pipeline
+5 more capabilities