Lessons from contributing to Lucide icon set with AI as a partner

Research, validate, make the case. How AI reshaped the way I contribute icons to open source.

The icon set I’ve recently contributed to is Lucide, an open-source icon library. I’ve learned contributing to a curated icon set goes beyond drawing icons alone and mostly involves research and rationale. What decides whether an icon gets into a library like Lucide is whether you can show the icon contribution belongs i.e it does not duplicate something already there, it stays consistent with the set, and that it holds to the guidelines. AI turned out to help in ways I did not expect by helping to research, rationalize contributions, and also draw icons.

Before opening a contribution PR

Research: is this already here, or already asked for?

Maintainers review for precedence and avoidance of duplication. So the first real work is finding out whether your idea already exists, or is already being worked on.

I can browse the icon directory myself. What I could not do well was the deeper pass: every open issue, every stalled pull request, or other experimental folders where icons live before they graduate. An AI agent with GitHub access (using gh CLI)searched that surface far more thoroughly than I would have by hand.

It paid off immediately. Some icons I was ready to submit or had no luck finding on the icon directory already existed in the repo under a different name and saved me the effort of drawing the icon or opening a PR.

Validation: does it hold to the guidelines?

Lucide uses a visual tool called Studio for inspecting an icon: it previews the drawn icon, shows the pixel grid, flags spacing that falls under the minimum. I assumed this was a surface for humans to drive and eyeball.

The surprise was that the AI could drive it as well. It could generate the previews, read the linter output, and compare a failing version of an icon against a passing one before opening a contribution PR. A visual investigation surface, built for people, became something an agent could use too.

Code editor showing a checkmark icon SVG with the linter flagging its stroke size as too small
Linting tool suggests increasing the checkmark icon size.
Code editor showing a checkmark icon SVG with the linter flagging overlap of corrected increased path size with another path’s area.
By asking AI to draw the icon in lint recommended size, I was able to visually identify issues withe larger size. I eventually reverted to image above and AI used references of existing icon elements at that size to make a defensible case

Rationale: why does it belong?

An icon that reuses the set’s own shapes and points at a precedent is more likely to be approved than one that does not.

The strongest icons I submitted contained no new geometry and was mostly combining the shapes of different icons. After all, consistency and reused shapes is what makes new icons feel like part of an existing set.

This level of rationale and thinking is what goes into the submitted pull request and other comments on Github. Using AI as a partner, it AI helped write the PR description and name the icon, citing precedents and rationale.

A merged Github PR (add scan-square #4550) showing AI assisted writing description explaining rationale for the icon and how it fits into existing family
Example of AI assisted written PR with rationale and icon embeds

Drawing the icon

The part that shifted most for me was the drawing itself. I initially started this process by making each icon in Figma and handing a detailed export to the AI to convert and clean up. By the end I was doing less of that. With AI being able to research the system, run the linting tool itself, draw icons and understand Lucide’s icon language, a description and a pointer to the right precedent or image reference were often enough to generate a good Lucide family icon directly.

Comparison grid showing an SVG icon exported from Figma, the AI’s proposed simplified version, and two existing Lucide dice icons it was matched against for consistency.
Image showing initial process: I passed some SVG created in Figma to AI and it gave proposals that match Lucide family of icons.
Conversational chat in claude discussing and identified missing icon missing from family (square text) with AI describing it’s addition to Lucide as trivial to implement
The later process: no drawing, mostly prompting and referencing existing library and AI could generate a new icon easily. I used Claude Desktop App (Opus 4.8) for this workflow

After opening a contribution PR

Working with reviewers

Research and rationale pre-contribution do not always clear the path. You may find the work already exists, or that maintainers have expertise you missed.

When the icon already exists, your role can shift from adding an icon to moving the existing work forward. For example, commenting on the PR thread for an existing icon, sharing an alternative, or helping close an open item.

When a maintainer flags a gap in the reasoning, you can either clarify it or drop the icon. For example, sometimes the maintainer points to an existing icon that already fits the use case. I can close my PR and adopt theirs, or contest it if I think it my proposal solve a unique use case.

When a maintainer asks for a change or suggests an alternative, it’s time to iterate. Small, precise changes are what helps collaborate effectively with reviewers, i.e renaming the icon or redesigning for a gap.

Where it landed

So far I have five icons merged into Lucide library with others in review. Using this process, I am now listed as a contributor to an icon set that GitHub states has a dependency of 1.8 million projects, and is the default icon library for popularly used UI libraries tools like shadcn/ui.

Illustrated grid of icons on the Lucide site showing icons contributed to the library, with a contributor avatar credited alongside them.
Image showing icons contributed to Lucide library and other lucide family icons created for project need

If you want to try a similar workflow to contribute icons, the skill I built for this is open source: github.com/samuelalake/lucide-icon-contribution. The specifics here are about icons, but the shape of the work isn’t. Any curated open-source project rewards the same three moves: research what already exists, validate against its standards, and make the case for why your contribution belongs.

In addition, using this workflow, I discovered even icons that didn’t get merged to the library were not wasted, because through this create icons consistent to a specific family set for my project need.

Lessons from contributing to Lucide icon set with AI as a partner was originally published in Bootcamp on Medium, where people are continuing the conversation by highlighting and responding to this story.

添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论