Skip to content

vt-c-doc-versioning

Automatisches Versionierungs-System für Dokumente. Erstellt neue Versionen, archiviert alte Versionen im 99-alt Ordner, erhöht Versionsnummern und aktualisiert Versionshistorie. Primär für Markdown, aber alle Formate unterstützt (docx, pdf, xlsx, pptx, md).

Plugin: core-standards
Category: Documentation Pipeline
Command: /vt-c-doc-versioning


Document Versioning Skill

Zweck

Dieser Skill verhindert das Überschreiben von Dokumenten und sorgt für eine vollständige Versionierungshistorie. Er wird automatisch bei jeder Dokumentänderung aktiviert.

Workflow

Bei jeder Anfrage zur Änderung eines Dokuments:

1. Versionierung starten

WICHTIG: Bevor das Dokument geändert wird, IMMER diesen Prozess durchlaufen!

2. Nutzer-Informationen abfragen

Frage den Nutzer:
1. "Autor der Änderung?" (z.B. "Max Mustermann")
2. "Beschreibung der Änderungen?" (z.B. "Ergänzung Kostenschätzung")
3. "Status der neuen Version?" (Optionen: "Zur Abstimmung", "Entwurf", "Final")

3. Aktuelle Version ermitteln

  • Dateiname analysieren: Dokument_v0.2.docx → Version 0.2
  • Falls keine Version im Dateinamen: Im Dokument nach "Version:" suchen
  • Format: vX.Y oder X.Y (mit oder ohne "v")

4. Neue Version berechnen

  • Minor-Version erhöhen: v0.2v0.3
  • Bei v0.9v0.10 (nicht zu v1.0, außer explizit vom Nutzer gewünscht)
  • Bei v1.0 → Major-Wechsel nur auf Nutzer-Anfrage

5. Altes Dokument archivieren

# 99-alt Ordner erstellen falls nicht vorhanden
mkdir -p 99-alt

# Alte Version verschieben (Dateiname bleibt gleich)
mv Dokument_v0.2.docx 99-alt/

6. Neue Datei erstellen

  • Dateiname: Alte Version durch neue ersetzen
  • Dokument_v0.2.docxDokument_v0.3.docx
  • 2024-10-22_Bericht_v1.5.md2024-10-22_Bericht_v1.6.md

7. Dokument-Inhalt aktualisieren

Für Markdown (.md)

# Metadaten aktualisieren
Version: v0.3
Datum: [AKTUELLES_DATUM im Format DD.MM.YYYY]

# Versionshistorie (OBEN neue Zeile einfügen)
| Version | Datum | Autor | Änderungen | Status |
|---------|-------|-------|------------|--------|
| v0.3 | [DATUM] | [AUTOR] | [ÄNDERUNGEN] | [STATUS] |
| v0.2 | ... | ... | ... | Abgelöst |

Für Word (.docx)

from docx import Document
doc = Document('Dokument_v0.3.docx')

# Metadaten auf Seite 1 suchen und ersetzen
# "Version: v0.2" → "Version: v0.3"
# "Datum: DD.MM.YYYY" → "Datum: [AKTUELLES_DATUM]"

# Versionshistorie-Tabelle finden
# Neue Zeile OBEN einfügen mit:
# [v0.3] [DATUM] [AUTOR] [ÄNDERUNGEN] [STATUS]
# Alte Zeilen: Status auf "Abgelöst" setzen

doc.save('Dokument_v0.3.docx')

Für PDF, Excel, PowerPoint

  • Hinweis: Diese Formate können nicht direkt bearbeitet werden
  • Nur Datei-Versionierung (Archivierung + neuer Dateiname)
  • Metadaten müssen manuell im Quelldokument geändert werden

8. Bestätigung

✅ Versionierung abgeschlossen:
   - Alt: 99-alt/Dokument_v0.2.docx
   - Neu: Dokument_v0.3.docx
   - Version: v0.3
   - Status: [STATUS]

Bereit für Änderungen am Dokument.

Dokumenttypen

Primär: Markdown (.md)

  • Vollständige Unterstützung
  • Metadaten und Versionshistorie werden direkt bearbeitet
  • YAML Frontmatter oder Markdown-Tabellen

