@startuml ppt-maker-architecture skinparam componentStyle rectangle skinparam defaultFontName Arial skinparam backgroundColor #FAFAFA package "ppt-maker Skill" { component "SKILL.md\n(instructions)" as SKILL component "scripts/ppt-maker.js\n(core engine)" as ENGINE component "scripts/package.json\n(deps: pptxgenjs)" as PKG } package "ppt-maker.js Internals" { component "Markdown Parser\n(slides, headings, lists)" as PARSER component "Chart Detector\n(keyword → pie/bar/line)" as CHART component "Theme Engine\n(ocean/sunset/purple/...)" as THEME component "PPTX Renderer\n(pptxgenjs)" as RENDERER } actor User User --> SKILL : natural language request SKILL --> ENGINE : node ppt-maker.js -i ... -o ... -t ... ENGINE --> PARSER ENGINE --> CHART ENGINE --> THEME PARSER --> RENDERER CHART --> RENDERER THEME --> RENDERER RENDERER --> User : output.pptx @enduml