render-icon-pipeline
Acerca de
Esta habilidad ejecuta el pipeline de visualización para renderizar iconos a partir de glifos existentes para Habilidades, Agentes y Equipos. Maneja la generación de paletas, preparación de datos, creación del manifiesto y el proceso final de renderizado de iconos. Los desarrolladores deben usar siempre `bash viz/build.sh` como punto de entrada y nunca invocar Rscript directamente.
Instalación rápida
Claude Code
Recomendadonpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/render-icon-pipelineCopia y pega este comando en Claude Code para instalar esta habilidad
Documentación
Icon-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,teamoderall(Standard:all) - Optional: Palette — spezifischer Palettenname oder
all(Standard:all) - Optional: Domaenenfilter — spezifische Domaene fuer Skill-Icons (z.B.
git,design) - Optional: Rendermodus —
full,incrementaloderdry-run(Standard:incremental)
Verfahren
Schritt 1: Voraussetzungen pruefen
Sicherstellen, dass die Umgebung fuer das Rendering bereit ist.
- Existenz von
viz/build.shbestaetigen:ls -la viz/build.sh - Verfuegbarkeit von Node.js pruefen:
node --version - Pruefen, ob
viz/config.ymlexistiert (plattformspezifische R-Pfadprofile):ls 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.json+colors-generated.js - Daten aufbauen (Node) →
skills.json - Manifeste erstellen (Node) →
icon-manifest.json,agent-icon-manifest.json,team-icon-manifest.json - Icons rendern (R) → WebP-Dateien in
icons/undicons-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-
.Rprofileumgehtrenv/activate.Rund setzt.libPaths()direkt. Sicherstellen, dass ausviz/ausgefuehrt wird (build.sh erledigt das automatisch viacd "$(dirname "$0")") - Fehlende R-Pakete:
Rscript -e "install.packages(c('ggplot2', 'ggforce', 'ggfx', 'ragg', 'magick', 'future', 'furrr', 'digest'))"aus der R-Umgebung ausfuehren, diebuild.shauswaehlt - No glyph mapped: Die Entitaet benoetigt eine Glyphen-Funktion — den
create-glyphSkill vor dem Rendering verwenden
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
audit-icon-pipelineSkill fuer eine vollstaendige Pruefung ausfuehren
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 |
|---|---|---|
--type <types> | all | Kommagetrennt: skill, agent, team |
--palette <name> | all | Einzelne Palette oder all (9 Paletten) |
--only <filter> | keiner | Domaene (Skills) oder Entitaets-ID (Agents/Teams) |
--skip-existing | aus | Icons mit vorhandenen WebP-Dateien ueberspringen |
--dry-run | aus | Auflisten, was generiert wuerde |
--size <n> | 512 | Ausgabedimension in Pixeln |
--glow-sigma <n> | 4 | Glow-Unschaerferadius |
--workers <n> | auto | Parallele Worker (detectCores()-1) |
--no-cache | aus | Inhaltshash-Cache ignorieren |
--hd | ein | HD-Varianten aktivieren (1024px) |
--no-hd | aus | HD-Varianten ueberspringen |
--strict | 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
-
bash viz/build.shausgefuehrt (nicht blossRscript) - 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
Rscript build-icons.RoderRscript generate-palette-colors.Rmanuell ausfuehren. Immerbash build.sh [flags]verwenden. Direkte Rscript-Aufrufe umgehen die Plattformerkennung und koennen das falsche R-Binary verwenden (Windows-R ueber~/bin/Rscript-Wrapper anstelle von WSL-nativem R unter/usr/local/bin/Rscript). Hinweis: Der Windows-R-Pfad in CLAUDE.md und Guides ist ausschliesslich fuer die MCP-Server-Konfiguration gedacht, nicht fuer Build-Skripte. - Falsches Arbeitsverzeichnis:
build.shwechselt automatisch in sein eigenes Verzeichnis (cd "$(dirname "$0")"), sodass der Aufruf von ueberall aus funktioniert:bash viz/build.shvom Projektstamm aus arbeitet korrekt. - Veraltete Manifeste:
build.shfuehrt die Schritte 1-5 in der richtigen Reihenfolge aus, sodass Manifeste immer vor dem Rendering neu generiert werden. Werden nur Manifeste ohne Rendering benoetigt,node viz/build-data.js && node viz/build-icon-manifest.jsverwenden (die Node-Schritte benoetigen kein R). - renv nicht aktiviert: Der
.Rprofile-Workaround erfordert Ausfuehrung vonviz/—build.sherledigt dies. Die Verwendung des--vanilla-Flags oder das Starten von R aus einem anderen Verzeichnis ueberspringt ihn. - Parallelitaet unter Windows: Windows unterstuetzt keine fork-basierte Parallelitaet — die Pipeline waehlt automatisch
multisessionueberconfig.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
Repositorio GitHub
Habilidades relacionadas
content-collections
MetaEsta habilidad proporciona una configuración probada en producción para Content Collections, una herramienta centrada en TypeScript que transforma archivos Markdown/MDX en colecciones de datos con tipado seguro mediante validación Zod. Úsala al construir blogs, sitios de documentación o aplicaciones Vite + React con mucho contenido para garantizar seguridad de tipos y validación automática de contenido. Abarca todo, desde la configuración del plugin de Vite y compilación MDX hasta la optimización de despliegue y validación de esquemas.
polymarket
MetaEsta habilidad permite a los desarrolladores crear aplicaciones con la plataforma de mercados de predicción Polymarket, incluyendo la integración de API para operaciones y datos de mercado. También proporciona transmisión de datos en tiempo real a través de WebSocket para monitorear operaciones en vivo y actividad del mercado. Úsela para implementar estrategias de trading o crear herramientas que procesen actualizaciones de mercado en tiempo real.
creating-opencode-plugins
MetaEsta habilidad ayuda a los desarrolladores a crear complementos de OpenCode que se conectan a más de 25 tipos de eventos, como comandos, archivos y operaciones LSP. Proporciona la estructura del complemento, las especificaciones de la API de eventos y los patrones de implementación para módulos en JavaScript/TypeScript. Úsala cuando necesites interceptar, monitorear o extender el ciclo de vida del asistente de IA de OpenCode con lógica personalizada basada en eventos.
sglang
MetaSGLang es un framework de alto rendimiento para el servicio de LLM que se especializa en generación rápida y estructurada para JSON, expresiones regulares y flujos de trabajo de agentes utilizando su caché de prefijos RadixAttention. Ofrece una inferencia significativamente más rápida, especialmente para tareas con prefijos repetidos, lo que lo hace ideal para salidas complejas y estructuradas, y conversaciones multiturno. Elige SGLang sobre alternativas como vLLM cuando necesites decodificación restringida o estés construyendo aplicaciones con uso extensivo de prefijos compartidos.
