Where this started
The itch was a year old. The idea came mid-Halopowered build, while I was wrestling glyphs out of FunkierBanana for the umpteenth time.
Setting type on Halopowered meant constantly digging characters out of the display face I’d built — the alternate i and j, punctuation, anything that wasn’t sitting on a standard key. Every fetch was a context switch: open Glyphs 3, find the character, copy, paste back into Framer. Multiply by every headline. The frustration was specific, and the gap was obvious: Illustrator and InDesign have had glyph panels for as long as I’ve been doing this work. Figma and Framer don’t. Most of design tooling has quietly neglected that support, and most of us have been quietly working around it ever since.
I sketched the plugin idea then. I tried to build it. I couldn’t.
Why I couldn’t build it before
Multiple attempts, multiple agents, more than a year. I never got to “hello world” on a Framer plugin.
The Framer plugin setup wasn’t where I needed it to be — or, more honestly, I wasn’t able to bend the agentic tools I had at the time around its specifics. I tried with several different stacks across the year and a half between the Halo build and Gligh shipping. Every attempt died before the first working panel. I’d shelve it, come back months later with a new tool, and stall again at the same point.
The skill that unlocked it
Once Claude Code skills existed, the move was obvious: stop trying to build the plugin, build the skill for building the plugin.
This is the actual craft moment. Not the plugin — the skill. I spent one evening working with Claude to assemble a focused Framer plugin development skill: the API surface, the dev loop, the gotchas, packaged so Claude could pull it into any future session and act on it competently. With that skill in place, the plugin I’d failed to build for over a year built itself in under two hours the next night. Working panel, glyph search, click-to-copy. Hello world and then some.
The lesson — and it’s the part I want carried into the rest of the agentic work I do — is that for any domain where the agent keeps stalling, the right first move isn’t another attempt at the task. It’s building the skill that lets the agent stop stalling. Skill first, build second.
Four nights, in series
Skill one night. Prototype one night. Refine one night. Submission prep one night. Marketplace approval came back in 24 hours.
Doing the work in serial nights with one focus per night was an unintended gift of the dad-time constraint. Each night had a single job, finished cleanly: build the skill, build the prototype, tighten the prototype, prep for submission. I gave submission night the same focus I’d given each build night — read Framer’s checklist top to bottom, followed it as written, packaged accordingly. Framer’s marketplace docs said to expect about three weeks for review. Approval came back inside a day. The submission was tidy enough not to need debating, and the reason it was tidy is that everything else was already behind me — with the product already finished and in use, I had the full evening to focus on nailing the submission guidelines on the first pass.
I spent almost as long writing the LinkedIn post about the experience as I did building Gligh itself — most of it about what shipping a marketplace plugin taught me about Claude skills.
How Gligh actually works
Click a glyph, it copies to the clipboard, you paste. The Framer Plugin API doesn’t allow direct injection at the cursor, so click-to-copy is the workaround — and it’s the right workaround.
Worth flagging for anyone who installs Gligh expecting a one-click insert: glyph clicks copy to clipboard, and you paste. Two steps instead of one, but you control the paste, and it’s the best the platform currently allows. Gligh also works against any font that maps to standard unicode addresses, not just Google Fonts — coverage depends on the font’s own completeness, but it makes the plugin more useful than its core listing promises.
On the build side itself: Claude — with the Framer plugin skill loaded in — went ham, and most of the internals were honestly over my head. It worked almost out of the box, so I didn’t argue, I said thanks. We did real testing for load blinking and obvious performance issues; none surfaced. It works like magic. It was built like magic. It is magic.
About the name
“Gligh” is “glyph” spelled weirder than its closest taken siblings.
I wanted Gliphy — a play on Giphy — but it was already taken. The other obvious phonetic spellings were taken too, so I went one register weirder. The gh is the same gh as in tough and rough. Read it as “glife.” The logo is a C with a text-cursor pointing into its negative space; together they read as a G, which is what the plugin makes.
What this was actually about
Two proofs at once: I could solve a long-standing Framer-typesetting pain I’d had since Halopowered, and I could ship an approvable Framer plugin with a Claude-skill-first workflow.
The plugin solves a real problem I had — designers should have a glyph panel in their design tool, and now they have one in Framer. The bigger return is the meta: building the skill before attempting the build is now a default move for me. It’s the same shape as the SMC lesson — code is cheap, drop what isn’t serving you — taken one step earlier. If the agent isn’t getting traction on a domain, don’t keep retrying the build. Build the skill. Then the build is the easy part.