Communitygithub.com

huydp93/theme-giao-dien

UI-Themekit mit Farbtokens, Schriftarten, gemeinsamen CSS-Klassen, Layouts, Akzentfarben sowie Hell- und Dunkelmodus inklusive Beispielseiten pro Thema – für Berichte, Aufgaben, Verkäufe, Nachrichten, Landing Pages und Anmeldung – sowie einer Palette zur Farbauswahl und -anpassung.

Was ist theme-giao-dien?

Diese Fähigkeit stellt ein umfassendes UI-Themekit bereit, das speziell für die schnelle Erstellung von Mockups, HTML-Seiten, Artifacts, .dc.html-Canvas oder React/Tailwind-UI entwickelt wurde. Es enthält ein Set aus Farbschemata (theme), die konsistente Farbtokens, Schriftarten, gemeinsame CSS-Klassen und Akzentfarben definieren und sowohl helle als auch dunkle Modi unterstützen. Zu jedem Thema gehören Beispielseiten für verschiedene Anwendungsfälle wie Reports & Analysen, Aufgabenverwaltung, Verkaufs-Admin, Nachrichten & Lesen, Landing Pages und Anmeldeformulare. Die Fähigkeit reagiert auf Befehle wie „use theme …“, „accent color …“, „dark mode“ oder „add a new theme“ und kann anhand eines Screenshots, Produktnamens oder einer URL das Aussehen einer Seite kopieren. Ein spezielles Farbpalette-Board (bang-chon.html) ermöglicht das Auswählen und Anpassen der gesamten Farbpalette einer Website mit Vorschau und Vorschlägen nach Zweck oder Stil. Die Fähigkeit unterstützt die Plattformen Claude Code, Cursor und Codex und bietet eine mehrsprachige Oberfläche (Englisch und Vietnamesisch) mit einem i18n-Mechanismus für die Demoseiten.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/huydp93/ui-theme-skill/tree/HEAD

In Ihrer bevorzugten KI fragen

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

Dokumentation

UI-Designs (Themes)

Englisch | Tiếng Việt

Jedes Theme ist ein Ordner in themes/. Ein Theme enthält Farbtokens, gemeinsame Klassen, einen Satz Akzentfarben und eine Beispielseite. Jedes Theme verwendet dieselben Token-Namen. Ein Theme zu wechseln bedeutet, die CSS-Dateien auszutauschen, nicht das HTML zu bearbeiten.

Ordnernamen und Dateinamen sind auf Vietnamesisch (das Kit wurde in Vietnam erstellt). Die README enthält ein Glossar.

Wann verwenden

  • Erstellen eines Mockups oder einer neuen Seite oder App-Bildschirms.
  • Der Benutzer sendet einen Screenshot, einen Produktnamen oder eine URL und möchte dieses Aussehen. Siehe them-theme.md.
  • Der Benutzer sagt „use theme X“, „switch the accent to Y“, „dark mode“.

Der Stil des Besitzers

Lesen Sie phong-cach-owner.md, bevor Sie ein neues Theme zeichnen oder erstellen. Kurz gesagt: ein helles, kompaktes SaaS-Dashboard mit vielen Zahlen und einer Akzentfarbe, Blau oder Lila. Die Quelle ist eine Reihe von Apps, die der Besitzer als Referenzen gespeichert hat.

Themes

ThemeAussehenStatus
clickup-radarClickUp-ähnliche Seitenleiste, Karten der Szenariobibliothek, hell und kompakt, lila AkzentGenehmigt 2026-11-03
saas-sangStil des Besitzers: helles SaaS, große Zahlen, blauer Akzent, eine Beispielseite pro ThemaGenehmigt 2026-11-04

themes/_mau ist eine leere Vorlage für neue Themes. Verwenden Sie sie nicht zum Zeichnen.

Welches Projekt welches Theme verwendet

Lesen Sie du-an.md in diesem Ordner, falls vorhanden. Es ist eine private Datei des Besitzers (gitignored), die seine Projekte einem Theme, einem Thema und einem Akzent zuordnet und seine Kopierkonventionen (UI-Sprache, Anrede des Benutzers) enthält. Befolgen Sie sie, ohne erneut zu fragen.

Kein du-an.md: Kopieren Sie du-an.example.md in du-an.md, sobald der Besitzer ein Theme für ein Projekt festlegt, und füllen Sie es aus. Wenn der Besitzer ein Theme für ein Projekt festlegt, aktualisieren Sie sofort du-an.md.

Themen und Beispielseiten (Theme saas-sang)

