skills/domain-finder/SKILL.md
Use when searching for a domain name for a new web app or SaaS product. Finds popular keywords, analyzes competition to discover low-competition sub-niches, generates domain candidates with searchable words, and checks availability. Triggers on "find domain", "domain name", "pick a domain", "name for my app/site", or when launching a new web product.
npx skillsauth add taiberium/claude_code_setting domain-finderInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Find available domain names that contain popular search keywords for your niche.
Core principle: A good domain contains a word people already search for. Start from search demand, not from brainstorming random names.
Pipeline: Keyword Research -> Competition Analysis -> Niche Narrowing -> Domain Generation -> Availability Check -> Shortlist
digraph domain_flow {
rankdir=TB;
"1. Get niche/topic" [shape=box];
"2. Keyword Research" [shape=box];
"3. Competition Analysis" [shape=box];
"4. Find Low-Competition Sub-Niche" [shape=diamond];
"5. Generate Candidates" [shape=box];
"6. Check Availability" [shape=box];
"7. Score & Rank" [shape=box];
"8. Present Shortlist" [shape=doublecircle];
"1. Get niche/topic" -> "2. Keyword Research";
"2. Keyword Research" -> "3. Competition Analysis";
"3. Competition Analysis" -> "4. Find Low-Competition Sub-Niche";
"4. Find Low-Competition Sub-Niche" -> "5. Generate Candidates" [label="found"];
"4. Find Low-Competition Sub-Niche" -> "2. Keyword Research" [label="too crowded\nnarrow topic"];
"5. Generate Candidates" -> "6. Check Availability";
"6. Check Availability" -> "7. Score & Rank";
"7. Score & Rank" -> "8. Present Shortlist";
}
Ask the user:
Goal: Find the 10-20 most searched words/phrases people use when looking for this type of product.
Use WebSearch to research keyword popularity:
Search queries to run (adapt to niche):
1. "most popular search terms for [niche] 2026"
2. "[niche] top keywords google trends"
3. "best keywords for [niche] website SEO"
4. "[niche] related searches google"
5. "people also ask [niche]"
6. "[competitor1] vs [competitor2]" (to find category terms)
Extract from results:
Organize keywords into tiers:
| Tier | Type | Example (fasting niche) | |------|------|------------------------| | A | Core niche word | fast, fasting, timer | | B | Action verb | track, start, plan | | C | Benefit/emotion | lean, clean, free, zen | | D | Modifier | my, go, get, hey, try |
Goal: Understand how crowded the niche is and find underserved angles where you can rank.
3a. Map the competitive landscape:
Use WebSearch to run:
1. "[niche] app" OR "[niche] tool" — count how many established players exist
2. "[niche keyword]" — check Google SERP: who ranks on page 1?
3. "best [niche] apps 2026" — see listicles, count competitors
4. "[niche] alternatives" OR "[niche] reddit" — what do users complain about?
5. site:producthunt.com "[niche]" — how many PH launches in this space?
3b. Assess competition level per keyword:
| Signal | Low Competition | High Competition | |--------|----------------|------------------| | Google page 1 | Small blogs, forums, indie sites | Big brands (Apple, Google, Forbes) | | Domain age of top results | <3 years | 10+ years, high DA | | Listicle count | 0-2 "best X" articles | 10+ SEO-optimized listicles | | ProductHunt launches | <5 in niche | 20+ with traction | | App Store/Play Store | <10 direct competitors | 50+ with reviews | | Reddit/forum mentions | Few threads, unresolved complaints | Saturated, well-served |
3c. Identify competition gaps:
Look for patterns in user complaints and underserved angles:
Search queries:
1. "[niche] sucks" OR "[niche] alternative" reddit
2. "[competitor] complaints" OR "[competitor] missing features"
3. "[niche] for [specific audience]" — e.g., "fasting for women", "budgeting for freelancers"
4. "[niche] [geography]" — e.g., "meal planning UK", "tax calculator Germany"
5. "[niche] [use case]" — e.g., "habit tracker for ADHD", "project management for solopreneurs"
Record findings in this format:
| Keyword | Search Volume | Competition | Gap/Angle | |---------|--------------|-------------|-----------| | fasting app | HIGH | HIGH | Saturated — Zero, Fastic, Simple dominate | | fasting timer | MEDIUM | MEDIUM | Less saturated than "app" | | intermittent fasting tracker | MEDIUM | HIGH | Lots of content, hard to rank | | fasting for women | MEDIUM | LOW | Underserved, specific audience | | fasting zone tracker | LOW | VERY LOW | Novel concept, no direct competitors |
Goal: Narrow down to a sub-niche where your domain can realistically rank on page 1.
The Sweet Spot Formula:
IDEAL KEYWORD = decent search volume + low competition + clear intent + available domains
Narrowing strategies (from broad to specific):
| Strategy | Example | Why it works | |----------|---------|-------------| | Audience niche | "fasting" -> "fasting for women" | Smaller but loyal audience, less competition | | Method niche | "budgeting" -> "envelope budgeting" | Specific methodology = specific searchers | | Problem niche | "productivity" -> "ADHD productivity" | Pain-point driven, high intent | | Format niche | "recipes" -> "5-ingredient recipes" | Constraint = differentiation | | Geography niche | "tax calculator" -> "tax calculator UK" | Local = less global competition | | Combo niche | "habit tracker" -> "habit tracker for couples" | Intersect two niches = blue ocean |
Decision gate:
IF all keywords show HIGH competition:
-> Narrow the niche (add audience/method/problem modifier)
-> Go back to Step 2 with the narrower topic
-> Repeat until you find a keyword cluster with LOW-MEDIUM competition
IF you find 3+ keywords with LOW-MEDIUM competition:
-> Proceed to domain generation using THESE keywords (not the broad ones)
Red flags — niche is too narrow:
Green flags — good sub-niche:
Use keywords from your low-competition sub-niche (Step 4), NOT the broad niche keywords.
Combine keywords using these patterns:
| Pattern | Formula | Example |
|---------|---------|---------|
| Verb + Noun | action + niche | shipcode.dev |
| Modifier + Noun | prefix + niche | gofasting.com |
| Noun + Verb | niche + action | fasttrack.io |
| Noun + Benefit | niche + emotion | fastzen.com |
| Compound | word1 + word2 | mealtimer.app |
| Play on words | pun/rhyme | fasthero.com |
| Prefix + Root | try/get/my + word | tryfasting.com |
Rules for good domain names:
Generate 30-50 candidates across patterns.
For each candidate, verify availability using these methods (in order of reliability):
Method 1: WHOIS via Bash (most reliable)
# Check single domain
whois example.com | grep -i "no match\|not found\|available\|no entries"
# If whois is not installed, use:
nslookup example.com | grep -i "NXDOMAIN"
# NXDOMAIN = likely available (no DNS record), but not 100% proof
Method 2: WebSearch for registrar check
Search: "example.com" site:who.is
Search: "example.com domain availability"
Method 3: DNS probe via Bash
# Quick batch check - no DNS = likely available
for domain in fastzen.com gofasting.io tryfasting.app; do
echo -n "$domain: "
dig +short "$domain" A | head -1 || echo "NO RECORD"
done
Important caveats:
Rate each available domain on these criteria:
| Criteria | Weight | Score 1-5 | |----------|--------|-----------| | Low competition for keyword | 25% | VERY LOW = 5, LOW = 4, MEDIUM = 3, HIGH = 2, VERY HIGH = 1 | | Contains searchable keyword | 20% | How popular is the keyword? | | Length (shorter = better) | 15% | <8 chars = 5, 8-10 = 4, 10-12 = 3, 12+ = 2 | | Memorability | 15% | Radio test: easy to spell when heard? | | Brandability | 10% | Can you build a brand around it? | | TLD quality | 10% | .com = 5, .io/.app/.dev = 4, .co = 3, others = 2 | | Niche specificity | 5% | Generic = 1, sub-niche specific = 5 |
Weighted score = sum(weight * score)
Present top 5-10 domains as a ranked table:
| # | Domain | Score | Sub-Niche | Competition | Why |
|---|--------|-------|-----------|-------------|-----|
| 1 | fastzone.app | 4.5 | fasting zones | LOW | Novel concept, no direct competitors, .app fits |
| 2 | herfasting.com | 4.3 | fasting for women | LOW | Underserved audience, .com, clear positioning |
| 3 | fastzen.com | 4.0 | mindful fasting | MEDIUM | Short, memorable, .com available |
Include:
Always end with: "Verify availability on a registrar (Namecheap/Cloudflare/Porkbun) before purchasing - results may have changed since this check."
| Mistake | Fix | |---------|-----| | Targeting high-competition keywords | A domain with "fasting" competes with Zero/Fastic. "fastzone" competes with nobody | | Starting with brainstorming names | Start with keyword research - data before creativity | | Ignoring the "radio test" | Say it aloud. If you need to spell it, it's bad | | Chasing .com only | .io, .app, .dev are legitimate for tech products | | Too clever/abstract | "zyxira.com" means nothing and ranks for nothing | | Skipping trademark check | Search USPTO/EUIPO before committing | | Domain too long | If you can't fit it in a tweet handle, it's too long |
Best free keyword tools to search for:
Best registrars (by price):
TLD cheat sheet:
.com - default, highest trust, hardest to find available.io - tech/startups, well-recognized.app - mobile apps, requires HTTPS.dev - developers, requires HTTPS.co - short alternative to .com, some confusion risk.ai - AI products, trendy but expensive (~$80+/yr)tools
Generates multi-step onboarding flows with persistence for iOS/macOS apps. Use when user wants to add onboarding, welcome screens, or first-launch experience.
tools
Generates an offline operation queue with persistence, automatic retry on connectivity, and conflict resolution. Use when user needs offline-first behavior, queued mutations, or pending operations that sync when back online.
development
Generates offer code distribution strategies and configuration guides for subscription and IAP promotions — including partner campaigns, influencer programs, and email re-engagement. Use when setting up offer codes for distribution.
tools
Generates a protocol-based networking layer with async/await, error handling, and swappable implementations. Use when user wants to add API client, networking, or HTTP layer.