glebis/name-audition
Run candidate product, brand, company, or benchmark names through an audition — authoritative domain-availability checks, collision research across SaaS/GitHub/packages/the target adjacent domain, a light trademark and ownability read, a ranked callback list, and an interactive casting report of finalists with optional draft branding. Use when the user is naming a product, app, company, feature, or benchmark; asks "is this name taken", "check these domains", "help me pick a name", "is X available", "name my product", "brand name research", "audition names"; or wants to compare and pressure-test a shortlist of candidate names before committing.
npx skills add https://github.com/glebis/claude-skills --skill name-audition
Audition candidate names before you cast one. Brandability is not availability, and a free
domain is not a safe name — the audition separates the three. Candidates *try out*; the best one
gets *cast*; the rest simply don't make the cut.
A name can sound perfect, score well, have every domain free — and still be the wrong choice.
Three ways a candidate fails its screen test, worst first:
vertical means a name doesn't make the cut even when the string is free to register —
confusion and SEO dilution are fatal in the same space.
for trademark, bad for SEO, easy for competitors to crowd.
free. Verify with authoritative sources before casting.
Run these stages in order. Stages 3a and 3b run together.
(b) scope + one-line description, (c) the adjacent domain — the vertical it lives in
(healthcare, coaching, privacy/security, dev tooling); the user supplies this, (d) tone / vibe,
(e) which TLDs matter (default .com .org .ai .io .app .co). If (a)–(c) is missing, ask first —
the adjacent domain is what makes collision research meaningful.
ownable coinages over descriptive compounds. Note for each what it means / why it fits.
scripts/check_domains.sh NAME [NAME ...] -- com ai io ...for a name × TLD availability table. WHOIS no-match + no NS = registrable; Creation Date /
Registrar / NS present = taken; ambiguous = verify by hand. Authoritative for *registration*,
never for trademark.
firecrawl skill or web search(never beautifulsoup) to check the sources below.
present skill to build an interactive HTML deck — one slide perfinalist plus a ranked comparison and a "cast it?" slide.
with nano-banana or gpt-image-2 (draft quality), embed in the slides.
Names that fail "didn't make the cut" — never "killed".
For each candidate, search these surfaces and record URLs:
"<name>" + vertical."<name>" + the user's vertical. A same-vertical hitis the one that ends an audition.
plus a judgment call on descriptiveness: distinctive enough to own, or a generic compound a
competitor can crowd?
is the name already a published dataset/benchmark (arXiv / ACL / Papers with Code)? Citation
clash, not a domain, is what matters there.
Output table:
| Name | Notable existing uses (URLs) | Adjacent-domain clash? | Trademark / ownability | Verdict |
|---|---|---|---|---|
| Acme | github.com/x, acme.io (logistics) | No | Distinctive, no live marks | Callback |
Verdict is Callback (advances) / Cut (out) / Cast (the pick). Apply the Decision rules.
same vertical poisons the name.
SEO. Flag the ownability risk even when registrable.
when it is *both* registrable *and* clear of adjacent-domain and trademark collisions.
check_domains.sh and trademark with a registrylookup, not with "I didn't find anything."
Naming a privacy-focused de-id toolkit + benchmark for the mental-health / coaching vertical.
Audition: Praxio, Dyad, Sessio, ClientPII, CONFIDE.
| Name | Screen test | Verdict |
|---|---|---|
| Praxio | Sounded great, but Praxis EMR is a mental-health EHR — adjacent-domain collision in the exact vertical. | Cut |
| Dyad | Clean, meaningful, but dyad.sh is a local-AI dev tool and dyad.ai is a healthcare company — collisions in both tech and the vertical. | Cut |
| Sessio | Nice, but sessio.base44.app is a same-vertical product for therapists. | Cut |
| ClientPII | All TLDs free — but a generic descriptive compound, weak to trademark, bad SEO. | Didn't make the cut (as a brand) |
| CONFIDE | Domains all taken (bad product brand) — but as a *benchmark* name, citation-collision is low. | Cast (as the benchmark name) |
One line: domains-free ≠ safe, and brandable ≠ available. Most names that look good fail on
adjacent-domain collisions a domain check alone would never catch.
scripts/check_domains.sh praxio dyad sessio # default TLDs (.com .org .ai .io .app .co)
scripts/check_domains.sh praxio dyad -- com ai io # custom TLDs after a --
TLDS="com org ai" scripts/check_domains.sh praxio # or via env
Per domain it runs whois (following the IANA registry referral when needed) plus dig +short NS,
printing a name × TLD table of free / taken / ?. ? = verify by hand (WHOIS rate-limit or
.ai flakiness). Needs whois and dig on PATH (ship with macOS; apt install whois dnsutils).
firecrawl — collision / literature research (stage 3b). Never beautifulsoup.present — interactive HTML casting report (stage 5). Pass it the comparison + per-name slides.nano-banana or gpt-image-2 — optional draft branding (stage 6). Draft quality by default.live mark. Always do the separate trademark read.
.ai WHOIS is flaky. Treat ? as "check the registrar's search," not "free."app-store conflicts. For a name you'll build a business on, get an attorney's clearance.
told otherwise.
Portable across Claude Code and Codex — plain-prose workflow, one bash script, no Claude-only tools.
cp -R name-audition ~/.claude/skills/ # Claude Code
cp -R name-audition ~/.agents/skills/ # Codex
Take glebis/name-audition from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.