wellworn

Wellworn is open: one repository, three licences

Youcef Zemmar · 2026-09-08

The hosted server is the paid part. Almost nothing else is. Everything public sits in one repository, WellWorn-dev/wellworn, and the licence changes by folder, because "open source" on a landing page usually means one MIT wrapper around a closed thing.

One repository instead of five was a practical call, not a philosophical one. A verdict, the skill it points at, and the trap that motivated both tend to change together, and splitting them across repositories would have turned that into three pull requests and a coordination problem for a project with one reviewer.

verdicts/

The corpus. One YAML file per verdict, grouped by kind, with a schema check in CI. This is the product as data: the questions, the picks, the alternatives with their winning conditions, the traps, and the sources with the date each one was read.

It is CC BY-SA 4.0. Attribution, and derivatives stay under the same terms. I picked share-alike deliberately. A corpus of judgments is worth something precisely because it accumulates, and a permissive licence here invites someone to take the accumulated work, add a layer, and close it. Code and data want different licences, and this is data.

If you want a verdict in it, the path is a pull request: one file, the fields in the format, sources with dates. Review checks whether every source is reachable, whether the alternative's condition is a real condition rather than a hedge, and whether the pick survives a constraint set slightly different from yours.

packages/mcp/ and plugins/claude-code/

The server and the Claude Code plugin, both MIT. The plugin is a small amount of code whose whole job is to be copied: the MCP server entry, the PreToolUse hooks that check a package for known traps when an install command is about to run or a dependency manifest is about to change, and a marketplace manifest.

The hook is worth reading as a template for anything that wants to say something useful before a command runs rather than after it fails, and I would rather people fork that than reinvent the sequencing.

claude plugin marketplace add WellWorn-dev/wellworn
claude plugin install wellworn@wellworn

skills/

The procedures. A verdict tells an agent what to use; a skill tells it how to do the thing correctly, in the order that works, with the checks that catch the usual mistake.

MIT, and written against the portable skills CLI layout rather than one client's plugin format, so the same file loads whether the agent reading it is Claude Code, Cursor, or something that did not exist when the skill was written. Inventing a format here would have bought nothing.

spec/

The verdict format: the schema, the validator, and the rules for what counts as evidence. CC0, which is the closest a licence file gets to public domain.

This one is not a hard call. A format that another corpus cannot adopt without inheriting a licence is not a format, it is a lock-in with documentation. If someone builds a competing corpus using the same shape, agents can read both, and I would rather compete on whether the judgments are good.

What is not open

The server code is MIT, but running your own instance means running Postgres, Redis, the recheck job, and the review workflow, and you would still have an empty corpus. Self-hosting is not really the point; the corpus is.

What stays closed is the review process, in the sense that a person does it and gets paid for it. Every verdict is signed by a reviewer with a date. That is the cost of the thing, and it is why there is a paid tier at all. The no-key tier gives 60 calls a day per IP with no account, which is enough to decide whether any of this helps you.

Where a contribution lands

A trap is the cheapest one. Submit it with submit_trap from inside the session where you hit the breakage, in under a minute. It goes to review, and it needs a key so a reviewer can come back to you.

A verdict is a bigger claim and goes in as a pull request under verdicts/. Budget an hour if you already have the opinion and the sources, more if you have the opinion and not the sources, which is usually the honest situation.

Then there are corrections. If something in the corpus is wrong, an issue with the version you tested is worth more than a polite note, and it is the contribution I most want. Every verdict has an expiry date because I expect to be wrong on a schedule. Being told early is the good outcome.

All posts