Install
$ agentstack add skill-yintzuyuan-glyphs-reference-glyphs-vanilla-ui ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Vanilla GUI Library Skill
Query the Vanilla GUI library (schriftgestalt/vanilla fork) used by Glyphs 3 for building plugin UIs — windows, buttons, text fields, lists, and more.
> Run all scripts from this skill's base directory. Prepend the base directory path to scripts/ when executing.
Vanilla Path
${GLYPHS_VANILLA_PATH:-~/Library/Application Support/Glyphs 3/Repositories/vanilla/Lib/vanilla}
If GLYPHS_VANILLA_PATH is not set, try GLYPHS_REPOSITORIES_PATH/vanilla/Lib/vanilla, then the default path above.
Quick Start: Browse All Components
Read __init__.py (≈107 lines) to see every exported class and which module it comes from:
Read $VANILLA/__init__.py
This shows all from vanilla.moduleName import ClassName lines — the complete component inventory.
Quick Start: Read a Component
For multi-class files (vanillaWindows.py, vanillaList2.py, etc.), use the script to extract a single class:
python3 scripts/read_component.py Button # Full: source + docstring + methods
python3 scripts/read_component.py Window --summary # Summary: methods list (no source)
For single-class files (vanillaCheckBox.py, vanillaSlider.py, etc.), just Read directly:
Read $VANILLA/vanillaCheckBox.py
Quick Start: Search Components
# Find a component by keyword
Grep "class.*Button" $VANILLA/
# Find all classes in a module
Grep "^class " $VANILLA/vanillaWindows.py
# Find usage of a specific method
Grep "def setTitle" $VANILLA/
Quick Start: Official Documentation
Fetch component docs from the vanilla website:
WebFetch https://vanilla.robotools.dev/en/latest/objects/{ComponentName}.html
Replace {ComponentName} with the actual class name (e.g., Button, Window, List2).
Glyphs-Specific Notes
Palette Plugins Use Group, Not Window
Palette plugins receive a Group as their container — never create a Window inside a palette. Use Group with embedded controls.
posSize Convention
All Vanilla components use posSize = (left, top, width, height):
- Use
"auto"for Auto Layout managed dimensions - Negative values for
width/heightmean "from right/bottom edge"
Auto Layout
Use VerticalStackView and HorizontalStackView for modern Auto Layout UIs instead of manual posSize positioning.
GridView
GridView is conditionally imported (requires macOS 10.12+). It appears in a try/except block at the bottom of __init__.py.
Common Workflow
- Find component →
Read $VANILLA/__init__.pyto browse all exports - Read API →
python3 scripts/read_component.py ComponentNamefor details - Check docs →
WebFetch https://vanilla.robotools.dev/en/latest/objects/ComponentName.html - Search patterns →
Grep "pattern" $VANILLA/for usage examples
Reference
See [references/component-categories.md](references/component-categories.md) for categorized component guide.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: yintzuyuan
- Source: yintzuyuan/glyphs-reference
- License: MIT
- Homepage: http://erikyin.net/glyphs-reference/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.