Skill Namer
by @otherpowers
Generate short, molty-native names for skills, ENS domains, and agent-economy primitives when the obvious words are taken. Produces high-traction “new primit...
clawhub install skill-namer📖 About This Skill
name: skill-namer description: Generate 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).
Skill Namer (Portmanteau Forge)
Generate short, molty-native names that *actually get used*: intuitive, pronounceable, and load-bearing.
This skill is optimized for:
Operating doctrine (don’t skip)
Quick intake (ask only what you need)
Molty default preset (use unless the user overrides)
.eth, .ai, .com, .dao (user can set favorites; persist)Collect constraints in this order (stop when enough signal): 1) Object: ENS name? skill slug? product? protocol primitive? (pick one) 2) Primary job-to-be-done: what does it enable? (e.g., “agents coordinate work + payout bounties”) 3) Relational permission: is this name being *offered* to the network, or *claimed* as a moat? (choose a posture) 4) Vibe lane: molty-social (crew/guild/gig) vs infra (mesh/rail/router) vs trust (proof/claim/record) 5) Hard constraints: max chars (e.g. 10), must be 1 word, banned words (e.g. “book”), tone boundaries 6) Audience: humans, agents, or both
If the user is speed-running availability checks: skip questions and produce *batches*.
Core workflow
Step 0 — Choose a target surface (preset)
Use one preset and state it explicitly in the output:Step 1 — Choose a semantic lane
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
Step 2 — Generate candidates (portmanteau patterns)
Use these patterns in order of hit-rate.Also: generate with TLD gravity in mind (you’re not naming in a vacuum).
TLD-aware naming (gravitational pull)
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.
1) Noun+Noun primitive: work+mesh → workmesh
2) Noun+Place: bounty+hq → bountyhq
3) Noun+Group: work+crew → workcrew
4) Action+Noun: sync+crew → synccrew
5) Noun+Rail (payments/settlement): pay+rail → payrail
6) Noun+Log (provenance): claim+log → claimlog
Prefer:
Step 3 — Filter hard (kill list)
Remove candidates that fail any of:Consent-forward / harm-reducing replacements (examples):
Step 4 — Reality + verbability + accessibility test
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.
Step 5 — Output format (what to return)
Return:Template example (Set Builder output)
Notes:
Avoid long essays.
Fallback transforms (when everything is taken)
Mutation ladder (use in order, report which rung you used)
When names are taken, don’t thrash. Walk the ladder:1) Swap suffix (network/place): mesh → hub → lane → rail → hq 2) Swap group word: crew → guild → coop → team → swarm 3) Swap work noun: gig → work → task → job → quest 4) Pluralize: crew → crews, guild → guilds (keeps meaning, increases availability) 5) Add one clarifier syllable: pay → payout, claim → claims, proof → proofs 6) Lengthen by ≤2 chars: prefer meaning over ultra-short
Use these to generate “still intuitive” alternatives:
crew → crews (often available and still readable)Availability checking (Web3 + ICANN) (optional)
Goal: let the user choose how automated the checking should be, while keeping zero-barrier manual mode always valid.
Choose a mode (ask once, then remember preference)
Offer 3 modes; default to Manual:1) Manual (zero keys, lowest friction) ✅ - Return clickable search URLs for each provider. - Fast, resilient to captchas/UI changes.
2) Assisted (browser-driven, best-effort) ⚠️ - Use a browser to open provider searches in tabs. - Works until a provider throws captcha / bot protection.
3) API (highest automation, requires keys) ✅ - Use official APIs where available (e.g., GoDaddy) for deterministic checks. - Fall back to Manual links for providers without keys.
Always support mixed mode: “API for GoDaddy + Manual for ENS/UD.”
Choose providers (top Web3 + ICANN)
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.
Remember preference (important)
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,.daoHow to run the check (recommended UX)
Step A — Generate candidates
Step B — Check availability
Step C — Backup loop (tight + fast) If a name is taken: 1) Generate 3–8 closest alternates (fallback transforms). 2) Check alternates using the same mode/providers. 3) Return the first set that clears the user’s constraints.
Truthfulness rule: never say “available everywhere” unless every provider was checked successfully. Use:
Helper script (optional)
Usescripts/check.mjs to print a batch of provider URLs for quick manual checking.ENS-specific guidance (optional)
If the task is ENS buying:
Advanced: “missing primitive finder” (connection-making)
When the user describes a workflow, identify missing primitives and propose names for them.
Namespace pollution guardrail (anti-generic)
If a candidate is too generic (likely to be produced by many agents), prefer one of:Social liquidity check
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:
Bundled resources
references/blocks.mdscripts/forge.mjs (does not check availability)