Wählen Sie für eine neue Seite das nächstgelegene Thema, kopieren Sie dessen Beispielseite und entfernen Sie dann, was Sie nicht benötigen.

ThemaBeispielseiteStandardakzentGeeignet für
Berichte, Analysenthemes/saas-sang/chu-de/bao-cao.htmlblau (xanh-duong)Dashboards, KPIs, Traffic- und Produktanalysen
Aufgabenthemes/saas-sang/chu-de/cong-viec.htmllila (tim)Aufgabenboards, Tickets, Projektverfolgung
Vertriebthemes/saas-sang/chu-de/ban-hang.htmlindigo (cham)Shop-Admin, Bestellungen, Zahlungen, Lager
Nachrichten, Lesenthemes/saas-sang/chu-de/tin-tuc.htmlblau (xanh-duong)Newsletter, Blogs, kuratierte Feeds
Landing Pagethemes/saas-sang/chu-de/landing.htmlindigo (cham)Produkt- und Marketingseiten
Anmelden, Registrierenthemes/saas-sang/chu-de/dang-ky.htmlindigo (cham)Authentifizierungsbildschirme jeder App
  • Indexseite: themes/saas-sang/vi-du.html.
  • chu-de/chung.js ist nur für die Beispielseiten. Es liest ?mode= und ?accent=, zeichnet Symbole aus <i data-i>, und fügt unten rechts eine Giao diện (Erscheinungsbild)-Schaltfläche hinzu: Hell/Dunkel/System, 8 Akzente, Sprache und einen Link zu bang-chon.html. Die Auswahl wird in localStorage saas-sang-xem gespeichert. Wenn Sie eine Seite in ein echtes Projekt kopieren, entfernen Sie chung.js: Fügen Sie die SVGs inline ein oder verwenden Sie Lucide, und bauen Sie den eigenen Theme-Umschalter des Projekts auf Basis von tokens.css.
  • saas-sang hat zusätzliche Tokens (--chart --chart-2 --grid --acc2 --acc2-soft --deep* --scrim), siehe die Theme-README.
  • Neue Klassen (KPI, Diagramme, gruppierte Tabellen, Dialoge, Nachrichten, Landing, Anmeldung) befinden sich in themes/saas-sang/components.md.

Sprache

  • UI-Kopien folgen der Sprache des Projekts (festgelegt in du-an.md). Ohne Einstellung verwenden Sie die Sprache, in der der Benutzer schreibt.
  • Beispielseiten sind auf Vietnamesisch verfasst. themes/i18n.js mit dem Wörterbuch themes/i18n-en.js übersetzt sie im Browser ins Englische.
  • Welche Sprache angezeigt wird: zuerst ?lang=en|vi, dann localStorage ui-lang, dann die Browsersprache (vi* ergibt Vietnamesisch, alles andere Englisch).
  • Umschalter: die Zeile „Ngôn ngữ / Language“ im Giao diện-Panel auf saas-sang-Seiten und die Schaltflächen VI | EN in der oberen Leiste von bang-chon.html, die ?lang= an die Vorschau übergeben.
  • Es übersetzt Text, placeholder, title, aria-label und den Seitentitel und achtet auf später hinzugefügte Inhalte.
  • Neuer oder geänderter vietnamesischer Text auf einer Beispielseite: Fügen Sie die genaue Zeichenfolge und ihre englische Übersetzung zu themes/i18n-en.js hinzu, öffnen Sie dann die Seite mit ?lang=en und prüfen Sie, ob kein Vietnamesisch mehr vorhanden ist.
  • i18n ist nur für die Demo. Ein echtes Projekt kopiert i18n.js nicht; schreiben Sie die Kopie in seiner eigenen Sprache.

Auswählen eines Themes

  1. Das Projekt ist in du-an.md: Verwenden Sie dieses Theme und diesen Akzent. Fragen Sie nicht erneut.
  2. Der Benutzer hat in der Nachricht ein Theme oder einen Akzent genannt: Führen Sie dies aus.
  3. Keines von beidem: Stellen Sie eine kurze Frage im Chat, mit jeder Option in der Frage, in der Sprache des Benutzers. Beispiel:

    Dieses Projekt hat noch kein Theme. Verwenden Sie clickup-radar (hell, kompakt, lila Akzent), saas-sang (Ihr Stil, blauer Akzent), oder möchten Sie einen Screenshot eines anderen Aussehens senden? clickup-radar-Akzente: lila, blau, himmelblau, blaugrün, grün, orange, pink, anthrazit. saas-sang-Akzente: blau, lila, indigo, himmelblau, blaugrün, grün, orange, anthrazit.

  4. Der Benutzer möchte Farben auswählen und anpassen: Öffnen Sie das Palette-Board (unten).