Sekundär: Word (.docx)

  • Vollständige Unterstützung
  • Metadaten auf Seite 1 werden aktualisiert
  • Versionshistorie-Tabelle wird erweitert

Eingeschränkt: PDF, Excel (.xlsx), PowerPoint (.pptx)

  • Nur Datei-Versionierung (kein Inhalt)
  • Archivierung und Dateiname-Anpassung
  • Nutzer muss Metadaten manuell ändern

Versionsnummer-Regeln

Format

  • Mit Präfix: v0.3, v1.0, v2.5
  • Ohne Präfix: 0.3, 1.0, 2.5
  • Konsistent zum bestehenden Format

Erhöhung

  • Minor: Nach dem Punkt (+1)
  • v0.2v0.3
  • v0.9v0.10
  • v1.5v1.6
  • Major: Nur auf Nutzer-Anfrage
  • v0.10v1.0 (explizit anfragen)
  • v1.9v2.0 (explizit anfragen)

Versionshistorie-Tabelle

Struktur

| Version | Datum      | Autor           | Änderungen                    | Status          |
|---------|------------|-----------------|-------------------------------|-----------------|
| v0.3    | 22.10.2025 | Max Mustermann  | Ergänzung Kostenschätzung     | Zur Abstimmung  |
| v0.2    | 04.08.2025 | Max Mustermann  | Detaillierte Feature-Bewertung| Abgelöst        |
| v0.1    | 30.07.2025 | Max Mustermann  | Initiale Erstellung           | Abgelöst        |

Regeln

  • Neue Zeile: Immer OBEN (neueste zuerst)
  • Status alte Versionen: Auf "Abgelöst" setzen
  • Status neue Version: Vom Nutzer abfragen (Zur Abstimmung | Entwurf | Final)
  • Datum: Format DD.MM.YYYY

Wichtige Hinweise

IMMER vor Änderungen

Dieser Skill wird ZUERST ausgeführt, bevor irgendwelche Änderungen am Dokument vorgenommen werden.

Nie überschreiben

Dokumente werden NIEMALS direkt überschrieben. Immer erst versionieren!

Archiv-Ordner

  • Name: 99-alt (im gleichen Verzeichnis wie Dokument)
  • Wird automatisch erstellt falls nicht vorhanden
  • Dateinamen bleiben unverändert

Claude Code Integration

Bei Verwendung mit Claude Code:

Nutzer: "Bitte Dokument XYZ anpassen und Kapitel 3 ergänzen"

Claude:
1. [Skill aktiviert] "Autor? Änderungen? Status?"
2. [Nutzer antwortet]
3. [Versionierung durchführen]
4. [DANN] Dokument bearbeiten

Beispiel-Ablauf

Nutzer: "Bitte im Dokument 'Vorgangsvorschlag_v0.2.docx' die Kostenschätzung ergänzen"

Claude:
→ Skill aktiviert
→ "Autor der Änderung?"
Nutzer: "Rolf Schulte Strathaus"

→ "Beschreibung der Änderungen?"
Nutzer: "Ergänzung von Kostenschätzung"

→ "Status?" (Zur Abstimmung/Entwurf/Final)
Nutzer: "Zur Abstimmung"

Claude führt aus:
1. ✓ 99-alt/ Ordner erstellen
2. ✓ Vorgangsvorschlag_v0.2.docx → 99-alt/
3. ✓ Neue Datei: Vorgangsvorschlag_v0.3.docx
4. ✓ Im Dokument:
   - Version: v0.3
   - Datum: 22.10.2025
   - Versionshistorie: Neue Zeile oben
5. ✓ Jetzt Kostenschätzung ergänzen

Fertig!

Fehlerbehandlung

Keine Version gefunden

→ Frage Nutzer: "Welche Version soll das Dokument haben?"
→ Setze als v0.1 und erstelle Versionshistorie

99-alt existiert bereits

→ Prüfe ob Datei bereits in 99-alt existiert
→ Falls ja: Umbenennen mit Timestamp: "Dokument_v0.2_backup_20251022.docx"

Mehrere Versionsangaben

→ Nutze die Version aus dem Dateinamen
→ Falls keine: Nutze Version aus Dokument