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 or...
Scanned 9/5/2026
Install to Claude Code
npx -y skills add soulmachine/skills --skill affix-domains --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Affix Domains?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/soulmachine-affix-domains)More formats (shields.io, HTML) on the badges page.
---
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 -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 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`, in catalog rank order (note each name's category).
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, 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.
## Catalog ranking
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.
## Prefix catalog — ranked
| # | 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) |
## Suffix catalog — ranked
| # | 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.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!