Palette-Board

themes/bang-chon.html. Eine Palette ist jede Farbe einer Website, nicht die Farben einer Karte.

  • Layout: Paletten auf der linken Seite, eine verkleinerte Website-Vorschau auf der rechten Seite. Themes mit Themenseiten (saas-sang, das trang und macDinh in THEMES deklariert) zeigen die Vorschau für den gewählten Zweck; andere Themes zeigen vi-du.html. Die obere Leiste enthält den Theme-Auswähler, Hell/Dunkel, VI | EN, Bearbeitungen zurücksetzen und Palette kopieren.
  • Vorschläge nach Zweck: Zwei Reihen von Schaltflächen oben, „Wofür ist die Seite?“ (Vertrieb, Aufgaben, Berichte, Landing Page, Nachrichten) und „Wie soll sie aussehen?“ (minimal, professionell, warm, hell, gewagt, elegant). Wählen Sie sie aus, und die 3 besten Paletten werden mit einer einzeiligen Begründung nach oben verschoben; die erste wird angewendet, wenn keine Farbe bearbeitet wurde. Klicken Sie erneut auf eine Schaltfläche, um sie zu deaktivieren. Vorschläge stammen aus der Regel-Tabelle GOI_Y auf der Seite (Zweck-Übereinstimmung 2 Punkte, Stil-Übereinstimmung 1 Punkt); die Seite ruft keine KI auf. Um einen Zweck oder Stil hinzuzufügen, bearbeiten Sie MUC, KIEU und GOI_Y.
  • Auswählen: Jede Palette zeigt ihre 5 Hauptfarben und Hex-Codes an. Klicken Sie auf eine, und die gesamte Website ändert sich. Das Auswählen einer anderen Palette verwirft Ihre Bearbeitungen.
  • Aktuelle Palette bearbeiten: Klicken Sie auf ein Farbfeld im Streifen oder öffnen Sie „Alle Farben der Site“, um sie nach Gruppe (Hintergründe, Text und Rahmen, Akzent, Status, Beschriftungen) mit der Farbauswahl oder einem Hex-Code zu bearbeiten. Die Seite wird sofort aktualisiert. Jedes Farbfeld zeigt ein Kontrastverhältnis an, rot, wenn es unter 4.5 liegt. Bearbeitete Farben erhalten eine Schaltfläche „Zurücksetzen“.
  • Hell und Dunkel werden getrennt bearbeitet.
  • Palette kopieren: Gibt die hellen und dunklen CSS plus einen Satz zum Einfügen in Claude aus. Wenn Sie es erhalten, befolgen Sie them-theme.md, Abschnitt „From the palette board“.

Jede Palette im PHOI-Array speichert nur 4 Basisfarben (Seite, Karte, Text, Akzent) für Hell und Dunkel. Die Funktion tinh() leitet die anderen Hintergründe, Text, Rahmen und Akzentschattierungen ab. Status- und Beschriftungsfarben bleiben wie im Theme. Ein neues Theme muss dem THEMES-Array auf dieser Seite hinzugefügt werden. Die Auswahl des Benutzers wird im Browser gespeichert (Schlüssel phoi-mau).

Vorschau

Stellen Sie den themes-Ordner mit einem beliebigen statischen Server bereit:

python -m http.server 8766 -d themes
  • Palette-Board: http://localhost:8766/bang-chon.html
  • Ein Theme: http://localhost:8766/<theme>/vi-du.html?mode=dark&accent=cam
  • Eine Themenseite: http://localhost:8766/saas-sang/chu-de/<topic>.html?mode=dark&lang=en

Live-Demo: https://huydp93.github.io/ui-theme-skill/themes/bang-chon.html

Gemeinsame Token-Namen

Ein neues Theme muss alle diese definieren, hell und dunkel. Die vollständig kommentierte Liste finden Sie in themes/_mau/tokens.css.

GruppeTokens
Hintergrund, Text--bg --side --surface --sunk --hover --line --line-strong --fg --fg2 --fg3
Akzent--acc --acc-hover --acc-fg --acc-soft --acc-line --ink --ink-fg
Status--ok --bad --err-fg --err-bg --code-bg --code-fg
Schatten--shadow --shadow-pop
Typ-Beschriftungen--k-tip --k-tool --k-trend --k-opp --k-news --k-fg
Status-Pillen--s-new --s-watch --s-sent --s-seen und eine -bg-Version von jedem
Radius--r-card --r-btn --r-btn-sm --r-badge --r-pill
Höhe--h-btn --h-btn-sm --h-field
Layout--w-side --h-top --w-page
Schriftart--font-sans --font-mono --icon-stroke

