enhance-glyph
정보
이 스킬은 기존 R 기반 픽토그램 글리프의 비율 불균형, 가독성 문제, 불균형적인 발광 효과와 같은 시각적 문제를 진단하고 수정하여 개선합니다. 개발자가 글리프를 검토하고, 목표에 맞는 함수 수정을 진행하며, 수정 전후 결과를 비교할 수 있도록 안내합니다. 글리프가 작은 크기에서 잘 렌더링되지 않거나, 시각적 메타포가 불분명할 때, 또는 팔레트나 파이프라인 변경 후 업데이트가 필요할 때 사용하세요.
빠른 설치
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/enhance-glyphClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
Enhance Glyph
Improve existing pictogram glyph in viz/ viz layer — audit how it renders, diagnose issues, apply tight fixes, re-render, and compare before/after. Works for skill, agent, team glyphs.
When Use
- Glyph renders poor at small size (details lost, shapes merge)
- Glyph visual meaning unclear or not match entity
- Glyph has proportion issue (too big, too small, off-center)
- Neon glow eats glyph or too weak
- Glyph good in one palette, poor in others
- Batch fix after new palette or new render pipeline
Inputs
- Required: Entity type —
skill,agent, orteam - Required: Entity ID of glyph to enhance (e.g.,
commit-changes,mystic,tending) - Required: Specific issue to fix (readability, proportions, glow, palette compat)
- Optional: Reference glyph that shows target quality
- Optional: Target palette(s) to tune for (default: all palettes)
Steps
Step 1: Audit — Check Current State
Look at current glyph; spot specific issues.
- Find glyph function by entity type:
- Skills:
viz/R/primitives*.R(19 domain-grouped files), mapped inviz/R/glyphs.R - Agents:
viz/R/agent_primitives.R, mapped inviz/R/agent_glyphs.R - Teams:
viz/R/team_primitives.R, mapped inviz/R/team_glyphs.R
- Skills:
- Read glyph function to grasp shape:
- How many layers?
- What primitives call?
- What scale factors and place?
- View rendered output:
- Skills:
viz/public/icons/cyberpunk/<domain>/<skillId>.webp - Agents:
viz/public/icons/cyberpunk/agents/<agentId>.webp - Teams:
viz/public/icons/cyberpunk/teams/<teamId>.webp - If can, check 2-3 other palettes for cross-palette render
- View at icon size (~48px in graph) and panel size (~160px in detail panel)
- Skills:
- Score glyph on quality dimensions:
Glyph Quality Dimensions:
+----------------+------+-----------------------------------------------+
| Dimension | 1-5 | Assessment Criteria |
+----------------+------+-----------------------------------------------+
| Readability | | Recognizable at 48px? Clear at 160px? |
| Proportions | | Well-centered? Good use of the 100x100 canvas?|
| Metaphor | | Does the shape clearly represent the entity? |
| Glow balance | | Glow enhances without overwhelming? |
| Palette compat | | Looks good across cyberpunk + viridis palettes?|
| Complexity | | Appropriate layer count (not too busy/sparse)? |
+----------------+------+-----------------------------------------------+
- Spot 1-2 dimensions with lowest scores — these are fix targets
Got: Clear pick of what wrong with glyph and which dimension to fix. Audit specific: "proportions: glyph uses only 40% of canvas" not "looks bad."
If fail: Glyph function missing or entity not in its *_glyphs.R map? Glyph maybe not made yet — use create-glyph instead.
Step 2: Diagnose — Root Cause
Find why issues exist.
- For readability issues:
- Too many fine details that merge at small size?
- Weak contrast between glyph elements?
- Lines too thin (< 1.5
sizeat s=1.0)? - Elements too close?
- For proportion issues:
- Scale factor
stoo small or too big? - Center off from (50, 50)?
- Elements past safe area (10-90 range)?
- Scale factor
- For glow issues:
- Glyph stroke width mixes with
ggfx::with_outer_glow():- Thin lines: glow make fuzzy
- Thick fills: glow add bloom
- Many overlap elements: stacked glow make hot spots
- Glyph stroke width mixes with
- For palette compat issues:
- Glyph use hardcoded colors, not
col/brightparams? - Low-contrast palettes (cividis, mako) hide glyph?
- Glyph needs color variation some palettes miss?
- Glyph use hardcoded colors, not
- Write specific root cause for each issue
Got: Root causes that point to code change. "Glyph too small" -> "scale factor 0.6 but should be 0.8." "Glow eats" -> "three overlap filled polygons each make glow."
If fail: Root cause not clear from code read? Render glyph alone with different params to isolate. Use render_glyph() with one glyph to test.
Step 3: Modify — Apply Tight Fixes
Edit glyph function to fix diagnosed issues.
- Open file with glyph function
- Apply fixes matched to diagnosis:
- Scale/proportion: Tune
smultiplier or element offsets - Readability: Simplify complex parts, thicker stroke, add space
- Glow balance: Fewer overlap filled areas, use outlines where fills bloom
- Palette compat: All colors from
col/brightparams, add alpha for depth
- Scale/proportion: Tune
- Follow glyph function contract:
glyph_name <- function(cx, cy, s, col, bright) { # cx, cy = center (50, 50) # s = scale (1.0 = ~70% of canvas) # col = domain color, bright = brightened variant # Returns: list() of ggplot2 layers } - Keep function signature — do not change params
- Keep changes tight: fix diagnosed issues, do not redesign whole glyph
Got: Modified glyph function that fix specific issues from Steps 1-2. Changes tight and minimal — enhance, not redesign.
If fail: Fixes make other dimensions worse (e.g., fixing proportions breaks readability)? Revert and try other path. If glyph need full redesign, use create-glyph instead.
Step 4: Re-render — Make New Icons
Render modified glyph and check fix. Always use build.sh — it handles platform detect and R binary pick. See render-icon-pipeline for full flag list.
-
Re-render by entity type:
# From project root — use --no-cache to force re-render of modified glyph bash viz/build.sh --only <domain> --no-cache # skills bash viz/build.sh --type agent --only <id> --no-cache # agents bash viz/build.sh --type team --only <id> --no-cache # teams -
Check output files at expected path for each palette
-
Check file sizes — icons should be 2-15 KB (WebP):
- Under 2 KB: glyph maybe too simple or render fail
- Over 15 KB: glyph maybe too complex (too many layers)
Got: Fresh icon files made for all palettes. File sizes in expected range.
If fail: Build script errors? Check R console output for specific error. Common: missing close paren in glyph function, ref undefined primitives, or return non-list from function. If render OK but output blank, glyph layers maybe outside canvas bounds.
Step 5: Compare — Before/After Check
Check fix improved target dimensions.
- Compare old and new renderings:
- View cyberpunk palette at icon (48px) and panel (160px) sizes
- View at least 2 other palettes (one light like turbo, one dark like mako)
- Re-score quality dimensions from Step 1:
- Target dimensions should improve by at least 1 point
- Non-target dimensions should not drop
- If glyph used in force-graph, test there:
- Start HTTP server:
python3 -m http.server 8080fromviz/ - Load graph and find entity node
- Check icon renders right at default zoom and zoomed in
- Start HTTP server:
- Write what changes made and gain reached
Got: Measurable gain on target dimensions with no drop on others. Glyph looks better at both sizes and across palettes.
If fail: Gain tiny or drop happens? Revert changes and rethink diagnosis. Sometimes old glyph limits come from metaphor, not code — then metaphor itself may need change (escalate to create-glyph).
Validation Checklist
- Current glyph audited with specific issue call
- Root cause found for each issue
- Changes tight to diagnosed issues (not over-edited)
- Glyph function contract kept (signature unchanged)
- Icons re-rendered for all palettes
- Before/after compare shows gain on target dimensions
- No drop on non-target dimensions
- File sizes in expected range (2-15 KB WebP)
- Glyph renders right in force-graph context (if used)
Pitfalls
- Over-enhancement: Fix one issue then tweak everything else. Stick to diagnosed issues
- Break contract: Change function signature break render pipeline. 5-param contract is fixed
- Palette-specific tune: Make glyph perfect for cyberpunk but poor for viridis. Always check 3+ palettes
- Ignore small-size render: Pretty 160px icon that become blob at 48px is fail
- Forget re-render: Edit function without run build cmd means changes not visible
- Wrong build cmd: Skills use
build-icons.R, agents usebuild-agent-icons.R, teams usebuild-team-icons.R
See Also
- create-glyph — make new glyph from scratch (when enhance not enough)
- audit-icon-pipeline — spot which glyphs need fix across pipeline
- render-icon-pipeline — run full render pipeline after fixes
- ornament-style-mono — visual design rules that apply to glyph composition
- chrysopoeia — value extraction method parallels glyph tune (amplify gold, drop dross)
GitHub 저장소
연관 스킬
content-collections
메타이 스킬은 콘텐츠 콜렉션(Content Collections)을 위한 프로덕션 검증된 설정을 제공합니다. 콘텐츠 콜렉션은 Markdown/MDX 파일을 Zod 검증이 포함된 타입 안전한 데이터 콜렉션으로 변환해주는 TypeScript 최우선 도구입니다. 블로그, 문서 사이트 또는 콘텐츠 중심의 Vite + React 애플리케이션을 구축할 때 타입 안전성과 자동 콘텐츠 검증을 보장하기 위해 사용하세요. Vite 플러그인 구성과 MDX 컴파일부터 배포 최적화 및 스키마 검증에 이르기까지 모든 것을 다룹니다.
polymarket
메타이 스킬은 개발자들이 Polymarket 예측 시장 플랫폼을 활용한 애플리케이션을 구축할 수 있도록 지원하며, 거래 및 시장 데이터를 위한 API 통합 기능을 포함합니다. 또한 WebSocket을 통한 실시간 데이터 스트리밍을 제공하여 실시간 거래와 시장 활동을 모니터링할 수 있습니다. 이를 통해 거래 전략을 구현하거나 실시간 시장 업데이트를 처리하는 도구를 생성하는 데 활용할 수 있습니다.
creating-opencode-plugins
메타이 스킬은 개발자들이 명령어, 파일, LSP 작업 등 25개 이상의 이벤트 유형에 연결되는 OpenCode 플러그인을 만들 수 있도록 돕습니다. JavaScript/TypeScript 모듈을 위한 플러그인 구조, 이벤트 API 명세, 구현 패턴을 제공합니다. OpenCode AI 어시스턴트의 라이프사이클을 사용자 정의 이벤트 기반 로직으로 가로채거나, 모니터링하거나, 확장해야 할 때 사용하세요.
sglang
메타SGLang은 RadixAttention 프리픽스 캐싱을 활용하여 JSON, 정규식, 에이전트 워크플로우를 위한 고속 구조화 생성에 특화된 고성능 LLM 서빙 프레임워크입니다. 특히 반복되는 프리픽스가 있는 작업에서 상당히 빠른 추론 속도를 제공하여 복잡한 구조화 출력 및 다중 턴 대화에 이상적입니다. 제약 디코딩이 필요하거나 광범위한 프리픽스 공유가 있는 애플리케이션을 구축할 때는 vLLM과 같은 대안보다 SGLang을 선택하십시오.
