← Back to work THE WITHHELD SET

Why I held back 505 files

31 August 2026 · 5 min read

skill-kit shipped with 577 files. On disk, there were 1,082.

I held back 505 of them. On purpose.

The build story ended on the cut that took it down to 577. This is the other half. The 505 files that never shipped, and why the smaller number was the stronger one.

The two folders

Almost all of the held-back set lives in two folders.

365 files under industries/. Each one is a design system pulled from a real, named brand. Household names. The kind of company whose colours you could draw from memory.

140 files under templates/. Starter extractions from AI app-builder galleries. The scaffolds those tools hand you before you write a line of code.

Together they are the two largest folders in the whole tree. Bigger than any category I published.

The problem was not quality

They are real work. I built them the same way I built the 577. Same frontmatter, same scripts, same audit.

The difference is upstream. The 577 came from open repos with declared licences. The 505 did not.

The problem was never quality. It was rights.

A brand's design system carries trademark and copyright weight. I read the tokens off a shipped product. Reading them is one thing. Redistributing them under my name is another.

Some of the template sources were CC-BY-SA. That is sticky copyleft. It follows the file into anything it touches. It cannot be relicensed to sit next to MIT.

Some sources had no LICENSE file at all. A public repo with no licence grants no reuse rights. Silence is not permission. It is the opposite.

The impressive ones are the dangerous ones

Here is the trap.

The industries/ files are the most impressive things in the collection. Recognisable brands. Systems you would want to study.

They are also the ones I have the least right to hand out. The more famous the brand, the heavier the trademark, and the worse the idea of publishing its system as mine.

The files that would have drawn the most attention were the files I could defend the least. That is not a coincidence. It is usually how it goes.

What I decided

So I decided not to release them.

Not tag them and ship anyway. Not add a disclaimer and hope. I cut both folders from the public set and left them on my own disk.

Then I made the exclusion physical. Both folders sit in .gitignore, with a comment that says why: redistribution rights are not verified.

A gitignored file cannot be pushed by accident. The decision lives in the repo, not in my memory. Future me does not get to forget it at 1am.

The number that tempted me

1,082 is a bigger number than 577. It reads better. It looks like more work, because it is more work.

Every collection out there is racing to be the biggest. Most stars, most skills, most files. The count is the pitch.

I could have shipped 1,082 and let nobody check the rights on 505 of them. Nobody audits a public repo on day one. I would have gotten away with it for a while.

I decided the bigger number was not worth what it would cost to defend.

The trade, said plainly

"577 files, every one licence-declared" is a claim I can stand behind.

"1,082 files, some of which I probably should not be redistributing" is not a claim. It is a liability with good marketing.

One of those survives a lawyer reading it. One of those survives a source author finding their own work inside it. The smaller one.

The scarce move in a field racing to publish is restraint. Anyone can collect more. Fewer people cut what they cannot stand behind.

Same rule, larger scale

This is not a one-off decision. It is the same rule that runs through the whole system.

Files with no source are marked status: stub-no-source. Not filled with plausible guesses. The licence sweep read every file's frontmatter before release. The 36 copyleft files are flagged so they can never leak into composed output.

Holding back the 505 is that instinct at scale. The system tells the truth about what it is. That only holds if I tell the truth about what I have the right to share.

Why it is not a quick fix

People assume this is a paperwork problem. Send an email, get a yes, publish.

It is not. For 365 brands, there is no single door to knock on. Each system traces to a different company, a different legal team, a different answer.

Some would say yes. Some would never reply. Some would say no.

For the templates, the licence is often missing rather than restrictive. A missing licence is not a soft no. It is a hard no until the author says otherwise. Chasing 140 authors for a yes is not a weekend job.

So the honest state is not cleared. Not never. Not yet. That is a real category, and pretending otherwise is how people ship things they should not.

The landing

The 505 files still sit on my disk. They may ship one day, once the rights are clear. One folder at a time, each with a licence I can name.

Until then, 577 is the number. It is smaller. I can defend every file in it.

If your design system needs to work with agents, here are the three ways in.

The 505 stay on disk because 577 is the number I can defend. Back to work