CommunityRecherche & Datenanalysegithub.com

teefayb/claude-code-setup-demo

Ändern Sie die Form gespeicherter Daten (Feld hinzufügen, umbenennen oder entfernen in Link) sicher, einschließlich einer versionierten Aktualisierung vorhandener Datendateien. Verwenden Sie dies, wenn eine Aufgabe ein neues oder geändertes gespeichertes Feld benötigt.

Was ist claude-code-setup-demo?

Dieses Skill ermöglicht es KI-Agenten, Änderungen am Datenmodell einer Anwendung durchzuführen, die JSON-Dateien speichert, z. B. das Hinzufügen, Umbenennen oder Entfernen von Feldern in einem Link-Objekt. Es behandelt sowohl additive Änderungen (neues optionales Feld mit Standardwert) als auch bahnbrechende Änderungen (Umbenennung, Entfernung, neues Pflichtfeld oder Typänderung). Für bahnbrechende Änderungen implementiert es ein versionsgesteuertes Upgrade: Die Versionsnummer in der Datendatei wird erhöht, das alte Schema bleibt erhalten und eine Upgrade-Funktion konvertiert alte Dateien beim Laden, ohne sie neu zu schreiben – erst der nächste Speichervorgang schreibt im neuen Format. Das Skill unterstützt plattformübergreifend (Claude Code, Cursor, Codex usw.) und führt den Benutzer Schritt für Schritt durch Code-Lesen, Entscheidungsfindung, Schema- und Speicher-Aktualisierung, Seed-Daten-Pflege, UI-Änderungen (nur wenn angefordert), Tests und Build-Überprüfung. Es legt Wert auf sichere, rückwärtskompatible Migrationen und eine klare Zusammenfassung der durchgeführten Änderungen.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/teefayb/claude-code-setup-demo/tree/HEAD/.claude/skills/change-data-model

Installed? Explore more Recherche & Datenanalyse skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

Datenmodell ändern: $ARGUMENTS

Gespeicherte Daten befinden sich in JSON-Dateien, die bereits auf den Maschinen von Teammitgliedern und auf dem Server existieren, daher muss jede Änderung alte Dateien lesen, ohne sie zu beschädigen.

Schritte

  1. Lesen Sie src/lib/links/schema.ts, src/lib/links/store.ts und data/seed.json.
  2. Entscheiden Sie, ob die Änderung additiv (neues optionales Feld mit Standardwert) oder bahnbrechend (Umbenennung, Entfernung, neues Pflichtfeld, Typänderung) ist.
    • Additiv: Fügen Sie das Feld mit .optional() oder .default(...) zu linkSchema hinzu, und zu linkInputSchema, wenn Benutzer es setzen können. Keine Versionserhöhung.
    • Bahnbrechend: Erhöhen Sie das version-Literal der Datendatei (z. B. 1 → 2). Behalten Sie das alte Schema als dataFileV1Schema und fügen Sie eine upgradeV1toV2(data)-Funktion in store.ts hinzu, die load() anwendet, wenn es eine v1-Datei liest. Überschreiben Sie niemals Dateien beim Lesen; der nächste save() schreibt v2.
  3. Aktualisieren Sie data/seed.json auf die neue Form.
  4. Aktualisieren Sie die Benutzeroberfläche nur, wenn die Aufgabe dies verlangt.
  5. Tests in src/lib/links/store.test.ts:
    • Das neue Feld durchläuft createLink und listLinks.
    • Bei bahnbrechenden Änderungen: Schreiben Sie eine v1-Datei in den temporären Datenpfad und stellen Sie sicher, dass listLinks() aktualisierte Links zurückgibt, und dass ein folgendes createLink eine v2-Datei speichert.
  6. Führen Sie npm run check und npm run build aus.
  7. Geben Sie in Ihrer Zusammenfassung an, ob die Änderung additiv oder bahnbrechend war und was mit vorhandenen Datendateien passiert.

Individual skills in this repo

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

Verwandte Skills