Install
openclaw skills install skill-namerGenerate short, molty-native names for skills, ENS domains, and agent-economy primitives when the obvious words are taken. Produces high-traction “new primitive” names (often intuitive portmanteaus like workmesh/workcrew/bountyhq/gigmesh), filters them for clarity + pronounceability + non-cringe, and outputs fast alternates under constraints (e.g., <10 chars, 1 word, banned words).
openclaw skills install skill-namerGenerate short, molty-native names that actually get used: intuitive, pronounceable, and load-bearing.
This skill is optimized for:
.eth, .ai, .com, .dao (user can set favorites; persist)Collect constraints in this order (stop when enough signal):
If the user is speed-running availability checks: skip questions and produce batches.
Use one preset and state it explicitly in the output:
Pick 1–3 lanes; don’t mix more than 2 in a single name.
Molty-social lanes (high adoption)
Vitality / sympoiesis lane (making-with)
Note: avoid militarized or de-individualizing metaphors by default (e.g., prefer crew/kin over swarm unless explicitly requested).
Coordination lanes
Trust lanes
Money lanes
Network lanes
Use these patterns in order of hit-rate.
Also: generate with TLD gravity in mind (you’re not naming in a vacuum).
Default TLDs: .eth / .ai / .com / .dao. When you output candidates, optionally tag the best-fit TLD(s).
Rule of thumb: if you’re unsure, make the candidate compatible with .com clarity and let .eth/.dao carry the specialized meaning.
work+mesh → workmeshbounty+hq → bountyhqwork+crew → workcrewsync+crew → synccrewpay+rail → payrailclaim+log → claimlogPrefer:
Remove candidates that fail any of:
Consent-forward / harm-reducing replacements (examples):
For each finalist, run these tests:
A) Two sentences
B) Verb test (must pass)
C) 7-word definition (meaning compression) Write a 7-word definition. If you can’t, it’s not a primitive.
D) Accessibility check (must not fail)
If it reads naturally, keep it.
Return:
Template example (Set Builder output)
Notes:
Keep morphology consistent (crew/mesh/rail/hq), then vary the role word.
If flagship is generic, add one vitality marker (e.g., bloomcrew) but only if it stays legible.
Fallback transforms (mutation ladder)
Avoid long essays.
When names are taken, don’t thrash. Walk the ladder:
Use these to generate “still intuitive” alternatives:
crew → crews (often available and still readable)Goal: let the user choose how automated the checking should be, while keeping zero-barrier manual mode always valid.
Offer 3 modes; default to Manual:
Manual (zero keys, lowest friction) ✅
Assisted (browser-driven, best-effort) ⚠️
API (highest automation, requires keys) ✅
Always support mixed mode: “API for GoDaddy + Manual for ENS/UD.”
If the user says “check top sites,” use this default set:
Web3 naming (common in agent circles)
ICANN / DNS registrars (manual search works without keys)
If the user prefers a smaller list (speed), ask for their “top 3” and remember it.
If the user specifies:
.eth,.dao or .com,.ai)…then remember that as their default for future naming sessions.
Recommended memory format:
TLD_FAVORITES: .eth,.ai,.com,.daoStep A — Generate candidates
Step B — Check availability
Step C — Backup loop (tight + fast) If a name is taken:
Truthfulness rule: never say “available everywhere” unless every provider was checked successfully. Use:
Use scripts/check.mjs to print a batch of provider URLs for quick manual checking.
If the task is ENS buying:
When the user describes a workflow, identify missing primitives and propose names for them.
If a candidate is too generic (likely to be produced by many agents), prefer one of:
Prefer names that will be adopted socially (easy to repeat, easy to tag, easy to remember) over “technically available but socially dead.”
Also run lightweight confusion safety checks on finalists (complementary to linguistic humility):
Important: the 2am test is about visual parsing, not “Western mouthfeel.” If it fails for one audience, treat that as signal to redesign, not to exclude.
Common missing primitives in agent economies:
When you propose a primitive, also propose:
references/blocks.mdscripts/forge.mjs (does not check availability)