Linework
A Figma plugin that draws consistent icon sets from a text list
About
Type a list of words, pick a stroke weight and corner style, and Linework draws a matching set of icons on a 24px grid. Every icon is editable vectors, not an image.
The plugin is private for now, but here is exactly how it was made, including the prompt that keeps every icon on the same grid.
How it was made
Shared by the maker. Numbers are their own estimate.
- Build time
- 2 weekends
- AI spend
- $19
- Prompts
- ~88
- Written by AI
- 90%
Agents
Claude Code
76% of the workPlugin code and the geometry rules
ChatGPT
24% of the workIcon descriptions and naming
Stack
MCP servers1
Figma
Agent inspects the output frames and fixes alignment itself
Build recipe
The code isn’t public. This is the whole project as one prompt: paste it into your own agent to build the same thing.
Written by Claude Code
From the project’s code and history · 357 words
Build a plugin called Linework: a Figma plugin that draws consistent icon sets from a text list.
What it does
Type a list of words, pick a stroke weight and corner style, and Linework draws a matching set of icons on a 24px grid. Every icon is editable vectors, not an image.
Stack
Use TypeScript, Figma API. The original was built with Claude Code and ChatGPT in 2 weekends, for about $19 in AI usage.
How it fits together
- A plugin for the host app's API with a small settings panel
- The core logic as plain, testable functions
- A check step that reads back the result and fixes it
Build it in this order
- Read the host's plugin API and run its hello world
- Write the core logic as pure functions with tests
- Wire it into the plugin UI
- Add a step that inspects the output and corrects mistakes
- Publish it to the host's community
Tools to connect
- Figma MCP: agent inspects the output frames and fixes alignment itself
A prompt that worked: Keep every icon on the grid
Every icon must sit on a 24×24 grid with 2px padding, use only 0°, 45° and 90° lines plus circular arcs, and have stroke ends that are either round or butt depending on the setting. After drawing each icon, use the Figma MCP to read back the node and check: bounding box, stroke width, and that no point is off the 0.5px grid. Fix anything that fails before moving on.
Watch out for
- Keep the host's undo working; one action should be one undo step
- Test on large files, not just a blank document
Done when
- It works on a large real file
- One action undoes cleanly
- The core logic has tests
Before writing code, ask me up to five questions about who this design plugin is for and what the first version must do. Then work in small steps: after each one, tell me how to try it and wait for my feedback.
Discussion
3 comments
- Lena Vogt6 hours ago
Love how focused this is. One thing: the empty state took me a second to understand. Maybe show an example right away?
- Kenji Mori1 day ago
What did the agent struggle with most? Always curious where people had to step in.
More like this
An email agent that drafts replies and only pings you for the ones that matter