Agent-almanac render-icon-pipeline
git clone https://github.com/pjt222/agent-almanac
T=$(mktemp -d) && git clone --depth=1 https://github.com/pjt222/agent-almanac "$T" && mkdir -p ~/.claude/skills && cp -r "$T/i18n/de/skills/render-icon-pipeline" ~/.claude/skills/pjt222-agent-almanac-render-icon-pipeline-00ec45 && rm -rf "$T"
i18n/de/skills/render-icon-pipeline/SKILL.mdIcon-Pipeline rendern
Die viz-Pipeline von Anfang bis Ende ausfuehren, um Icons aus bestehenden Glyphen zu rendern. Umfasst Palettengenerierung, Datenaufbau, Manifest-Erstellung und Icon-Rendering fuer Skills, Agents und Teams.
Kanonischer Einstiegspunkt:
bash viz/build.sh [flags] vom Projektstamm aus oder bash build.sh [flags] aus viz/. Dieses Skript uebernimmt die Plattformerkennung (WSL, Docker, nativ), die Auswahl des R-Binaries und die Reihenfolge der Schritte. Niemals Rscript direkt fuer Build-Skripte aufrufen — dieser Pfad ist ausschliesslich fuer die MCP-Server-Konfiguration gedacht.
Wann verwenden
- Nach dem Erstellen oder Aendern von Glyphen-Funktionen
- Nach dem Hinzufuegen neuer Skills, Agents oder Teams zu Registries
- Wenn Icons fuer neue oder aktualisierte Paletten neu gerendert werden muessen
- Fuer einen vollstaendigen Pipeline-Neubau (z.B. nach Infrastruktur-Aenderungen)
- Beim erstmaligen Einrichten der viz-Umgebung
Eingaben
- Optional: Entitaetstyp —
,skill
,agent
oderteam
(Standard:all
)all - Optional: Palette — spezifischer Palettenname oder
(Standard:all
)all - Optional: Domaenenfilter — spezifische Domaene fuer Skill-Icons (z.B.
,git
)design - Optional: Rendermodus —
,full
oderincremental
(Standard:dry-run
)incremental
Verfahren
Schritt 1: Voraussetzungen pruefen
Sicherstellen, dass die Umgebung fuer das Rendering bereit ist.
- Existenz von
bestaetigen:viz/build.shls -la viz/build.sh - Verfuegbarkeit von Node.js pruefen:
node --version - Pruefen, ob
existiert (plattformspezifische R-Pfadprofile):viz/config.ymlls viz/config.yml
build.sh uebernimmt die Aufloesung des R-Binaries automatisch — R-Pfade muessen nicht manuell verifiziert werden. Unter WSL wird /usr/local/bin/Rscript (WSL-natives R) verwendet, unter Docker das Container-R, und unter nativem Linux/macOS Rscript aus dem PATH.
Erwartet:
build.sh, Node.js und config.yml sind vorhanden.
Bei Fehler: Falls
config.yml fehlt, greift die Pipeline auf Systemstandards zurueck. Falls Node.js fehlt, ueber nvm installieren.
Schritt 2: Pipeline ausfuehren
build.sh fuehrt 5 Schritte in folgender Reihenfolge aus:
- Palettenfarben generieren (R) →
+palette-colors.jsoncolors-generated.js - Daten aufbauen (Node) →
skills.json - Manifeste erstellen (Node) →
,icon-manifest.json
,agent-icon-manifest.jsonteam-icon-manifest.json - Icons rendern (R) → WebP-Dateien in
undicons/icons-hd/ - Terminal-Glyphen generieren (Node) →
cli/lib/glyph-data.json
Vollstaendige Pipeline (alle Typen, alle Paletten, Standard + HD):
bash viz/build.sh
Inkrementell (bereits vorhandene Icons auf der Festplatte ueberspringen):
bash viz/build.sh --skip-existing
Einzelne Domaene (nur Skills):
bash viz/build.sh --only design
Einzelner Entitaetstyp:
bash viz/build.sh --type skill bash viz/build.sh --type agent bash viz/build.sh --type team
Probelauf (Vorschau ohne Rendering):
bash viz/build.sh --dry-run
Nur Standardgroesse (HD ueberspringen):
bash viz/build.sh --no-hd
Alle Flags nach
build.sh werden an build-all-icons.R durchgereicht.
Erwartet: Icons gerendert nach
viz/public/icons/<palette>/ und viz/public/icons-hd/<palette>/.
Bei Fehler:
- renv-Haenger auf NTFS: Die viz-
umgeht.Rprofile
und setztrenv/activate.R
direkt. Sicherstellen, dass aus.libPaths()
ausgefuehrt wird (build.sh erledigt das automatisch viaviz/
)cd "$(dirname "$0")" - Fehlende R-Pakete:
aus der R-Umgebung ausfuehren, dieRscript -e "install.packages(c('ggplot2', 'ggforce', 'ggfx', 'ragg', 'magick', 'future', 'furrr', 'digest'))"
auswaehltbuild.sh - No glyph mapped: Die Entitaet benoetigt eine Glyphen-Funktion — den
Skill vor dem Rendering verwendencreate-glyph
Schritt 3: Ausgabe verifizieren
Bestaetigen, dass das Rendering erfolgreich abgeschlossen wurde.
- Dateianzahlen gegen Erwartungen pruefen:
find viz/public/icons/cyberpunk -name "*.webp" | wc -l find viz/public/icons-hd/cyberpunk -name "*.webp" | wc -l - Auf angemessene Dateigroessen pruefen (2-80 KB pro Icon)
- Den
Skill fuer eine vollstaendige Pruefung ausfuehrenaudit-icon-pipeline
Erwartet: Dateianzahlen stimmen mit Manifest-Eintragsanzahlen ueberein. Dateigroessen im erwarteten Bereich.
Bei Fehler: Falls die Anzahlen nicht uebereinstimmen, koennten einige Glyphen waehrend des Renderings Fehler verursacht haben. Das Build-Log auf
[ERROR]-Zeilen pruefen.
CLI-Flag-Referenz
Alle Flags werden von
build.sh an build-all-icons.R durchgereicht:
| Flag | Default | Beschreibung |
|---|---|---|
| | Kommagetrennt: skill, agent, team |
| | Einzelne Palette oder (9 Paletten) |
| keiner | Domaene (Skills) oder Entitaets-ID (Agents/Teams) |
| aus | Icons mit vorhandenen WebP-Dateien ueberspringen |
| aus | Auflisten, was generiert wuerde |
| | Ausgabedimension in Pixeln |
| | Glow-Unschaerferadius |
| auto | Parallele Worker (detectCores()-1) |
| aus | Inhaltshash-Cache ignorieren |
| ein | HD-Varianten aktivieren (1024px) |
| aus | HD-Varianten ueberspringen |
| aus | Bei erstem Unterskript-Fehler beenden |
Was build.sh intern tut
Nur zur Referenz — diese Schritte NICHT manuell ausfuehren:
cd viz/ # 1. Platform detection: sets R_CONFIG_ACTIVE (wsl, docker, or unset) # 2. R binary selection: WSL → /usr/local/bin/Rscript, Docker → same, native → Rscript # 3. $RSCRIPT generate-palette-colors.R # 4. node build-data.js # 5. node build-icon-manifest.js --type all # 6. $RSCRIPT build-all-icons.R "$@" (flags passed through) # 7. node build-terminal-glyphs.js
Docker-Alternative
Die Pipeline kann auch in Docker ausgefuehrt werden:
cd viz docker compose up --build
Dies fuehrt die vollstaendige Pipeline in einer isolierten Linux-Umgebung aus und liefert das Ergebnis auf Port 8080.
Validierungscheckliste
-
ausgefuehrt (nicht blossbash viz/build.sh
)Rscript - Palettenfarben generiert (JSON + JS)
- Datendateien aus Registries aufgebaut
- Manifeste aus Daten generiert
- Icons fuer Zieltypen und -paletten gerendert
- Dateianzahlen stimmen mit Erwartungen ueberein
- Dateigroessen im erwarteten Bereich (2-80 KB)
Haeufige Fehler
- Rscript direkt aufrufen: Niemals
oderRscript build-icons.R
manuell ausfuehren. ImmerRscript generate-palette-colors.R
verwenden. Direkte Rscript-Aufrufe umgehen die Plattformerkennung und koennen das falsche R-Binary verwenden (Windows-R ueberbash build.sh [flags]
-Wrapper anstelle von WSL-nativem R unter~/bin/Rscript
). Hinweis: Der Windows-R-Pfad in CLAUDE.md und Guides ist ausschliesslich fuer die MCP-Server-Konfiguration gedacht, nicht fuer Build-Skripte./usr/local/bin/Rscript - Falsches Arbeitsverzeichnis:
wechselt automatisch in sein eigenes Verzeichnis (build.sh
), sodass der Aufruf von ueberall aus funktioniert:cd "$(dirname "$0")"
vom Projektstamm aus arbeitet korrekt.bash viz/build.sh - Veraltete Manifeste:
fuehrt die Schritte 1-5 in der richtigen Reihenfolge aus, sodass Manifeste immer vor dem Rendering neu generiert werden. Werden nur Manifeste ohne Rendering benoetigt,build.sh
verwenden (die Node-Schritte benoetigen kein R).node viz/build-data.js && node viz/build-icon-manifest.js - renv nicht aktiviert: Der
-Workaround erfordert Ausfuehrung von.Rprofile
—viz/
erledigt dies. Die Verwendung desbuild.sh
-Flags oder das Starten von R aus einem anderen Verzeichnis ueberspringt ihn.--vanilla - Parallelitaet unter Windows: Windows unterstuetzt keine fork-basierte Parallelitaet — die Pipeline waehlt automatisch
uebermultisession
.config.yml
Verwandte Skills
- audit-icon-pipeline — Fehlende Glyphen und Icons vor dem Rendering erkennen
- create-glyph — Neue Glyphen-Funktionen fuer Entitaeten ohne Icons erstellen
- enhance-glyph — Bestehende Glyphen vor dem erneuten Rendering verbessern