返回技能列表

render-icon-pipeline

pjt222
更新于 2 days ago
2 次查看
17
2
17
在 GitHub 上查看
designdata

关于

This skill runs a visualization pipeline to generate icons from existing glyphs for skills, agents, and teams. It handles palette generation, data building, manifest creation, and final icon rendering. Developers must always use the `build.sh` script as the entry point, not call Rscript directly.

快速安装

Claude Code

推荐
主要方式
npx skills add pjt222/agent-almanac -a claude-code
插件命令备选方式
/plugin add https://github.com/pjt222/agent-almanac
Git 克隆备选方式
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/render-icon-pipeline

在 Claude Code 中复制并粘贴此命令以安装该技能

技能文档

Render Icon Pipeline

Run viz pipeline end-to-end to render icons from existing glyphs. Cover palette generation, data building, manifest creation, icon rendering for skills, agents, teams.

Canonical entry point: bash viz/build.sh [flags] from project root, or bash build.sh [flags] from viz/. This script handles platform detection (WSL, Docker, native), R binary selection, step ordering. Never call Rscript direct for build scripts — that path is only for MCP server configuration.

When Use

  • After create or modify glyph functions
  • After add new skills, agents, or teams to registries
  • When icons need re-rendering for new or updated palettes
  • For full pipeline rebuild (e.g., after infrastructure changes)
  • When set up viz environment for first time

Inputs

  • Optional: Entity type — skill, agent, team, or all (default: all)
  • Optional: Palette — specific palette name or all (default: all)
  • Optional: Domain filter — specific domain for skill icons (e.g., git, design)
  • Optional: Render mode — full, incremental, or dry-run (default: incremental)

Steps

Step 1: Verify Prerequisites

Ensure environment ready for rendering.

  1. Confirm viz/build.sh exists:
    ls -la viz/build.sh
    
  2. Verify Node.js available:
    node --version
    
  3. Check viz/config.yml exists (platform-specific R path profiles):
    ls viz/config.yml
    

build.sh handles R binary resolution automatic — no need to verify R paths manual. On WSL it uses /usr/local/bin/Rscript (WSL-native R), on Docker it uses container R, on native Linux/macOS it uses Rscript from PATH.

Got: build.sh, Node.js, config.yml are present.

If fail: config.yml missing? Pipeline falls back to system defaults. Node.js missing? Install via nvm.

Step 2: Run the Pipeline

build.sh executes 5 steps in order:

  1. Generate palette colors (R) → palette-colors.json + colors-generated.js
  2. Build data (Node) → skills.json
  3. Build manifests (Node) → icon-manifest.json, agent-icon-manifest.json, team-icon-manifest.json
  4. Render icons (R) → icons/ and icons-hd/ WebP files
  5. Generate terminal glyphs (Node) → cli/lib/glyph-data.json

Full pipeline (all types, all palettes, standard + HD):

bash viz/build.sh

Incremental (skip icons that already exist on disk):

bash viz/build.sh --skip-existing

Single domain (skills only):

bash viz/build.sh --only design

Single entity type:

bash viz/build.sh --type skill
bash viz/build.sh --type agent
bash viz/build.sh --type team

Dry run (preview without rendering):

bash viz/build.sh --dry-run

Standard size only (skip HD):

bash viz/build.sh --no-hd

All flags after build.sh pass through to build-all-icons.R.

Got: Icons rendered to viz/public/icons/<palette>/ and viz/public/icons-hd/<palette>/.

If fail:

  • renv hang on NTFS: viz .Rprofile bypasses renv/activate.R and sets .libPaths() direct. Ensure you run from viz/ (build.sh does this auto via cd "$(dirname "$0")")
  • Missing R packages: Run Rscript -e "install.packages(c('ggplot2', 'ggforce', 'ggfx', 'ragg', 'magick', 'future', 'furrr', 'digest'))" from R environment that build.sh selects
  • No glyph mapped: Entity needs glyph function — use create-glyph skill before rendering

Step 3: Verify Output

Confirm render completed successful.

  1. Check file counts match expectations:
    find viz/public/icons/cyberpunk -name "*.webp" | wc -l
    find viz/public/icons-hd/cyberpunk -name "*.webp" | wc -l
    
  2. Check for reasonable file sizes (2-80 KB per icon)
  3. Run audit-icon-pipeline skill for comprehensive check

Got: File counts match manifest entry counts. File sizes in expected range.

If fail: Counts no match? Some glyphs may have errored during rendering. Check build log for [ERROR] lines.

CLI Flag Reference

All flags pass through build.sh to build-all-icons.R:

FlagDefaultDescription
--type <types>allComma-separated: skill, agent, team
--palette <name>allSingle palette or all (9 palettes)
--only <filter>noneDomain (skills) or entity ID (agents/teams)
--skip-existingoffSkip icons with existing WebP files
--dry-runoffList what would be generated
--size <n>512Output dimension in pixels
--glow-sigma <n>4Glow blur radius
--workers <n>autoParallel workers (detectCores()-1)
--no-cacheoffIgnore content-hash cache
--hdonEnable HD variants (1024px)
--no-hdoffSkip HD variants
--strictoffExit on first sub-script failure

What build.sh Does Internally

For reference only — do NOT run these steps manual:

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

Pipeline can also run in Docker:

cd viz
docker compose up --build

Runs full pipeline in isolated Linux environment. Serves result on port 8080.

Checks

  • Ran bash viz/build.sh (not bare Rscript)
  • Palette colors generated (JSON + JS)
  • Data files built from registries
  • Manifests generated from data
  • Icons rendered for target types and palettes
  • File counts match expectations
  • File sizes in expected range (2-80 KB)

Pitfalls

  • Call Rscript direct: Never run Rscript build-icons.R or Rscript generate-palette-colors.R manual. Always use bash build.sh [flags]. Direct Rscript calls bypass platform detection. May use wrong R binary (Windows R via ~/bin/Rscript wrapper instead of WSL-native R at /usr/local/bin/Rscript). Note: Windows R path in CLAUDE.md and guides is for MCP server configuration only, not for build scripts.
  • Wrong working directory: build.sh CDs to its own directory auto (cd "$(dirname "$0")"), so you can call it from anywhere: bash viz/build.sh from project root works correct.
  • Stale manifests: build.sh runs Steps 1-5 in order, so manifests always regenerated before rendering. Need only manifests without rendering? Use node viz/build-data.js && node viz/build-icon-manifest.js (Node steps no need R).
  • renv not activated: .Rprofile workaround needs running from viz/build.sh handles this. Using --vanilla flag or running R from another directory will skip it.
  • Parallel on Windows: Windows no support fork-based parallelism — pipeline auto-selects multisession via config.yml.

See Also

GitHub 仓库

pjt222/agent-almanac
路径: i18n/caveman/skills/render-icon-pipeline
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

相关推荐技能

content-collections

Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。

查看技能

polymarket

这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。

查看技能

creating-opencode-plugins

该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。

查看技能

sglang

SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。

查看技能