thierryc/glyphs-mcp/glyphs
Claude Code and agent skill by thierryc/glyphs-mcp
- community
Checking that the SKILL.md file is still in the repository.
Route Glyphs 4 font work to the lean MCP tools and independent companion plugins.
Install
npx vskill@latest install thierryc/glyphs-mcp/glyphsSKILL.md
Glyphs Font Workflows
For compiled TTF comparisons, load font comparison. This file-based workflow needs the sidecar and optional Diffenator runtime, without a live Glyphs document or saved-font baseline.
For creating, revising or debugging a Glyphs 4 script/plugin, use $glyphs-mcp-development. Offline coding needs no connection, document discovery or Save. Generic Python with no Glyphs app or font target needs no Glyphs skill. OpenType source work uses the native feature skill.
To open an existing native font file, use font opening. This needs no existing document, saved baseline or script and never saves. For UFO/OTF/TTF import, activation, Edit-tab opening or closing, use document lifecycle. Close requires explicit save/discard handling and resolves no pending jobs.
Optional workflows
- For structural path diagnosis and profile-preserving seam repair, use Path Doctor.
- For spacing, respacing, sidebearings or widths, use Glyphs Spacing. Applying existing metrics keys is a separate native command from computing reference-based suggestions.
- For hinting stems, alignment zones, manual or automatic hints and small-size rendering, use Glyphs Hinting.
- For interpolation-kink detection or HOI repair, use Glyphs Dekink (
$dekink-native) when installed. See the optional skill catalog. - For image-to-outline tracing or matching a reference master, use Glyphs Beztrace Tracing (
$beztrace-vectorize-image) or Glyphs Beztrace Matching ($beztrace-match-masters). See the Beztrace skill sources. - For outline-to-stroke handwriting authoring, use Glyphs PlotFont Strokes (
$plotfont-stroke-authoring) when its research dependencies are available.
Optional instructions do not imply an installed engine, native companion or MCP capability. If a skill is unavailable, explain the missing requirement and use the app catalog or its source link for setup; do not invent tools or a fallback.
Continue from known context
To create a new font, use font creation. No existing document or saved baseline is required; creation itself never saves.
Reuse the verified catalog, identity and capabilities of the specific MCP connection, plus the intended font's document_id. A follow-up or switch to a focused skill does not restart setup. If the connection is unverified or changed, load connection setup; it distinguishes lean v2, v1 and mismatches. Check a workflow's required readCapabilities/jobKinds against that retained get_status response. Refresh it after a component update, known process restart, changed endpoint, contradictory evidence or a request for current health. Missing private capabilities mean the installation needs updating: update the bridge, sidecar and skills together. Do not maintain fallback workflows.
Call list_documents only when the intended document has no valid retained ID, after document_not_found or a known bridge/Glyphs restart, or to resolve an explicit target change. Never silently substitute another open font. A missing glyph is not a discovery trigger. “Current/frontmost font” may require fresh intent resolution; see document targeting. Each read_entities call reads fresh contents. Dirty fonts need no Save for reads.
Tool descriptions provide compact routing and critical boundaries. Use the linked operation reference for full schemas, examples and limits; never treat an omitted detail in the catalog as new permission or an increased limit.
Load only the reference needed for the requested operation. Reuse instructions and cited excerpts already in context; fetch only a missing or changed section. A focused skill inherits this connection/document context without reloading this entry. Resolve genuine context gaps; do not treat remembered font data as current.
| Requested work | Focused reference | |
|---|---|---|
| Discover glyph names | Glyph discovery, requiring glyphs.list.v1 | |
| Glyph metadata | Metadata | |
| Font View sidebar categories, Smart/List Filters or “Invalid filter in sidebar” | Sidebar filters and predicate syntax | |
| Read or set glyph color tags, including orange review markers | Glyph colors, requiring native.action.v1 and set_glyph_color for edits | |
| Dimensions palette reference notes: read/fill freely, approve overwrites in conversation | Dimensions | |
| Native master IDs, metrics, axis positions or italic angle | Masters | |
| Discover a glyph's exact layer IDs and native types | Layer discovery, requiring layers.list.v1 | |
| Exact layers, fractional metrics and bounds | Layers | |
| Current master or selected glyphs in Font/Edit View | Context, requiring document.context.v1 | |
| Active layer, selected-object counts or optional node details | Selection, requiring selection.context.v1 | |
| Discover kerning groups or stored pairs | Kerning discovery | |
| Exact stored kerning | Kerning reads | |
| Set/remove exact glyph or group kerning entries | Typed kerning edits, requiring kerning.edit.exact.v1 | |
| Language-filtered pairs and proof strings to inspect | Kerning proofing, requiring kerning.proof.v1 | |
| Additive advance changes | Widths | |
| Glyphs-native metrics, outline/component/background, glyph-info or automatic-feature commands | Closed native actions, requiring native.action.v1 and the action in nativeActions | |
| Feature source discovery and saved/live compiler diagnostics | Feature compilation, requiring features.read.v1 and a compile capability | |
| Static, variable, WOFF/WOFF2 export and bounded shaping checks | Font export, requiring instances.read.v1 and export/verification capabilities | |
| Color, icon/Unicode, production or LitSquare audit scope beyond these jobs | Specialized scope | |
| Direct native bulk edits or custom font-level changes | Python script jobs, requiring script.native.v1 and script.recovery.snapshot.v1 | |
| Local Git checkpoints, action history, comparison or historical restore | Git checkpoints, requiring font.checkpoints.v1 | |
| Connection failure | Troubleshooting | |
| Glyphs crashed or unexpectedly exited | Crash recovery; ask before any temporary autosave pause |
Use the matching spacing, kerning, italic-first-pass, master-compatibility or outlines skill only when its domain is needed. Curve Inspector and Reference Inspector are independent companions. Use development or scripting for a separately authorised native operation, release for packaging, and maintainer-feedback for a reproducible defect. Ordinary reads need no coding resources or job. Request only needed fields; the usual bound is 100 explicit targets, with tighter detail limits specified in the focused references.
Supported edits
Prefer typed jobs for their supported algorithms and ordinary edits. For large or composed modifications, offer direct native scripting with a detached pre-run recovery copy and whole-font Restore before run. Dirty and pathless fonts need no Save. Original task authorization permits the Run action without code review or another Run question. Saving requires existing or explicit authorization. There is one script route at every target count. Reads remain save-free. A missing advertised capability remains an installation gap, not permission to bypass that workflow with a script.
For an advertised mutation job, prefer the shared conversation workflow when workflowCapabilities includes edit.workflow.v1. Use start_edit_workflow with the same operation and scope and a retained idempotency key. An edit request uses apply; an explicit preview uses preview. Script-specific Run and recovery rules are in the execution contract. With script.apply-authorized.v1, authorized Apply requests run after internal preparation; explicit previews still wait. Preparation and polling never execute code themselves. For typed edits, ordinary complete results apply automatically without saving. Warnings, skipped targets and overwrite approvals require report review before application. For unresolved decisions and missing information, prefer the conversation host's available native question tool; group related questions when they can be answered together. Use native conversation/tool feedback for routine progress, success and errors. Open show_edit_workflow only when before/after glyph comparisons, interactive inspection, substantial reports, useful live controls or recovery information add value, or the user requests a card. Follow decision questions without adding another approval for an already authorized action. Every choice also works in ordinary conversation. “Save and continue” authorizes one prerequisite whole-font save, then preparation and application; the resulting edit remains unsaved. Reuse scoped authorization already given.
The existing start_job, get_job, apply_job lifecycle remains available for explicit low-level job work. Diagnostic jobs finish without application; artifact jobs publish through accept_job to a new directory. Reconcile an uncertain write using that existing job ID; do not submit a duplicate. For typed jobs, discard_job cancels or restores the whole job; native scripts use the explicit Restore before run conversation action. Application is save-free. Successful edits offer Keep without saving, Save and their recovery action. Typed Keep ends wrapper recovery while preserving native Undo/Redo. With Automatic Keep enabled, a visible, connected and freshly reconciled successful result card can Keep after 30 seconds. Failed, partial, blocked and uncertain outcomes remain manual. Disable Automatic Keep before waiting on a native question; silence, Skip and dismissal apply no choice. Honor “wait for my answer” with auto_keep=false or the offered opt-out action and retain that preference until changed. Text-only clients remain manual. When the user's task authorizes persistence after review, call accept_job; it revalidates affected targets, saves the entire document and closes the rollback window. Use save_document only for a specifically identified document with no active or applied MCP job. Inspect fresh source and dirty state for preparation, and never save merely to satisfy start_job. Never save, publish an export, close or overwrite a font unless the user's task authorizes it. The data/action tools expose trusted Python through the separate advertised python_script job; follow its execution contract. There is no plugin reload tool; do not invent an MCP command. An advertised native_action is a closed typed job, not a general script or remote-object interface.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/glyphs/SKILL.md
Popularity
- Repository stars
- 40
- Repository forks
- 5
- 7-day trend score
- 19
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/thierryc/glyphs-mcp/glyphs)