Communitygithub.com

AmanVarshney01/tcut

Delta-Spezifikationen aus einer Änderung mit den Hauptspezifikationen abgleichen. Verwenden, wenn der Benutzer die Hauptspezifikationen mit den Änderungen aus einer Delta-Spezifikation aktualisieren möchte, ohne die Änderung zu archivieren.

Was ist tcut?

Diese Fähigkeit synchronisiert Änderungen aus Delta-Spezifikationen (Delta Specs) in die Hauptspezifikationen (Main Specs) eines OpenSpec-Repos. Sie ist für KI-Agenten gedacht, die intelligent mergen müssen, z.B. um ein neues Szenario zu einer bestehenden Anforderung hinzuzufügen, ohne die gesamte Spezifikation zu kopieren. Der Agent liest die Delta-Spezifikationen, identifiziert hinzugefügte, geänderte, umbenannte oder entfernte Anforderungen und wendet diese Änderungen direkt auf die passenden Hauptspezifikationen an – entweder durch Erstellen neuer Dateien oder durch teilweises Aktualisieren bestehender. Die Fähigkeit unterstützt die Auswahl eines OpenSpec-Stores über die `--store`-Flag und erfordert eine explizite Benutzereingabe zur Auswahl der zu synchronisierenden Änderung. Sie läuft als CLI-Tool und basiert auf `openspec`-Befehlen, um Listen und Status abzurufen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/AmanVarshney01/tcut/tree/HEAD/.claude/skills/openspec-sync-specs

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Delta-Spezifikationen aus einer Änderung mit den Hauptspezifikationen abgleichen.

Dies ist eine agentengesteuerte Operation – du wirst Delta-Spezifikationen lesen und Hauptspezifikationen direkt bearbeiten, um die Änderungen anzuwenden. Dies ermöglicht ein intelligentes Zusammenführen (z.B. Hinzufügen eines Szenarios, ohne die gesamte Anforderung zu kopieren).

Store-Auswahl: Wenn der Benutzer einen Store nennt (ein Store ist ein eigenständiges OpenSpec-Repo, das auf diesem Rechner registriert ist) oder die Arbeit in einem Store liegt, führe openspec store list --json aus, um registrierte Store-IDs zu ermitteln, und übergib dann --store <id> bei den Befehlen, die Spezifikationen und Änderungen lesen oder schreiben (new change, status, instructions, list, show, validate, archive, doctor, context). Andere Befehle akzeptieren dieses Flag nicht. Hinweise, die von Befehlen ausgegeben werden, enthalten das Flag bereits; behalte es bei Folgebefehlen bei. Ohne einen Store agieren die Befehle im nächstgelegenen lokalen openspec/-Verzeichnis.

Eingabe: Optional kann ein Änderungsname angegeben werden. Wenn nicht angegeben, prüfe, ob er aus dem Gesprächskontext abgeleitet werden kann. Bei vagen oder mehrdeutigen Angaben MUSST du nach verfügbaren Änderungen fragen.

Schritte

  1. Wenn kein Änderungsname angegeben ist, zur Auswahl auffordern

    Führe openspec list --json aus, um verfügbare Änderungen zu erhalten. Verwende das AskUserQuestion-Tool, um den Benutzer auswählen zu lassen.

    Zeige Änderungen an, die Delta-Spezifikationen haben (im Verzeichnis specs/).

    WICHTIG: Du darfst keine Änderung raten oder automatisch auswählen. Lass den Benutzer immer wählen.

  2. Kontext der Änderung auflösen

    Führe aus:

    openspec status --change "<name>" --json
    
  3. Delta-Spezifikationen finden

    Verwende artifactPaths.specs.existingOutputPaths aus dem Status-JSON als Liste der Delta-Spezifikationsdateien.

    Jede Delta-Spezifikationsdatei enthält Abschnitte wie:

    • ## HINZUGEFÜGTE Anforderungen – Neue hinzuzufügende Anforderungen
    • ## GEÄNDERTE Anforderungen – Änderungen an bestehenden Anforderungen
    • ## ENTFERNTE Anforderungen – Zu entfernende Anforderungen
    • ## UMBENANNTE Anforderungen – Umzubenennende Anforderungen (VON:/NACH:-Format)

    Wenn keine Delta-Spezifikationen gefunden werden, informiere den Benutzer und stoppe.

  4. Für jede Delta-Spezifikation die Änderungen auf die Hauptspezifikationen anwenden

    Für jeden repo-lokalen Delta-Spezifikationspfad, der vom CLI zurückgegeben wird:

    a. Lese die Delta-Spezifikation, um die beabsichtigten Änderungen zu verstehen

    b. Lese die Hauptspezifikation unter openspec/specs/<capability>/spec.md (kann noch nicht existieren)

    c. Wende Änderungen intelligent an:

    HINZUGEFÜGTE Anforderungen:

    • Wenn die Anforderung in der Hauptspezifikation nicht existiert → füge sie hinzu
    • Wenn die Anforderung bereits existiert → aktualisiere sie, um sie anzupassen (als implizite GEÄNDERTE behandeln)

    GEÄNDERTE Anforderungen:

    • Finde die Anforderung in der Hauptspezifikation
    • Wende die Änderungen an – dies kann sein:
      • Hinzufügen neuer Szenarien (bestehende müssen nicht kopiert werden)
      • Ändern bestehender Szenarien
      • Ändern der Anforderungsbeschreibung
    • Behalte Szenarien/Inhalte bei, die in der Delta-Spezifikation nicht erwähnt werden

    ENTFERNTE Anforderungen:

    • Entferne den gesamten Anforderungsblock aus der Hauptspezifikation

    UMBENANNTE Anforderungen:

    • Finde die VON-Anforderung, benenne sie in die NACH-Anforderung um

    d. Neue Hauptspezifikation erstellen, falls die Fähigkeit noch nicht existiert:

    • Erstelle openspec/specs/<capability>/spec.md
    • Füge einen Abschnitt „Zweck“ hinzu (kann kurz sein, als TBD markieren)
    • Füge einen Abschnitt „Anforderungen“ mit den HINZUGEFÜGTEN Anforderungen hinzu
  5. Zusammenfassung anzeigen

    Nachdem alle Änderungen angewendet wurden, fasse zusammen:

    • Welche Fähigkeiten aktualisiert wurden
    • Welche Änderungen vorgenommen wurden (Anforderungen hinzugefügt/geändert/entfernt/umbenannt)

