Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)
Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
pptx-infrago — PowerPoint-Präsentations-Skill
Kiro-Skill für .pptx-Präsentationen im DB InfraGO Corporate Design.
Folgt der Agent Skills Specification.
Struktur
pptx-infrago/
├── SKILL.md # Einstiegspunkt (Frontmatter + Workflow)
├── README.md # Diese Anleitung
├── references/
│ ├── layout-katalog.md # 31 Layouts mit Index, Name, Platzhaltern
│ ├── slide-typen.md # Funktions-API mit Code-Beispielen
│ ├── asset-katalog.md # Hintergrundbilder + Auswahl-Heuristik
│ └── ci-referenz.md # Farben, Schriften, CI-Regeln
└── assets/
├── InfraGo_master_vorlage.pptx # Offizieller DB InfraGO Folienmaster
├── db_infrago_pptx.py # Helper-Modul mit Funktion pro Layout
├── Ice_line_background.png # 10 Hintergrundbilder
└── bg-*.jpeg
Voraussetzungen
pip install python-pptx
Python 3.10+. lxml wird transitiv von python-pptx mitinstalliert und vom Helper
direkt für XML-Manipulationen genutzt (Footer- und Slide-Number-Platzhalter aus dem
Layout klonen, slidenum-Field setzen, Section-Liste entfernen).
Auf DB-Rechnern stehen die DB-Schriften (DB Head Black, DB Sans) automatisch zur Verfügung. Auf anderen Systemen verwendet PowerPoint einen Fallback-Font.
Funktionsweise
Der Skill arbeitet mit dem offiziellen DB InfraGO Folienmaster (31 Layouts) und einem Helper-Modul. Statt Folien-Geometrie selbst zu zeichnen, wählt der Skill ein passendes Layout aus und befüllt dessen Platzhalter. Logo, Footer-Slot, Foliennummer und Farben werden vom Master geerbt (Footer und Foliennummer werden technisch aus dem Layout in die Slide geklont, weil python-pptx das nicht von selbst übernimmt).
Workflow:
- Skill fragt: Thema, Zielgruppe, Umfang, Footer, Ablageort
- Skill schlägt ein Hintergrundbild für die Titelfolie vor (passend zum Thema)
- Skill schlägt eine Gliederung vor (Folie + Layout-Funktion)
- Skill generiert ein Python-Skript
- Skill führt das Skript aus und öffnet die
.pptx
Nutzung
Im Kiro-Chat: "Erstelle eine PowerPoint-Präsentation über [Thema]"
Der Skill durchläuft die obigen 5 Schritte und legt am Ende eine fertige .pptx-Datei
am gewünschten Ablageort ab.
Direkter Code-Aufruf (ohne Skill)
SKILL_DIR ist der Pfad zum assets/-Ordner deines Skill-Klons. Beispiele:
- Windows (user-level):
C:\Users\<dein-username>\.kiro\skills\pptx-infrago\assets - Windows (workspace):
<projekt>\.kiro\skills\pptx-infrago\assets - macOS / Linux (user-level):
~/.kiro/skills/pptx-infrago/assets - macOS / Linux (workspace):
<projekt>/.kiro/skills/pptx-infrago/assets
import sys
from pathlib import Path
# Pfad anpassen — siehe Beispiele oben
SKILL = Path.home() / ".kiro" / "skills" / "pptx-infrago" / "assets"
sys.path.insert(0, str(SKILL))
from db_infrago_pptx import (
open_deck, save, background_image_path,
add_titel_bild_schwarz, add_titel_und_inhalt, add_ende_bild,
)
prs = open_deck()
add_titel_bild_schwarz(
prs, "Mein Thema", "Untertitel",
bild=background_image_path("datenstroeme"),
kategorie="Architektur",
footer="DB InfraGO AG | Max Mustermann | Team | 2026",
)
add_titel_und_inhalt(prs, "Punkte", ["Eins", "Zwei", "Drei"])
add_ende_bild(prs, "Vielen Dank.", bild=background_image_path("ice_bahnsteig"))
save(prs, "output.pptx")
Version
1.0.1 — Stand 11.05.2026
- Basiert auf dem offiziellen DB InfraGO Folienmaster (31 Layouts)
- Funktion pro Layout im Helper-Modul
db_infrago_pptx.py - 10 mitgelieferte Hintergrundbilder mit thematischer Auswahl-Heuristik
- Ergänzend zum bestehenden HTML-Skill
praesi-infrago(Reveal.js)
Changelog
1.1.0 — Klassifizierung + Breaking Changes (18.05.2026):
- NEU:
klassifizierung-Parameter auf allen Slide-Funktionen. Platziert Vertraulichkeitsstufe (z.B. "DB Offen / DB Open") oben links in roter Schrift. - NEU:
_set_klassifizierung()Helper — Textbox mit DB Neo Office 11pt rot. - NEU: SKILL.md erweitert um Klassifizierungs-Abfrage (Punkt 6) mit Sicherheitshinweis (DB Streng Vertraulich wird abgelehnt).
- NEU: Logo-Assets:
logo_infrago.png,logo_infrago_schwarz.png,logo_infrago_weiss.png,logo_infrago_rot_weiss.pngfuer manuelle Platzierung. - FIX:
_set_kategorie()prueft jetzt ob der Platzhalter ein Logo (blipFill) enthaelt und fasst ihn dann NICHT an (statt ihn zu entfernen). - FIX:
add_ende_logo()platziert Text als separates Textfeld statt in den Logo-Platzhalter zu schreiben. - BREAKING: Entfernt:
add_titel_weiss,add_titel_rot,add_titel_bild_schwarz_zentriert,add_titel_bild_weiss_zentriert. Diese Layouts (0, 1, 4, 5) sind im aktuellen Folienmaster nicht mehr relevant. 1.1.0 — Klassifizierung + Breaking Changes (18.05.2026): - NEU: klassifizierung-Parameter auf allen Slide-Funktionen
- NEU: _set_klassifizierung() Helper
- NEU: SKILL.md erweitert um Klassifizierungs-Abfrage (Punkt 6)
- NEU: Logo-Assets fuer manuelle Platzierung
- FIX: _set_kategorie() prueft blipFill (Logo-Schutz)
- FIX: add_ende_logo() nutzt separates Textfeld
- BREAKING: Entfernt: add_titel_weiss, add_titel_rot, add_titel_bild_schwarz_zentriert, add_titel_bild_weiss_zentriert
1.0.1 — Bugfixes und Doku-Konsistenz nach erstem Review:
- Bugfix: Beispiel in „Kreative Folien" importierte fälschlich
FOOTERaus dem Helper - Helper: ungenutzte Imports entfernt (
os,Cm,Pt) - Helper: Slide-Number-Field-ID nun pro Slide eindeutig (UUID statt fixer ID)
- Helper: Imports zentralisiert;
lxml-Nutzung explizit dokumentiert - Helper:
_set_textskipt bei Leerstring (Layout-Default bleibt erhalten) __all__vervollständigt umDB_RED_DARK,DB_TURQUOISE_300/100,DB_GRAY_MED- Doku: Workflow-Schrittzahl angeglichen (5 statt 4), Pfad-Beispiele cross-platform, „kommt vom Master"-Formulierung präzisiert, Layout-Katalog/Slide-Typen ergänzt
1.0.0 — Initial-Release