render-icon-pipeline
À propos
Cette compétence exécute le pipeline de visualisation pour générer des icônes à partir de glyphes existants pour les compétences, les agents et l'équipement. Elle gère la génération de palettes, la construction des données, la création du manifeste et le rendu final des icônes. Les développeurs doivent toujours utiliser `build.sh` comme point d'entrée et ne jamais appeler Rscript directement.
Installation rapide
Claude Code
Recommandénpx 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-pipelineCopiez et collez cette commande dans Claude Code pour installer cette compétence
Documentation
Renderizar Pipeline de Iconos
Ejecutar el pipeline de viz de principio a fin para renderizar iconos a partir de glyphs existentes. Cubre la generacion de paletas, la construccion de datos, la creacion de manifiestos y el renderizado de iconos para habilidades, agentes y equipos.
Punto de entrada canonico: bash viz/build.sh [flags] desde la raiz del proyecto, o bash build.sh [flags] desde viz/. Este script maneja la deteccion de plataforma (WSL, Docker, nativa), la seleccion del binario R y el orden de los pasos. Nunca llames a Rscript directamente para los scripts de construccion — esa ruta es exclusivamente para la configuracion del servidor MCP.
Cuando Usar
- Despues de crear o modificar funciones de glyph
- Despues de agregar nuevas habilidades, agentes o equipos a los registros
- Cuando los iconos necesitan re-renderizarse para paletas nuevas o actualizadas
- Para una reconstruccion completa del pipeline (p. ej., despues de cambios de infraestructura)
- Al configurar el entorno viz por primera vez
Entradas
- Opcional: Tipo de entidad —
skill,agent,teamoall(predeterminado:all) - Opcional: Paleta — nombre de paleta especifico o
all(predeterminado:all) - Opcional: Filtro de dominio — dominio especifico para iconos de habilidades (p. ej.,
git,design) - Opcional: Modo de renderizado —
full,incrementalodry-run(predeterminado:incremental)
Procedimiento
Paso 1: Verificar Prerequisitos
Asegurar que el entorno esta listo para el renderizado.
- Confirmar que
viz/build.shexiste:ls -la viz/build.sh - Verificar que Node.js esta disponible:
node --version - Comprobar que
viz/config.ymlexiste (perfiles de ruta R especificos por plataforma):ls viz/config.yml
build.sh maneja automaticamente la resolucion del binario R — no necesitas verificar las rutas de R manualmente. En WSL usa /usr/local/bin/Rscript (R nativo de WSL), en Docker usa el R del contenedor, y en Linux/macOS nativo usa Rscript del PATH.
Esperado: build.sh, Node.js y config.yml estan presentes.
En caso de fallo: Si config.yml no existe, el pipeline usara valores predeterminados del sistema. Si Node.js no esta disponible, instalar via nvm.
Paso 2: Ejecutar el Pipeline
build.sh ejecuta 5 pasos en orden:
- Generar colores de paleta (R) →
palette-colors.json+colors-generated.js - Construir datos (Node) →
skills.json - Construir manifiestos (Node) →
icon-manifest.json,agent-icon-manifest.json,team-icon-manifest.json - Renderizar iconos (R) → archivos WebP en
icons/eicons-hd/ - Generar glyphs de terminal (Node) →
cli/lib/glyph-data.json
Pipeline completo (todos los tipos, todas las paletas, estandar + HD):
bash viz/build.sh
Incremental (saltar iconos que ya existen en disco):
bash viz/build.sh --skip-existing
Dominio individual (solo habilidades):
bash viz/build.sh --only design
Tipo de entidad individual:
bash viz/build.sh --type skill
bash viz/build.sh --type agent
bash viz/build.sh --type team
Ejecucion en seco (vista previa sin renderizar):
bash viz/build.sh --dry-run
Solo tamano estandar (sin HD):
bash viz/build.sh --no-hd
Todos los indicadores despues de build.sh se pasan a build-all-icons.R.
Esperado: Iconos renderizados en viz/public/icons/<palette>/ y viz/public/icons-hd/<palette>/.
En caso de fallo:
- renv se cuelga en NTFS: El
.Rprofilede viz omiterenv/activate.Ry establece.libPaths()directamente. Asegurate de ejecutar desdeviz/(build.sh lo hace automaticamente mediantecd "$(dirname "$0")") - Paquetes R faltantes: Ejecutar
Rscript -e "install.packages(c('ggplot2', 'ggforce', 'ggfx', 'ragg', 'magick', 'future', 'furrr', 'digest'))"desde el entorno R quebuild.shselecciona - No glyph mapped: La entidad necesita una funcion de glyph — usar la habilidad
create-glyphantes de renderizar
Paso 3: Verificar Salida
Confirmar que el renderizado se completo exitosamente.
- Verificar que los conteos de archivos coinciden con las expectativas:
find viz/public/icons/cyberpunk -name "*.webp" | wc -l find viz/public/icons-hd/cyberpunk -name "*.webp" | wc -l - Verificar tamanos de archivo razonables (2-80 KB por icono)
- Ejecutar la habilidad
audit-icon-pipelinepara una verificacion completa
Esperado: Los conteos de archivos coinciden con los conteos de entradas del manifiesto. Los tamanos de archivo estan en el rango esperado.
En caso de fallo: Si los conteos no coinciden, algunos glyphs pueden haber producido errores durante el renderizado. Revisar el registro de construccion buscando lineas [ERROR].
Referencia de Indicadores CLI
Todos los indicadores se pasan a traves de build.sh a build-all-icons.R:
| Flag | Default | Descripcion |
|---|---|---|
--type <types> | all | Separados por coma: skill, agent, team |
--palette <name> | all | Paleta individual o all (9 paletas) |
--only <filter> | ninguno | Dominio (habilidades) o ID de entidad (agentes/equipos) |
--skip-existing | desactivado | Saltar iconos con archivos WebP existentes |
--dry-run | desactivado | Listar lo que se generaria |
--size <n> | 512 | Dimension de salida en pixeles |
--glow-sigma <n> | 4 | Radio de difuminado del resplandor |
--workers <n> | automatico | Trabajadores paralelos (detectCores()-1) |
--no-cache | desactivado | Ignorar cache de hash de contenido |
--hd | activado | Habilitar variantes HD (1024px) |
--no-hd | desactivado | Saltar variantes HD |
--strict | desactivado | Salir ante el primer fallo de sub-script |
Que Hace build.sh Internamente
Solo como referencia — NO ejecutar estos pasos manualmente:
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
Alternativa con Docker
El pipeline tambien puede ejecutarse en Docker:
cd viz
docker compose up --build
Esto ejecuta el pipeline completo en un entorno Linux aislado y sirve el resultado en el puerto 8080.
Lista de Validacion
- Se ejecuto
bash viz/build.sh(noRscriptdirecto) - Colores de paleta generados (JSON + JS)
- Archivos de datos construidos desde los registros
- Manifiestos generados desde los datos
- Iconos renderizados para los tipos y paletas objetivo
- Los conteos de archivos coinciden con las expectativas
- Los tamanos de archivo estan en el rango esperado (2-80 KB)
Errores Comunes
- Llamar a Rscript directamente: Nunca ejecutes
Rscript build-icons.RoRscript generate-palette-colors.Rmanualmente. Usa siemprebash build.sh [flags]. Las llamadas directas a Rscript omiten la deteccion de plataforma y pueden usar el binario R incorrecto (Windows R via el wrapper~/bin/Rscripten lugar del R nativo de WSL en/usr/local/bin/Rscript). Nota: la ruta de Windows R en CLAUDE.md y en las guias es exclusivamente para la configuracion del servidor MCP, no para los scripts de construccion. - Directorio de trabajo incorrecto:
build.shhace cd a su propio directorio automaticamente (cd "$(dirname "$0")"), asi que puedes llamarlo desde cualquier lugar:bash viz/build.shdesde la raiz del proyecto funciona correctamente. - Manifiestos desactualizados:
build.shejecuta los pasos 1-5 en orden, por lo que los manifiestos siempre se regeneran antes del renderizado. Si solo necesitas manifiestos sin renderizar, usanode viz/build-data.js && node viz/build-icon-manifest.js(los pasos de Node no necesitan R). - renv no activado: La solucion alternativa de
.Rprofilerequiere ejecutar desdeviz/—build.shse encarga de esto. Usar el indicador--vanillao ejecutar R desde otro directorio lo omitira. - Paralelismo en Windows: Windows no soporta paralelismo basado en fork — el pipeline selecciona automaticamente
multisessionviaconfig.yml.
Habilidades Relacionadas
- audit-icon-pipeline — detectar glyphs e iconos faltantes antes de renderizar
- create-glyph — crear nuevas funciones de glyph para entidades sin iconos
- enhance-glyph — mejorar glyphs existentes antes de re-renderizar
Dépôt GitHub
Compétences associées
content-collections
MétaCette compétence propose une configuration éprouvée en production pour Content Collections, un outil axé sur TypeScript qui transforme des fichiers Markdown/MDX en collections de données typées de manière sûre avec une validation Zod. Utilisez-la lors de la création de blogs, de sites de documentation ou d'applications Vite + React riches en contenu pour garantir la sécurité de typage et la validation automatique du contenu. Elle couvre tout, de la configuration du plugin Vite et de la compilation MDX à l'optimisation des déploiements et la validation des schémas.
polymarket
MétaCette compétence permet aux développeurs de créer des applications avec la plateforme de marchés prédictifs Polymarket, incluant l'intégration d'API pour le trading et les données de marché. Elle fournit également une diffusion de données en temps réel via WebSocket pour surveiller les transactions en direct et l'activité du marché. Utilisez-la pour mettre en œuvre des stratégies de trading ou pour créer des outils traitant les mises à jour de marché en direct.
creating-opencode-plugins
MétaCette compétence aide les développeurs à créer des plugins OpenCode qui s'interconnectent avec plus de 25 types d'événements tels que les commandes, les fichiers et les opérations LSP. Elle fournit la structure du plugin, les spécifications de l'API événementielle et les modèles d'implémentation pour les modules JavaScript/TypeScript. Utilisez-la lorsque vous avez besoin d'intercepter, de surveiller ou d'étendre le cycle de vie de l'assistant IA OpenCode avec une logique personnalisée pilotée par les événements.
sglang
MétaSGLang est un framework de service LLM haute performance spécialisé dans la génération rapide et structurée pour les workflows JSON, regex et agentiques grâce à son cache de préfixe RadixAttention. Il offre une inférence nettement plus rapide, particulièrement pour les tâches avec des préfixes répétés, ce qui le rend idéal pour les sorties complexes et structurées ainsi que les conversations multi-tours. Choisissez SGLang plutôt que des alternatives comme vLLM lorsque vous avez besoin d'un décodage contraint ou que vous construisez des applications avec un partage étendu de préfixes.
