# PPT Master Project Structure and Generated File Locations

> Discover the PPT Master project structure in skills/ppt-master/ and projects/. Learn where your generated PPTX files are saved in each project's exports/ directory.

- Repository: [HugoHe/ppt-master](https://github.com/hugohe3/ppt-master)
- Tags: project-structure
- Published: 2026-04-24

---

**PPT Master organizes files as a skill package with core functionality in `skills/ppt-master/` and user projects in `projects/`, with final PPTX files saved to each project's `exports/` directory.**

PPT Master is an AI-powered presentation generation system that organizes its codebase as a **skill package** rather than a traditional standalone application. Understanding the repository layout and output locations is essential for navigating the workflow from source documents to finished presentations. The project separates core engine scripts from user-generated content, with specific directories designated for SVG intermediates and final PowerPoint exports.

## Top-Level Repository Layout

The repository follows a skill-package architecture where all core functionality lives under `skills/ppt-master/` while documentation and user assets reside at the root level.

- **`skills/ppt-master/`** – The **core engine** containing scripts, templates, reference documents, and workflow definitions. This directory houses the CLI tools and processing logic according to the source repository structure.
- **`projects/`** – **User-created projects** that remain empty by default until initialized via the project manager.
- **`examples/`** – Ready-made demonstration projects showcasing the complete pipeline from source to export.
- **`docs/`** – Technical documentation including design specifications, FAQ, and installation guides.
- **[`README.md`](https://github.com/hugohe3/ppt-master/blob/main/README.md)** – Overview, quick-start instructions, and licensing information.

## Project Initialization and Directory Structure

When you initialize a new project using [`skills/ppt-master/scripts/project_manager.py`](https://github.com/hugohe3/ppt-master/blob/main/skills/ppt-master/scripts/project_manager.py), the tool creates a self-contained folder under `projects/` that holds every artifact for a single deck. The directory creation is hard-coded in lines 33-42 of [`project_manager.py`](https://github.com/hugohe3/ppt-master/blob/main/project_manager.py).

The generated structure follows this pattern:

```

<project_name>_<format>_<YYYYMMDD>/
├─ svg_output/    # Raw SVG pages generated by the Executor

├─ svg_final/     # Finalized SVGs after post-processing

├─ images/        # Source images supplied by the user

├─ notes/         # Speaker-note markdown files

├─ templates/     # Optional layout files copied during setup

├─ sources/       # Original PDFs, DOCs, and MD files

└─ exports/       # Final PPTX files (native and snapshot versions)

```

Each directory serves a specific purpose in the pipeline from source conversion to final export.

## Where Generated Files Are Saved

### Final PPTX Output Locations

The **`exports/`** folder within each project directory contains the completed presentations. According to the [`README.md`](https://github.com/hugohe3/ppt-master/blob/main/README.md) in the repository root, this directory explicitly stores the generated PPTX files produced by the pipeline.

When processing completes, you will find two variants in `exports/`:

- **Native-editable PPTX** – `exports/<project_name>_<timestamp>.pptx` contains editable PowerPoint shapes and text.
- **SVG-snapshot PPTX** – `exports/<project_name>_<timestamp>_svg.pptx` contains rasterized SVG snapshots for consistent rendering.

Both files are produced by the [`svg_to_pptx.py`](https://github.com/hugohe3/ppt-master/blob/main/svg_to_pptx.py) wrapper script located at [`skills/ppt-master/scripts/svg_to_pptx.py`](https://github.com/hugohe3/ppt-master/blob/main/skills/ppt-master/scripts/svg_to_pptx.py), which delegates to the underlying `svg_to_pptx` package.

### Intermediate File Handling

During processing, the pipeline generates temporary assets in other project subdirectories:

- **`svg_output/`** – Contains raw SVG pages straight from the Executor before post-processing.
- **`svg_final/`** – Stores finalized SVGs after cropping, image embedding, and other transformations.
- **`notes/`** – Holds speaker-note markdown files generated by [`total_md_split.py`](https://github.com/hugohe3/ppt-master/blob/main/total_md_split.py).

These intermediate directories populate during the Strategist and Executor phases, while the `sources/` directory preserves your original input files when using the `--move` flag during import.

## Working with the CLI Tools

### Initialize a New Project

To create a new project with the standard directory structure:

```bash
python3 skills/ppt-master/scripts/project_manager.py init my_deck --format ppt169

```

This command creates `projects/my_deck_ppt169_YYYYMMDD/` with all subdirectories (`svg_output`, `svg_final`, `exports`, etc.) pre-configured for 16:9 canvas dimensions (1280×720).

### Import Source Documents

Import existing PDFs or documents into your project:

```bash
python3 skills/ppt-master/scripts/project_manager.py import-sources \
    projects/my_deck_ppt169_20240424 \
    my_report.pdf \
    --move

```

The `--move` flag relocates the original PDF into the `sources/` directory while generating a corresponding markdown file for processing.

### Generate Final Presentations

Run the complete pipeline to produce PPTX files:

```bash
python3 skills/ppt-master/scripts/svg_to_pptx.py projects/my_deck_ppt169_20240424 -s final

```

This executes the SVG-to-PowerPoint conversion, writing both the native-editable and SVG-snapshot versions to the `exports/` folder.

## Key Configuration and Reference Files

Several files define the pipeline behavior and project standards:

- **[`skills/ppt-master/SKILL.md`](https://github.com/hugohe3/ppt-master/blob/main/skills/ppt-master/SKILL.md)** – The master pipeline description containing the complete script table of contents and role-based workflow definitions.
- **[`skills/ppt-master/scripts/project_manager.py`](https://github.com/hugohe3/ppt-master/blob/main/skills/ppt-master/scripts/project_manager.py)** – Handles project initialization and the creation of the directory tree.
- **[`skills/ppt-master/scripts/svg_to_pptx.py`](https://github.com/hugohe3/ppt-master/blob/main/skills/ppt-master/scripts/svg_to_pptx.py)** – The CLI wrapper responsible for writing final `.pptx` files to the exports directory.
- **[`skills/ppt-master/references/strategist.md`](https://github.com/hugohe3/ppt-master/blob/main/skills/ppt-master/references/strategist.md)** and **[`executor-base.md`](https://github.com/hugohe3/ppt-master/blob/main/executor-base.md)** – Role definitions, design-spec contracts, and SVG standards governing the generation process.
- **[`skills/ppt-master/templates/layouts/layouts_index.json`](https://github.com/hugohe3/ppt-master/blob/main/skills/ppt-master/templates/layouts/layouts_index.json)** – Index of ready-made layout templates available for copying into projects during setup.

## Summary

- **PPT Master** uses a skill-package architecture with core logic in `skills/ppt-master/` and user content in `projects/`.
- Each initialized project contains eight standard subdirectories including `svg_output/`, `sources/`, and `exports/`.
- **Final PPTX files** are saved exclusively to the `exports/` directory within each project folder.
- Two output variants are generated: native-editable PPTX and SVG-snapshot PPTX, both timestamped.
- The **[`project_manager.py`](https://github.com/hugohe3/ppt-master/blob/main/project_manager.py)** script creates all project directories, while **[`svg_to_pptx.py`](https://github.com/hugohe3/ppt-master/blob/main/svg_to_pptx.py)** handles the final export process.

## Frequently Asked Questions

### What is the difference between svg_output and svg_final?

The `svg_output/` directory contains raw SVG pages generated directly by the Executor during the initial rendering phase. The `svg_final/` directory holds processed versions after post-processing steps like cropping, image embedding, and optimization. The pipeline uses finalized SVGs from `svg_final/` when creating the PowerPoint exports.

### Where are source files stored after import?

When using `project_manager.py import-sources` with the `--move` flag, original PDFs, DOC files, and other source documents are relocated to the `sources/` directory within your project folder. The tool also generates corresponding markdown files in the same location for processing by the Strategist.

### How do I change the export location for generated PPTX files?

The export location is hard-coded to the `exports/` subdirectory within each project. According to the source in [`svg_to_pptx.py`](https://github.com/hugohe3/ppt-master/blob/main/svg_to_pptx.py), the script writes files directly to `project_path/exports/`. To change output locations, you would need to modify the wrapper script or manually move files after generation using shell commands.

### What files should I commit to version control?

Commit the `skills/ppt-master/` directory for the engine code, documentation in `docs/`, and example projects in `examples/`. For your work in `projects/`, commit the `sources/` directory (original documents), any custom `templates/`, and speaker notes. Generally exclude `svg_output/`, `svg_final/`, and `exports/` directories as these contain generated artifacts that the pipeline can recreate from source.