Referenz zum Delta-Spezifikationsformat

## HINZUGEFÜGTE Anforderungen

### Anforderung: Neue Funktion
Das System SOLL etwas Neues tun.

#### Szenario: Basisfall
- **WENN** Benutzer X tut
- **DANN** tut System Y

## GEÄNDERTE Anforderungen

### Anforderung: Bestehende Funktion
#### Szenario: Hinzuzufügendes neues Szenario
- **WENN** Benutzer A tut
- **DANN** tut System B

## ENTFERNTE Anforderungen

### Anforderung: Veraltete Funktion

## UMBENANNTE Anforderungen

- VON: `### Anforderung: Alter Name`
- NACH: `### Anforderung: Neuer Name`

Kernprinzip: Intelligentes Zusammenführen

Im Gegensatz zum programmatischen Zusammenführen kannst du Teilaktualisierungen anwenden:

  • Um ein Szenario hinzuzufügen, füge dieses Szenario einfach unter GEÄNDERT ein – kopiere keine vorhandenen Szenarien
  • Die Delta-Spezifikation stellt die Absicht dar, keinen vollständigen Austausch
  • Verwende dein Urteilsvermögen, um die Änderungen sinnvoll zusammenzuführen

Ausgabe bei Erfolg

## Spezifikationen synchronisiert: <Änderungsname>

Aktualisierte Hauptspezifikationen:

**<Fähigkeit-1>**:
- Anforderung hinzugefügt: „Neue Funktion“
- Anforderung geändert: „Bestehende Funktion“ (1 Szenario hinzugefügt)

**<Fähigkeit-2>**:
- Neue Spezifikationsdatei erstellt
- Anforderung hinzugefügt: „Weitere Funktion“

Hauptspezifikationen sind jetzt aktualisiert. Die Änderung bleibt aktiv – archiviere sie, wenn die Implementierung abgeschlossen ist.

Leitplanken

  • Lies sowohl die Delta- als auch die Hauptspezifikationen, bevor du Änderungen vornimmst
  • Behalte vorhandene Inhalte bei, die nicht in der Delta-Spezifikation erwähnt werden
  • Wenn etwas unklar ist, frage nach Klarstellung
  • Zeige, was du gerade änderst, während du vorgehst
  • Die Operation sollte idempotent sein – zweimaliges Ausführen sollte das gleiche Ergebnis liefern

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

AmanVarshney01/tcut

Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.

AmanVarshney01/tcut

Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.

AmanVarshney01/tcut

Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.

AmanVarshney01/tcut

Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.

AmanVarshney01/tcut

Update an OpenSpec change by revising its existing planning artifacts and keeping them coherent with one another. Use when the user wants to revise a change's plan, fold new decisions into it, or reconcile its artifacts after an edit. Never edits code.

AmanVarshney01/tcut

Combine tcut terminal recordings with Remotion to produce polished, motion-designed launch/promo videos (title cards, animated captions, layered terminal footage). Use when the user wants a product video, launch video, or social video that features terminal/CLI footage.

AmanVarshney01/tcut

Record reproducible terminal videos (MP4/GIF/SVG/HTML) from TypeScript scripts or live sessions with the tcut CLI. Use when the user wants a terminal demo, CLI screencast, TUI recording, or animated terminal GIF for a README, website, or social post.

Verwandte Skills