Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add thierryc/Glyphs-mcp --skill glyphs-mcp-outlines-docsgit clone --depth 1 https://github.com/thierryc/Glyphs-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/thierryc/glyphs-mcp/glyphs-mcp-outlines-docs)<a href="https://agentmods.dev/skills/thierryc/glyphs-mcp/glyphs-mcp-outlines-docs"><img src="https://agentmods.dev/badge/skills/thierryc/glyphs-mcp/glyphs-mcp-outlines-docs/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/thierryc/glyphs-mcp/glyphs-mcp-outlines-docs"><img src="https://agentmods.dev/badge/skills/thierryc/glyphs-mcp/glyphs-mcp-outlines-docs.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00070 | $0.02306 |
| Opus 5 | $0.00035 | $0.01153 |
| Sonnet 5 | $0.00014 | $0.00461 |
| Haiku 4.5 | $0.00007 | $0.00231 |
Grade A, and why
glyphs-mcp-outlines-docs scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 134 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Glyphs MCP outlines and docs
Use this skill for path editing, component or anchor work, selected-node workflows, cubic curve geometry and quality review, and bundled Glyphs docs lookup.
Core rules
- Prefer dedicated tools first.
- Use
execute_code_with_contextonly for multi-step glyph-scoped work that is awkward with the dedicated tools. - Keep any fallback script minimal, validate targets first, and bound output if needed.
- Use
docs_searchanddocs_getinstead of broad docs loading. - Treat curve-quality results as measurements and conservative warnings, never as an artistic score or automatic pass/fail verdict.
- Use
update_glyph_node_positionsfor explicit coordinate-only micro-edits on one glyph layer. Keepgrid_policy="font"so the effective Glyphs grid, including subdivision or disabled rounding, is authoritative; usecontinuousonly when the user explicitly requests off-grid precision. - Before and after a node mutation, compare position, type, connection, smoothness, orientation, and name; only explicitly targeted fields may change.
- Treat a missing node
nameinset_glyph_pathsas preserve and JSONnullor""as unnamed. In fallback Python, never assignNoneto a Glyphs string property such asGSNode.name; use""when clearing it. - The complete verified read-back from
update_glyph_node_positionssatisfies post-mutation verification. For other tools, re-read affected glyph state and stop if any non-target field changed. - Never auto-save the font.
Workflow
- Read the current state first with the smallest useful set:
get_selected_font_and_masterget_selected_nodesget_glyph_pathsreview_tunni_geometryreview_curve_qualityreview_curve_quality_across_mastersget_outline_candidate_stateget_glyph_componentsget_glyph_details
- Prefer dedicated tools for the actual change:
update_glyph_node_positionsset_glyph_pathsadd_component_to_glyphadd_anchor_to_glyphapply_collinear_handles_smoothreview_tunni_geometryapply_tunni_balancereview_curve_qualityset_curve_review_overlaypreview_tunni_balance_candidatepreview_collinear_handles_candidatepreview_italic_first_pass_candidatepreview_compensated_tuning_candidateset_outline_candidate_overlayget_outline_candidate_statereview_start_node_alignmentapply_start_node_alignmentmaterialize_outline_candidate_sessionreview_outline_candidate_sessionaccept_outline_candidate_sessiondiscard_outline_candidate_sessionpreview_compensated_tuning_candidateonly when that workflow is explicitly requested
- Use candidate sessions for geometry-changing multi-master or multi-glyph batches. For start-node-only cyclic rotation, use the typed joint-alignment workflow below; never generate an
execute_code_with_contextrotation script. For Tunni work, pass explicit master/path/curve-end targets topreview_tunni_balance_candidate; keepgrid_policy="font"unless the user explicitly requests continuous coordinates. Directapply_tunni_balanceremains compatible for one explicit target only. - Enable native Edit View review with
set_curve_review_overlay(enabled=true, overlays=["curvature", "curve_events"])after curve proposals and before mutation when visual judgment matters. Tell the user to inspect View > Show Glyphs MCP Curvature in Glyphs. Teal is positive signed curvature and pink is negative; curvature magnitude is placed along the path right normal, so correctly wound counters draw into their white interior. Event markers show extrema, inflections, cusps, and continuity warnings. Native comb defaults are 51 samples per cubic, a0.010scale, and a0.12emnormal clamp at0.65alpha. Use the control result to confirm activation; the Reporter measures raw editable paths only. - Review the difference-only Candidate Reporter before mutation. It leaves the normal Glyphs outline unobscured, draws only warm-yellow source/candidate difference regions, and turns those regions coral red when stale. If no manual edit is needed, call
review_outline_candidate_session, dry-run acceptance, stop for approval, then confirm with the exact one-time token. If manual editing is wanted, dry-run and confirmmaterialize_outline_candidate_session, let the user edit the native layer, then re-review it. Never rely on LLM context to identify or delete candidate layers; use the persisted session metadata anddiscard_outline_candidate_session. - Only use
execute_code_with_contextwhen the edit spans several glyph-scoped steps and the dedicated tools would be less reliable or less clear. - When docs are needed, search first with
docs_search, then fetch only the relevant page withdocs_get. - After every mutation, compare all node fields listed above against the pre-mutation snapshot and report intended changes plus any unexpected difference. Use the node-position tool's complete verified read-back; otherwise re-read the affected glyph or layer. Treat an unexpected difference as a failed mutation even when the tool otherwise reports success.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 134 lines · 70 tokens per session scan A f2e3529c2056
glyphs-mcp-outlines-docs is a skill published in the GitHub repository thierryc/Glyphs-mcp (44 stars, last pushed today), licensed Apache-2.0. It adds 70 tokens to every session and 2,306 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
webgl-holographic-foil
A self-contained WebGL2 hero: thin-film interference over a crushed-foil surface whose palette shifts with the viewing angle; move the cursor to tilt the film.
html-ppt-hermes-cyber-terminal
OpenDesign + BYOK: choosing and wiring your own model, hands-on — cost, quality, and the routing decision. Built as a decision-grade AI literacy deck for engineers, IT, applied-AI teams.
html-ppt-taste-brutalist
16:9 HTML deck in tactical-telemetry / CRT-terminal taste. Deactivated-CRT charcoal slides, white-phosphor monospace, hazard-red accent, scanline overlay, ASCII syntax, density over decoration. Distilled from Leonxlnx/taste-skill brutalist-skill (Tactical Telemetry mode).
visual-ralph
Visual Ralph orchestration for frontend UI from generated references, static references, or live URL targets, using $ralph with built-in visual verdict and pixel-diff evidence until the implementation matches and leaves a reproducible design system.
accessibility
Consolidated accessibility skill entrypoint for WCAG 2.2, ARIA Authoring Practices, cognitive accessibility, Section 508, EN 301 549, design intent verification, and the Accessibility Planner workflow.
make-resume
A Chinese-language tool for creating editable HTML resumes that can be changed in a browser and printed to PDF. It uses available resume templates when they are installed and otherwise provides a simpler fallback.