← Files Investment BankingARCHIVED FILE

skills/pitch-deck-builder/scripts/make_slide_index.py

1.17 KB · Oct 2, 2026 · 00:27 UTC

↓ Download file

#!/usr/bin/env python3
"""Create a slide index markdown table from a pitch-deck blueprint JSON."""

from __future__ import annotations

import argparse
import json
from pathlib import Path
from typing import Any


def make_index(data: dict[str, Any]) -> str:
    lines = [
        "# Slide Index",
        f"Deck type: {data.get('deck_type', 'unknown')} | Entity: {data.get('entity', 'unknown')} | Audience: {data.get('audience', 'unknown')}",
        "",
        "| # | Section | Action title | Visual | Status |",
        "|---:|---|---|---|---|",
    ]
    for slide in data.get("slides", []):
        lines.append(
            f"| {slide.get('slide_number', '')} | {slide.get('section', '')} | {slide.get('slide_title', '')} | {slide.get('recommended_visual', '')} | {slide.get('status', '')} |"
        )
    return "\n".join(lines) + "\n"


def main() -> None:
    parser = argparse.ArgumentParser(
        description="Create a slide index from a pitch-deck blueprint JSON."
    )
    parser.add_argument("json_file", type=Path)
    args = parser.parse_args()
    data = json.loads(args.json_file.read_text(encoding="utf-8"))
    print(make_index(data))


if __name__ == "__main__":
    main()

SHA-256: 902359ec0475115477e60fe8aa37744c57bd8217ae31d715d21f55a95e6254e8