render-icon-pipeline
О программе
Этот навык выполняет конвейер визуализации для отрисовки иконок из существующих глифов для Навыков, Агентов и Команд. Он обрабатывает генерацию палитры, подготовку данных, создание манифеста и финальный процесс отрисовки иконок. Разработчики всегда должны использовать `bash viz/build.sh` в качестве точки входа и никогда не вызывать Rscript напрямую.
Быстрая установка
Claude Code
Рекомендуется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-pipelineСкопируйте и вставьте эту команду в Claude Code для установки этого навыка
Документация
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
GitHub репозиторий
Похожие навыки
content-collections
МетаЭтот навык предоставляет проверенную в продакшене настройку для Content Collections — TypeScript-ориентированного инструмента, который преобразует файлы Markdown/MDX в типобезопасные коллекции данных с валидацией Zod. Используйте его при создании блогов, сайтов документации или контентных приложений на Vite + React для обеспечения типобезопасности и автоматической проверки содержимого. Он охватывает всё: от настройки плагина Vite и компиляции MDX до оптимизации развертывания и валидации схем.
polymarket
МетаЭтот навык позволяет разработчикам создавать приложения на платформе прогнозных рынков Polymarket, включая интеграцию с API для торговли и получения рыночных данных. Он также обеспечивает потоковую передачу данных в реальном времени через WebSocket для отслеживания текущих сделок и рыночной активности. Используйте его для реализации торговых стратегий или создания инструментов, обрабатывающих обновления рынка в реальном времени.
creating-opencode-plugins
МетаЭтот навык помогает разработчикам создавать плагины OpenCode, которые подключаются к более чем 25 типам событий, таким как команды, файлы и операции LSP. Он предоставляет структуру плагина, спецификации API событий и шаблоны реализации для модулей на JavaScript/TypeScript. Используйте его, когда вам нужно перехватывать, отслеживать или расширять жизненный цикл ассистента OpenCode AI с помощью пользовательской событийно-ориентированной логики.
sglang
МетаSGLang — это высокопроизводительный фреймворк для обслуживания больших языковых моделей (LLM), специализирующийся на быстрой структурированной генерации JSON, regex и рабочих процессов агентов с использованием кэширования префиксов RadixAttention. Он обеспечивает значительно более высокую скорость вывода, особенно для задач с повторяющимися префиксами, что делает его идеальным для сложных структурированных результатов и многократных диалогов. Выбирайте SGLang вместо альтернатив, таких как vLLM, когда вам требуется ограниченное декодирование или вы создаете приложения с интенсивным совместным использованием префиксов.
