Looking for testers: a Glyphs 3 → Glyphs 4 plug-in migration skill

Looking for testers: a Glyphs 3 → Glyphs 4 plug-in migration skill

Hi everyone! I’ve been working on an agent skill for auditing and migrating Python plug-ins from Glyphs 3 to Glyphs 4:

https://github.com/thierryc/glyphs3-to-glyphs4-skill

I’d love a few volunteers to try it on real plug-ins and share what works, what fails, and which older API patterns it still misses.

Important: the full documentation-backed migration workflow is not standalone. It relies on the local Glyphs MCP server to search and retrieve the official Glyphs developer documentation.

The included Python helper can run independently for a static audit and non-destructive copy. However, without Glyphs MCP, API-specific and lifecycle decisions remain unverified and should not be presented as migration-ready.

This is not a one-click compatibility guarantee. The skill:

  • creates a separate migration copy and refuses to overwrite an existing output;
  • leaves the original plug-in untouched;
  • runs a static compatibility audit;
  • produces a reviewable migration report;
  • does not install, load, reload, or execute the migrated plug-in;
  • leaves final runtime testing in Glyphs 4 to you.

It checks the areas most likely to need attention:

  • bundle metadata and the principal Python class;
  • Python 2 constructs and framework imports;
  • PyObjC selectors, decorators, outlets, and actions;
  • plug-in lifecycle methods and callbacks;
  • GlyphsApp proxy collections and shape-sensitive code;
  • loader files and current Glyphs 4 SDK templates;
  • dependencies and hard-coded Glyphs 3 paths.

For every API-specific or lifecycle decision, the workflow requires the agent to search with docs_search, retrieve the relevant official page with docs_get, and record its documentation ID and source URL in the handoff.

This keeps migration decisions grounded in the bundled Glyphs API, plug-in-template, file-format, and SDK documentation instead of relying only on model memory.

Before you begin

Install Glyphs MCP, start Glyphs, and open Edit → Glyphs MCP Server to confirm that the local server is running.

The local endpoint is:

http://127.0.0.1:9680/mcp/

You should also have a current checkout of the official Glyphs4 branch of GlyphsSDK for comparing templates and loader files.

Codex

Ask Codex:

Use $skill-installer to install the skill from:
https://github.com/thierryc/glyphs3-to-glyphs4-skill/tree/main/migrate-glyphs3-plugin-to-glyphs4

Check whether Glyphs MCP is already connected:

codex mcp list

If it is not listed, add it:

codex mcp add glyphs-mcp-server --url http://127.0.0.1:9680/mcp/

Start a new Codex task after installation so Codex discovers the skill and MCP tools.

Claude Code

git clone https://github.com/thierryc/glyphs3-to-glyphs4-skill.git
cd glyphs3-to-glyphs4-skill
claude --plugin-dir ./migrate-glyphs3-plugin-to-glyphs4

The plug-in contains a .mcp.json configuration for Glyphs MCP. Run /mcp inside Claude Code to confirm that glyphs-mcp is connected.

If Glyphs or its MCP server was not running when Claude Code started, start it and run:

/reload-plugins

Cursor

git clone https://github.com/thierryc/glyphs3-to-glyphs4-skill.git
cd glyphs3-to-glyphs4-skill
mkdir -p ~/.cursor/plugins/local
ln -s "$PWD/migrate-glyphs3-plugin-to-glyphs4" \
  ~/.cursor/plugins/local/glyphs4-plugin-migrator

If that destination already exists, remove or rename the old local plug-in before creating the symlink.

Restart Cursor or run Developer: Reload Window. Confirm that the plug-in is installed and that glyphs-mcp appears under Settings → Tools & MCP.

Example request

Use the migrate-glyphs3-plugin-to-glyphs4 skill to audit this plug-in,
create a separate Glyphs 4 migration copy, and use Glyphs MCP for every
API-specific or lifecycle decision. Do not install or run the result.

The repository contains both the agent skill and a direct Python helper. A packaged ZIP is available from the latest release.

Looking for volunteers and test plug-ins

If you have an open-source Glyphs 3 Python plug-in that has not yet been tested with Glyphs 4, I’d be very interested in using it as a test case.

These three entries are currently capped at maxVersion = "3799" in the Glyphs package index, so they may be useful candidates to investigate:

That package-index setting does not prove that the plug-ins fail in Glyphs 4. Please check the current repository and, where appropriate, contact the maintainer before beginning a migration.

If you volunteer, please test only generated copies and report:

  • whether the plug-in loads;
  • whether its menus or interface appear;
  • which actions work or fail;
  • any Macro Panel or Console errors;
  • any crashes;
  • API patterns that the audit missed;
  • changes that required manual intervention.

Please treat every generated migration as a starting point for review and hands-on testing, not as proof that the plug-in is ready to ship.

Thanks—I’d really appreciate any test results, difficult plug-ins, or unusual Glyphs 3 API patterns you can throw at it!

1 Like