Gemeinsame Klassen (.card, .btn, .nav...) befinden sich in der components.md jedes Themes.

Anwenden eines Themes

Laden Sie immer in dieser Reihenfolge: Schriftart → tokens.css → components.css → mau-nhan.css. Der Schriftart-Link befindet sich oben in der tokens.css jedes Themes.

a) Canvas .dc.html

  1. Fügen Sie tokens.css, components.css und mau-nhan.css in <helmet><style> ein. Ein Canvas kann keine externen Dateien laden.
  2. Fügen Sie den Google Fonts <link> zu <helmet> hinzu.
  3. Wickeln Sie das Board in <div class="t {{mode}}" data-accent="{{accent}}">. Eine dark-Eigenschaft in DCLogic setzt mode auf dark oder leer. Lassen Sie data-accent weg, um den Standardakzent zu verwenden.
  4. Die .t-Klasse setzt die hellen Farben darin zurück, sodass das Board seiner Eigenschaft folgt, selbst wenn der Canvas selbst dunkel ist.

b) Einfaches HTML oder Artifact

  1. Kopieren Sie das CSS in einen <style>-Tag (ein Artifact muss CSS innerhalb der Seite behalten) oder verwenden Sie <link>, wenn die Seite neben dem Theme-Ordner liegt.
  2. Verwenden Sie :root; kein .t-Wrapper ist erforderlich. Setzen Sie data-theme="light|dark" und data-accent="..." auf <html>. Ohne data-theme folgt es dem System.
  3. Layout: Beginnen Sie mit der vi-du.html des Themes (oder einer saas-sang-Themenseite) und entfernen Sie, was Sie nicht benötigen.

c) React + Tailwind

  1. Kopieren Sie tokens.css, components.css, mau-nhan.css in das Projekt und importieren Sie sie einmal in der Root-CSS-Datei.
  2. Ordnen Sie Tailwind-Farben Tokens zu; kopieren Sie keine Hex-Codes:
    • Tailwind v4, in der Root-CSS:
      @theme inline {
        --color-bg: var(--bg); --color-surface: var(--surface); --color-line: var(--line);
        --color-fg: var(--fg); --color-fg2: var(--fg2); --color-fg3: var(--fg3);
        --color-acc: var(--acc); --color-acc-soft: var(--acc-soft);
        --radius-card: var(--r-card); --font-sans: var(--font-sans); --font-mono: var(--font-mono);
      }
      
    • Tailwind v3, in tailwind.config:
      theme: { extend: {
        colors: { bg: 'var(--bg)', surface: 'var(--surface)', line: 'var(--line)', fg: 'var(--fg)',
                  fg2: 'var(--fg2)', fg3: 'var(--fg3)', acc: 'var(--acc)', 'acc-soft': 'var(--acc-soft)' },
        borderRadius: { card: 'var(--r-card)' },
        fontFamily: { sans: 'var(--font-sans)', mono: 'var(--font-mono)' }
      } }
      
  3. Fügen Sie die gemeinsamen Klassen in @layer components ein, damit Tailwind-Klassen sie weiterhin überschreiben können.
  4. Ein Hell/Dunkel- oder Akzent-Umschalter muss nur data-theme und data-accent auf document.documentElement setzen.

Regeln

  • Symbole sind Strich-SVGs, stroke-width von --icon-stroke. Keine Emojis als Symbole.
  • Zahlen, Zeiten und Code verwenden .mono.
  • Keine Hex-Codes in Seiten. Benötigen Sie eine neue Farbe? Fügen Sie dem Theme einen Token hinzu.
  • Rot ist nur für Fehler (--bad). Machen Sie Rot niemals zu einem Akzent.
  • Helle Akzente müssen dunkel genug sein, damit weißer Schaltflächentext einen Kontrast von 4,5 erreicht.
  • Mockup-Daten sind Beispieldaten. Verwenden Sie niemals echte Daten oder lesen Sie sie aus .env oder einer Datenbank.
  • Befolgen Sie die Kopierkonventionen in du-an.md (Sprache, Anrede des Benutzers).
  • Überprüfen Sie sowohl Hell als auch Dunkel, bevor Sie es dem Benutzer zeigen.

Hinzufügen eines Themes

Siehe them-theme.md.

Verwandte Skills