Send your plan filenames to the leaderboard
When you create a file in a Claude plan, the plugin watches for names that pass the vocabulary gate and submits them.
Installation
/plugin marketplace add mihaijoldis/plan-names-plugin /plugin install plan-names@plannames
What gets sent
When you create a file, the plugin sends a single request with the filename and metadata. Here's an example:
{
"name": "jaunty-soaring-adleman",
"agent": "claude-code",
"agentVersion": "2.1.274",
"installId": "3f2a…",
"clientVersion": "1.0.0"
}The installId is a random UUID that the plugin generates once and stores locally on your machine. It is not derived from your hostname, username, or MAC address. The server stores only a salted hash of this ID.
What is never sent
The plugin never transmits:
- File contents
- File paths or directory names
- Project or workspace names
- The prompt or context for the name
- Anything about your machine or OS
The vocabulary gate
A name is split on hyphens. Each part is looked up in the vocabulary. If every part is known, the name is sent. If any part is unknown — or if it can't fetch the vocabulary — the name is held locally and never transmitted.
Here's what that looks like in practice:
A held name is written to a file in ~/.claude/plugins/data/plan-names-plannames/. Nothing about it is transmitted to us. You can see what the plugin is holding by running /plannames in your Claude Code terminal. The plugin fails closed: if it can't reach our server or has no cached vocabulary, every token counts as unknown and nothing is sent.
Hear when your name wins
Run /plannames --claim and the plugin prints a short code. Enter it at plannames.dev/claim with your email, and we will tell you when a name your install generated reaches the top ten.
The plugin never sends your address. It asks for a code using the same anonymous install identifier it already sends with every name — nothing new leaves your machine. You type the address here, confirm it from your inbox, and every email carries a one-click unsubscribe that deletes the record rather than flagging it.
Read the source
Two files, no dependencies. The whole plugin is here for you to read:
"Read it yourself" is the only claim that settles this for a careful reader.