git:20260827.732a77b to git:20260829.d51eb76

88 added, 140 removed. Audit A to A.

---
name: affix-domains
- description: Attach popular brand prefixes/suffixes to a seed word and check availability against the authoritative registry. Starts at `.com`; if the seed word's own `.com` is taken, escalates the whole sweep to .com/.net/.org/.ai/.io/.co/.app/.cc. Use when the user names a word and asks for prefix/suffix domain variants, or wants domains generated by adding endings like -ly/-ify/-hub or beginnings like open-/get-/go-.
+ description: Attach popular brand prefixes/suffixes to a seed word and check availability against the authoritative registry. Starts at `.com`; if the seed word's own `.com` is taken, escalates the whole sweep to .com/.net/.org/.ai/.io/.co/.app/.cc. Use when the user names a word and asks for prefix/suffix domain variants, or wants domains generated by adding endings like -labs/-ify/-ly or beginnings like deep-/open-/get-. Catalogs are ranked by 2025–26 hot-AI-startup evidence; scan and surface in rank order.
---
# affix-domains
**Affix** a seed word with common brand prefixes and suffixes, check each candidate live against the authoritative registry, and prompt the user to register the free ones.
## Steps
1. **Gate on the bare seed's `.com`.** Before generating anything, check `<seed>.com` alone. It decides the scope of everything below:
- **Free** → the seed itself is winnable. Say so up front, then run the affix sweep on **`.com` only** — the original contract. Nothing else is needed.
- **Taken** → escalate. Every check from here on runs across the **full TLD set**: `.com .net .org .ai .io .co .app .cc`. Also sweep the **bare seed** across the other seven — `mate.ai` is worth more than `matebuddy.com`, and it costs eight lookups to find out.
2. **Generate candidates.** For seed `W`, produce `W` + each suffix and each prefix + `W` from the catalog below. Lowercase. Dedupe. Always drop triple-letter runs (`mateee`) and a suffix that repeats the seed (`matemate`).
The English-word filter is **mode-dependent**: in `.com`-only mode, drop any combination that spells an existing English word (e.g. `getup`, `openbox`) — its `.com` is almost certainly taken and burns a lookup. In **escalated mode, keep them** — that rationale is `.com`-specific, and a real word gone in `.com` says nothing about `.ai` or `.cc`. (`mately` is a dictionary adverb *and* the flagship `-ly` SaaS pattern; it is free in six TLDs.) If the user hints a style (playful, techy, marketplace…), weight the matching categories; default is every category.
3. **Check availability** with the bundled script, which already encodes the per-TLD endpoint, parallelism, and retry rules. It lives in this skill's `scripts/` dir — invoke it by absolute path:
```bash
~/.claude/skills/affix-domains/scripts/check_domains.sh \
--tlds com,net,org,ai,io,co,app,cc cand1 cand2 cand3 ...
```
With many candidates, pass them on stdin instead: `printf '%s\n' "${cands[@]}" | … --stdin`.
- Pass **bare names, not domains** — the script forms `name.tld` itself. Output is one `<domain>\tFREE|TAKEN|UNKNOWN` line per lookup. A full 63-affix escalated sweep is ~500 lookups and takes roughly 30–60s, paced by the serial `.app` path.
+ Pass **bare names, not domains** — the script forms `name.tld` itself. Output is one `<domain>\tFREE|TAKEN|UNKNOWN` line per lookup. A full 67-affix escalated sweep is ~540 lookups and takes roughly 30–60s, paced by the serial `.app` path.
**`UNKNOWN` is not `FREE`.** It means the registry never gave a clean answer. Never show it as available; re-run those few names, and if they stay UNKNOWN, say so explicitly.
- 4. **Surface the survivors.** In `.com`-only mode, list one line per free `.com`, grouped by the catalog category that produced it.
+ 4. **Surface the survivors.** In `.com`-only mode, list one line per free `.com`, in catalog rank order (note each name's category).
- In escalated mode the raw cross-product is far too long to dump. Instead, rank each surviving name by its best available TLD, using this preference order:
+ In escalated mode the raw cross-product is far too long to dump. Instead, order surviving names by their affix's catalog rank, breaking ties by best available TLD in this preference order:
`.com` > `.ai` > `.io` > `.co` > `.net` > `.org` > `.app` > `.cc`
- Show the best one or two TLDs per name, grouped by catalog category, and offer the complete matrix only if the user asks. Note when a name is free across *many* TLDs — that usually means it is genuinely unclaimed rather than merely available in the leftovers.
+ Show the best one or two TLDs per name, and offer the complete matrix only if the user asks. Note when a name is free across *many* TLDs — that usually means it is genuinely unclaimed rather than merely available in the leftovers.
5. **Prompt the user to register.** Ask which they want to take. Point them to Cloudflare Registrar (or their preferred one) — note that Cloudflare Registrar does not sell every TLD in this set, so a second registrar may be needed. Do not enter payment on their behalf — registration is the user's action.
## TLD endpoints
Verified 2026-08-27, each against a known-taken and a known-free control. The script holds these; the table is here so a human can audit it.
| TLD | Method | Endpoint | Notes |
|---|---|---|---|
| `.com` | RDAP | `rdap.verisign.com/com/v1/domain/` | Verisign, authoritative |
| `.net` | RDAP | `rdap.verisign.com/net/v1/domain/` | Verisign |
| `.cc` | RDAP | `tld-rdap.verisign.com/cc/v1/domain/` | Verisign, but a **different host** than `.com`/`.net` |
| `.org` | RDAP | `rdap.publicinterestregistry.org/rdap/domain/` | PIR |
| `.ai` | RDAP | `rdap.identitydigital.services/rdap/domain/` | Identity Digital |
| `.io` | RDAP | `rdap.identitydigital.services/rdap/domain/` | same host as `.ai`; **not in the IANA bootstrap** |
| `.app` | RDAP | `pubapi.registry.google/rdap/domain/` | Google Registry; **rate-limited**, see below |
| `.co` | **WHOIS** | `whois.registry.co` | **No RDAP service exists.** Free ⇔ `DOMAIN NOT FOUND` |
**`.app` rate limiting is a rolling quota, not a concurrency cap.** Dropping to `-P 2` does not help — once the budget is spent, every request 429s regardless of parallelism. The only fix is serial requests plus backoff-and-retry, which is what the script does. Treat `429` as *retry*, never as an answer.
### Endpoints that look right and are wrong
Both of these return **HTTP 404 for domains that are definitely registered** — a silent false-available that would tell the user to go buy a taken domain. Do not substitute them:
- `rdap.godaddy.com/v1/domain/` — 404s on `t.co`. It is the *registrar's* RDAP, not the registry's.
- `rdap.org/domain/` — a bootstrap proxy; 404s on both `.co` and `.io` because neither is in the IANA bootstrap file.
- ## Suffix catalog
-
- ### Verbifier — "does X as a service"
-
- | Affix | Feel · exemplars |
- |---|---|
- | -ify | turns the word into a service (Spotify, Shopify) |
- | -ize | systematize (Rentalize) |
- | -ate | automate/activate (Automate) |
-
- ### Short & modern
-
- | Affix | Feel · exemplars |
- |---|---|
- | -ly | SaaS all-rounder (Bitly, Calendly, Grammarly) |
- | -r | drop-vowel web-2.0 (Tumblr, Flickr) |
- | -y | cute, casual (Etsy) |
-
- ### Doer
-
- | Affix | Feel · exemplars |
- |---|---|
- | -er | actor/agent (Uber, Tinder) |
- | -or | mechanical (Vector) |
- | -ist | specialist (Stylist) |
-
- ### Companion
-
- | Affix | Feel · exemplars |
- |---|---|
- | -buddy | friendly helper (GasBuddy) |
- | -pal | trusted friend (PayPal) |
- | -mate | sidekick (Mailmate) |
- | -bot | automated agent |
-
- ### Tool & hub
-
- | Affix | Feel · exemplars |
- |---|---|
- | -hub | gathering point (GitHub) |
- | -base | foundation/platform (Coinbase, Firebase, Supabase) |
- | -box | packaged tool (Dropbox) |
- | -kit | toolkit (ConvertKit) |
- | -pad | workspace (Launchpad) |
- | -space | room to work (Squarespace) |
- | -stack | tech stack (Substack) |
- | -labs | R&D shop (Bell Labs) |
- | -works | workshop (SolidWorks) |
-
- ### Vowel endings — playful, globally pronounceable
-
- | Affix | Feel · exemplars |
- |---|---|
- | -oo | round, cute (Yahoo) |
- | -ee | soft (Renee-like) |
- | -o | punchy (Venmo) |
- | -a | smooth (Tesla, Zara) |
- | -ia | name-like (Nvidia, Expedia) |
- | -ora | elegant Latin (Pandora) |
- | -us | Latin gravitas (Prius) |
- | -ex | sharp, techy (FedEx) |
- | -ix | techy (Netflix) |
-
- ### Stylized & meme
-
- | Affix | Feel · exemplars |
- |---|---|
- | -zilla | monster-big (Mozilla) |
- | -matic | machine-magic (Instamatic) |
- | -aroo | bouncy-cute (Kangaroo) |
- | -verse | a whole universe (metaverse) |
-
- ### Vertical positioning
-
- | Affix | Feel · exemplars |
- |---|---|
- | -bay | marketplace (eBay) |
- | -cast | media/broadcast (Podcast) |
- | -app | application (Cash App) |
-
- ## Prefix catalog
-
- ### Call-to-action
-
- | Affix | Feel · exemplars |
- |---|---|
- | get- | grab it (GetResponse) |
- | go- | momentum (GoDaddy, GoPro) |
- | use- | utility (Usebutton) |
- | try- | low-commitment invite |
- | join- | community invite |
- | meet- | introduction (MeetUp-style) |
- | hey- | friendly hail (Hey.com) |
-
- ### Possessive
-
- | Affix | Feel · exemplars |
- |---|---|
- | my- | personal (MySpace, MyFitnessPal) |
- | the- | definitive (TheVerge) |
-
- ### Scale & depth
-
- | Affix | Feel · exemplars |
- |---|---|
- | deep- | serious tech (DeepMind, DeepSeek) |
- | ever- | permanence (Evernote) |
- | every- | universality (Everlane-like) |
- | super- | boosted (Superhuman) |
- | ultra- | extreme |
- | up- | rising (Upwork) |
-
- ### Newness & openness
+ ## Catalog ranking
- | Affix | Feel · exemplars |
- |---|---|
- | open- | transparent/community (OpenAI, OpenTable) |
- | neo- | new wave (Neobank) |
- | meta- | beyond (Meta) |
- | next- | successor (NextDoor) |
- | real- | authentic (RealPage) |
- | live- | real-time (LiveChat) |
+ Both catalogs are **ranked by evidence**: how often the hottest AI startups actually use each affix
+ in their brand names — a 433-company corpus (Forbes AI 50 2026+2025, CB Insights AI 100 2026, YC,
+ a16z Top-100 consumer apps, LinkedIn Top Startups US, 2025–26 mega-rounds, AI dev-tools peer group;
+ snapshot 2026-08-28) — blended with fusability and meaning (Score = 2·E + F + M). Generate
+ candidates from **every** row, but check and surface them **in rank order**. The full evidence
+ tables (scores, old-vs-new ranks, corpus examples) are in
+ [references/ranking-2026-08.md](references/ranking-2026-08.md). Known catalog gap, deliberately not
+ auto-added: the era's dominant suffix is a trailing "AI" word (~60 hot companies), plus -lab, -0,
+ -gpt, applied- — see the reference before extending the catalog.
- ### Speed & ease
+ ## Prefix catalog — ranked
- | Affix | Feel · exemplars |
- |---|---|
- | fast- | velocity (Fastly) |
- | quick- | instant (QuickBooks) |
- | easy- | frictionless (EasyJet) |
- | smart- | intelligent (SmartThings) |
+ | # | Affix | Category | Hot uses 2025–26 | Feel · exemplars |
+ |---|---|---|---|---|
+ | 1 | deep- | Scale & depth | 4 | serious tech (DeepMind, DeepSeek) |
+ | 2 | open- | Newness & openness | 4 | transparent/community (OpenAI, OpenTable) |
+ | 3 | super- | Scale & depth | 2 | boosted (Superhuman) |
+ | 4 | live- | Newness & openness | 2 | real-time (LiveChat) |
+ | 5 | agent- | AI & agents | 2 | autonomous doer (Agentforce) |
+ | 6 | ai- | AI & agents | 3 | AI-native signal (AI21) |
+ | 7 | up- | Scale & depth | 1 | rising (Upwork) |
+ | 8 | hey- | Call-to-action | 1 | friendly hail (Hey.com) |
+ | 9 | chat- | AI & agents | 1 | conversational (ChatGPT) |
+ | 10 | the- | Possessive | 1 | definitive (TheVerge) |
+ | 11 | go- | Call-to-action | 0 | momentum (GoDaddy, GoPro) |
+ | 12 | fast- | Speed & ease | 0 | velocity (Fastly) |
+ | 13 | get- | Call-to-action | 0 | grab it (GetResponse) |
+ | 14 | next- | Newness & openness | 0 | successor (NextDoor) |
+ | 15 | quick- | Speed & ease | 0 | instant (QuickBooks) |
+ | 16 | smart- | Speed & ease | 0 | intelligent (SmartThings) |
+ | 17 | my- | Possessive | 0 | personal (MySpace, MyFitnessPal) |
+ | 18 | easy- | Speed & ease | 0 | frictionless (EasyJet) |
+ | 19 | ever- | Scale & depth | 0 | permanence (Evernote) |
+ | 20 | real- | Newness & openness | 0 | authentic (RealPage) |
+ | 21 | neo- | Newness & openness | 0 | new wave (Neobank) |
+ | 22 | use- | Call-to-action | 0 | utility (Usebutton) |
+ | 23 | try- | Call-to-action | 0 | low-commitment invite |
+ | 24 | ultra- | Scale & depth | 0 | extreme |
+ | 25 | meta- | Newness & openness | 0 | beyond (Meta) |
+ | 26 | meet- | Call-to-action | 0 | introduction (MeetUp-style) |
+ | 27 | agentic- | AI & agents | 0 | agent-native workflows (agentic AI wave) |
+ | 28 | join- | Call-to-action | 0 | community invite |
+ | 29 | every- | Scale & depth | 0 | universality (Everlane-like) |
- ### AI & agents
+ ## Suffix catalog — ranked
- | Affix | Feel · exemplars |
- |---|---|
- | ai- | AI-native signal (AI21) |
- | chat- | conversational (ChatGPT) |
- | agent- | autonomous doer (Agentforce) |
- | agentic- | agent-native workflows (agentic AI wave) |
+ | # | Affix | Category | Hot uses 2025–26 | Feel · exemplars |
+ |---|---|---|---|---|
+ | 1 | -labs | Tool & hub | 12 | R&D shop (Bell Labs) |
+ | 2 | -o | Vowel endings | 11 | punchy (Venmo) |
+ | 3 | -a | Vowel endings | 10 | smooth (Tesla, Zara) |
+ | 4 | -er | Doer | 4 | actor/agent (Uber, Tinder) |
+ | 5 | -ia | Vowel endings | 3 | name-like (Nvidia, Expedia) |
+ | 6 | -base | Tool & hub | 2 | foundation/platform (Coinbase, Firebase, Supabase) |
+ | 7 | -ly | Short & modern | 3 | SaaS all-rounder (Bitly, Calendly, Grammarly) |
+ | 8 | -r | Short & modern | 3 | drop-vowel web-2.0 (Tumblr, Flickr) |
+ | 9 | -us | Vowel endings | 4 | Latin gravitas (Prius) |
+ | 10 | -ify | Verbifier | 1 | turns the word into a service (Spotify, Shopify) |
+ | 11 | -kit | Tool & hub | 1 | toolkit (ConvertKit) |
+ | 12 | -bot | Companion | 1 | automated agent |
+ | 13 | -ora | Vowel endings | 1 | elegant Latin (Pandora) |
+ | 14 | -cast | Vertical positioning | 1 | media/broadcast (Podcast) |
+ | 15 | -verse | Stylized & meme | 1 | a whole universe (metaverse) |
+ | 16 | -app | Vertical positioning | 1 | application (Cash App) |
+ | 17 | -hub | Tool & hub | 0 | gathering point (GitHub) |
+ | 18 | -stack | Tool & hub | 0 | tech stack (Substack) |
+ | 19 | -or | Doer | 1 | mechanical (Vector) |
+ | 20 | -ee | Vowel endings | 1 | soft (Renee-like) |
+ | 21 | -box | Tool & hub | 0 | packaged tool (Dropbox) |
+ | 22 | -mate | Companion | 0 | sidekick (Mailmate) |
+ | 23 | -works | Tool & hub | 0 | workshop (SolidWorks) |
+ | 24 | -pal | Companion | 0 | trusted friend (PayPal) |
+ | 25 | -pad | Tool & hub | 0 | workspace (Launchpad) |
+ | 26 | -ize | Verbifier | 0 | systematize (Rentalize) |
+ | 27 | -ist | Doer | 0 | specialist (Stylist) |
+ | 28 | -space | Tool & hub | 0 | room to work (Squarespace) |
+ | 29 | -buddy | Companion | 0 | friendly helper (GasBuddy) |
+ | 30 | -ix | Vowel endings | 0 | techy (Netflix) |
+ | 31 | -matic | Stylized & meme | 0 | machine-magic (Instamatic) |
+ | 32 | -bay | Vertical positioning | 0 | marketplace (eBay) |
+ | 33 | -ex | Vowel endings | 0 | sharp, techy (FedEx) |
+ | 34 | -y | Short & modern | 0 | cute, casual (Etsy) |
+ | 35 | -ate | Verbifier | 0 | automate/activate (Automate) |
+ | 36 | -zilla | Stylized & meme | 0 | monster-big (Mozilla) |
+ | 37 | -oo | Vowel endings | 0 | round, cute (Yahoo) |
+ | 38 | -aroo | Stylized & meme | 0 | bouncy-cute (Kangaroo) |
## Rules
- **Live lookups only** — never claim availability from cached knowledge or prior turns of this conversation. Domains get registered between checks.
- **Only an explicit negative means available.** RDAP `404`, or WHOIS `DOMAIN NOT FOUND`. Anything else — `429`, `5xx`, a timeout, an empty body — is `UNKNOWN`, which is reported as unknown and never as free.
- **Use the bundled script rather than hand-rolled `curl`.** The per-TLD hosts, the `.co` WHOIS special case, and the `.app` retry loop are all easy to get wrong in a way that fails silently toward false-available.
- **The escalated TLD set is fixed**: `.com .net .org .ai .io .co .app .cc`. If the user wants a TLD outside it, check it explicitly and say the endpoint was not pre-verified.
- **No payment on the user's behalf.** Prompt them to register; they check out.