@fredcallagan/arn-spark 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +9 -0
- package/.opencode/plugins/arn-spark.js +272 -0
- package/package.json +17 -0
- package/plugins/arn-spark/.claude-plugin/plugin.json +9 -0
- package/plugins/arn-spark/LICENSE +21 -0
- package/plugins/arn-spark/README.md +25 -0
- package/plugins/arn-spark/agents/arn-spark-brand-strategist.md +299 -0
- package/plugins/arn-spark/agents/arn-spark-dev-env-builder.md +228 -0
- package/plugins/arn-spark/agents/arn-spark-doctor.md +92 -0
- package/plugins/arn-spark/agents/arn-spark-forensic-investigator.md +181 -0
- package/plugins/arn-spark/agents/arn-spark-market-researcher.md +232 -0
- package/plugins/arn-spark/agents/arn-spark-marketing-pm.md +225 -0
- package/plugins/arn-spark/agents/arn-spark-persona-architect.md +259 -0
- package/plugins/arn-spark/agents/arn-spark-persona-impersonator.md +183 -0
- package/plugins/arn-spark/agents/arn-spark-product-strategist.md +191 -0
- package/plugins/arn-spark/agents/arn-spark-prototype-builder.md +497 -0
- package/plugins/arn-spark/agents/arn-spark-scaffolder.md +228 -0
- package/plugins/arn-spark/agents/arn-spark-spike-runner.md +209 -0
- package/plugins/arn-spark/agents/arn-spark-style-capture.md +196 -0
- package/plugins/arn-spark/agents/arn-spark-tech-evaluator.md +229 -0
- package/plugins/arn-spark/agents/arn-spark-ui-interactor.md +235 -0
- package/plugins/arn-spark/agents/arn-spark-use-case-writer.md +280 -0
- package/plugins/arn-spark/agents/arn-spark-ux-judge.md +215 -0
- package/plugins/arn-spark/agents/arn-spark-ux-specialist.md +200 -0
- package/plugins/arn-spark/agents/arn-spark-visual-sketcher.md +285 -0
- package/plugins/arn-spark/agents/arn-spark-visual-test-engineer.md +224 -0
- package/plugins/arn-spark/references/copilot-tools.md +62 -0
- package/plugins/arn-spark/skills/arn-brainstorming/SKILL.md +520 -0
- package/plugins/arn-spark/skills/arn-brainstorming/references/add-feature-flow.md +155 -0
- package/plugins/arn-spark/skills/arn-spark-arch-vision/SKILL.md +226 -0
- package/plugins/arn-spark/skills/arn-spark-arch-vision/references/architecture-vision-template.md +153 -0
- package/plugins/arn-spark/skills/arn-spark-arch-vision/references/technology-evaluation-guide.md +86 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype/SKILL.md +471 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/clickable-prototype-criteria.md +65 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/journey-template.md +62 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/review-report-template.md +75 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/showcase-capture-guide.md +213 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype-teams/SKILL.md +642 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype-teams/references/debate-protocol.md +242 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype-teams/references/debate-review-report-template.md +161 -0
- package/plugins/arn-spark/skills/arn-spark-clickable-prototype-teams/references/expert-interaction-review-template.md +152 -0
- package/plugins/arn-spark/skills/arn-spark-concept-review/SKILL.md +350 -0
- package/plugins/arn-spark/skills/arn-spark-concept-review/references/conflict-resolution-protocol.md +145 -0
- package/plugins/arn-spark/skills/arn-spark-concept-review/references/review-report-template.md +185 -0
- package/plugins/arn-spark/skills/arn-spark-dev-setup/SKILL.md +366 -0
- package/plugins/arn-spark/skills/arn-spark-dev-setup/references/dev-setup-checklist.md +84 -0
- package/plugins/arn-spark/skills/arn-spark-dev-setup/references/dev-setup-template.md +205 -0
- package/plugins/arn-spark/skills/arn-spark-discover/SKILL.md +303 -0
- package/plugins/arn-spark/skills/arn-spark-discover/references/competitive-landscape-template.md +87 -0
- package/plugins/arn-spark/skills/arn-spark-discover/references/discovery-questions.md +120 -0
- package/plugins/arn-spark/skills/arn-spark-discover/references/persona-profile-template.md +97 -0
- package/plugins/arn-spark/skills/arn-spark-discover/references/product-concept-template.md +253 -0
- package/plugins/arn-spark/skills/arn-spark-ensure-config/SKILL.md +23 -0
- package/plugins/arn-spark/skills/arn-spark-ensure-config/references/ensure-config.md +388 -0
- package/plugins/arn-spark/skills/arn-spark-ensure-config/references/step-0-fast-path.md +25 -0
- package/plugins/arn-spark/skills/arn-spark-ensure-config/scripts/cache-check.sh +127 -0
- package/plugins/arn-spark/skills/arn-spark-feature-extract/SKILL.md +483 -0
- package/plugins/arn-spark/skills/arn-spark-feature-extract/references/feature-backlog-template.md +176 -0
- package/plugins/arn-spark/skills/arn-spark-feature-extract/references/feature-entry-template.md +209 -0
- package/plugins/arn-spark/skills/arn-spark-help/SKILL.md +149 -0
- package/plugins/arn-spark/skills/arn-spark-help/references/pipeline-map.md +211 -0
- package/plugins/arn-spark/skills/arn-spark-init/SKILL.md +312 -0
- package/plugins/arn-spark/skills/arn-spark-init/references/agent-models-presets/all-opus.md +23 -0
- package/plugins/arn-spark/skills/arn-spark-init/references/agent-models-presets/balanced.md +23 -0
- package/plugins/arn-spark/skills/arn-spark-init/references/bkt-setup.md +55 -0
- package/plugins/arn-spark/skills/arn-spark-init/references/jira-mcp-setup.md +61 -0
- package/plugins/arn-spark/skills/arn-spark-init/references/platform-labels.md +97 -0
- package/plugins/arn-spark/skills/arn-spark-naming/SKILL.md +275 -0
- package/plugins/arn-spark/skills/arn-spark-naming/references/creative-brief-template.md +146 -0
- package/plugins/arn-spark/skills/arn-spark-naming/references/naming-methodology.md +237 -0
- package/plugins/arn-spark/skills/arn-spark-naming/references/naming-report-template.md +122 -0
- package/plugins/arn-spark/skills/arn-spark-naming/references/trademark-databases.md +88 -0
- package/plugins/arn-spark/skills/arn-spark-naming/references/whois-server-map.md +164 -0
- package/plugins/arn-spark/skills/arn-spark-naming/scripts/whois-check.js +502 -0
- package/plugins/arn-spark/skills/arn-spark-naming/scripts/whois-check.py +533 -0
- package/plugins/arn-spark/skills/arn-spark-prototype-lock/SKILL.md +260 -0
- package/plugins/arn-spark/skills/arn-spark-prototype-lock/references/lock-report-template.md +68 -0
- package/plugins/arn-spark/skills/arn-spark-prototype-lock/references/pretooluse-hook-template.json +35 -0
- package/plugins/arn-spark/skills/arn-spark-prototype-lock/references/prototype-guardrail-rules.md +38 -0
- package/plugins/arn-spark/skills/arn-spark-report/SKILL.md +144 -0
- package/plugins/arn-spark/skills/arn-spark-report/references/issue-template.md +81 -0
- package/plugins/arn-spark/skills/arn-spark-report/references/spark-knowledge-base.md +293 -0
- package/plugins/arn-spark/skills/arn-spark-scaffold/SKILL.md +239 -0
- package/plugins/arn-spark/skills/arn-spark-scaffold/references/scaffold-checklist.md +79 -0
- package/plugins/arn-spark/skills/arn-spark-scaffold/references/scaffold-summary-template.md +74 -0
- package/plugins/arn-spark/skills/arn-spark-spike/SKILL.md +209 -0
- package/plugins/arn-spark/skills/arn-spark-spike/references/spike-report-template.md +123 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype/SKILL.md +362 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype/references/review-report-template.md +65 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype/references/showcase-capture-guide.md +153 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype/references/static-prototype-criteria.md +54 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype-teams/SKILL.md +518 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype-teams/references/debate-protocol.md +230 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype-teams/references/debate-review-report-template.md +148 -0
- package/plugins/arn-spark/skills/arn-spark-static-prototype-teams/references/expert-visual-review-template.md +130 -0
- package/plugins/arn-spark/skills/arn-spark-stress-competitive/SKILL.md +166 -0
- package/plugins/arn-spark/skills/arn-spark-stress-competitive/references/competitive-report-template.md +139 -0
- package/plugins/arn-spark/skills/arn-spark-stress-competitive/references/gap-analysis-framework.md +111 -0
- package/plugins/arn-spark/skills/arn-spark-stress-interview/SKILL.md +257 -0
- package/plugins/arn-spark/skills/arn-spark-stress-interview/references/interview-protocol.md +140 -0
- package/plugins/arn-spark/skills/arn-spark-stress-interview/references/interview-report-template.md +165 -0
- package/plugins/arn-spark/skills/arn-spark-stress-interview/references/persona-casting-spec.md +138 -0
- package/plugins/arn-spark/skills/arn-spark-stress-premortem/SKILL.md +181 -0
- package/plugins/arn-spark/skills/arn-spark-stress-premortem/references/premortem-protocol.md +112 -0
- package/plugins/arn-spark/skills/arn-spark-stress-premortem/references/premortem-report-template.md +158 -0
- package/plugins/arn-spark/skills/arn-spark-stress-prfaq/SKILL.md +206 -0
- package/plugins/arn-spark/skills/arn-spark-stress-prfaq/references/prfaq-report-template.md +139 -0
- package/plugins/arn-spark/skills/arn-spark-stress-prfaq/references/prfaq-workflow.md +118 -0
- package/plugins/arn-spark/skills/arn-spark-style-explore/SKILL.md +281 -0
- package/plugins/arn-spark/skills/arn-spark-style-explore/references/style-brief-template.md +198 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases/SKILL.md +359 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases/references/expert-review-template.md +94 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases/references/review-protocol.md +150 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases/references/use-case-index-template.md +108 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases/references/use-case-template.md +125 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases-teams/SKILL.md +306 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases-teams/references/debate-protocol.md +272 -0
- package/plugins/arn-spark/skills/arn-spark-use-cases-teams/references/review-report-template.md +112 -0
- package/plugins/arn-spark/skills/arn-spark-visual-readiness/SKILL.md +293 -0
- package/plugins/arn-spark/skills/arn-spark-visual-readiness/references/readiness-checklist.md +196 -0
- package/plugins/arn-spark/skills/arn-spark-visual-sketch/SKILL.md +376 -0
- package/plugins/arn-spark/skills/arn-spark-visual-sketch/references/aesthetic-philosophy.md +210 -0
- package/plugins/arn-spark/skills/arn-spark-visual-sketch/references/sketch-gallery-guide.md +282 -0
- package/plugins/arn-spark/skills/arn-spark-visual-sketch/references/visual-direction-template.md +174 -0
- package/plugins/arn-spark/skills/arn-spark-visual-strategy/SKILL.md +447 -0
- package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/baseline-capture-script-template.js +89 -0
- package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/journey-schema.md +375 -0
- package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/spike-checklist.md +122 -0
- package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/strategy-layers-guide.md +132 -0
- package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/visual-strategy-template.md +141 -0
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
# Brand Naming Methodology
|
|
2
|
+
|
|
3
|
+
## The Four Steps
|
|
4
|
+
|
|
5
|
+
### Step 1: Strategic Foundation (Brand DNA)
|
|
6
|
+
|
|
7
|
+
**Goal:** Define the naming "North Star" — the strategic constraints that shape every name candidate.
|
|
8
|
+
|
|
9
|
+
**Inputs:** Product context (vision, value proposition, target audience, product pillars, competitive landscape), target market/country.
|
|
10
|
+
|
|
11
|
+
**Process:**
|
|
12
|
+
1. Analyze the target audience's vocabulary, communication style, and expectations
|
|
13
|
+
2. Distill the value proposition into a single differentiating statement
|
|
14
|
+
3. Profile the brand personality using archetypes (e.g., "The Reliable Expert," "The Rebellious Newcomer," "The Friendly Guide")
|
|
15
|
+
4. Research competitor name landscape — identify naming patterns in the space (are most names descriptive? evocative? invented?)
|
|
16
|
+
5. Recommend naming categories based on personality, audience, and competitive whitespace
|
|
17
|
+
6. Collect user seeds: existing ideas, loved words, hated words
|
|
18
|
+
|
|
19
|
+
**Output:** Creative brief (naming-brief.md with Context and Brand DNA sections)
|
|
20
|
+
|
|
21
|
+
### Step 2: Creative Sprint (The Big List)
|
|
22
|
+
|
|
23
|
+
**Goal:** Maximum volume of candidates. Quality filtering comes later.
|
|
24
|
+
|
|
25
|
+
**Inputs:** Creative brief, selected naming categories, user seeds.
|
|
26
|
+
|
|
27
|
+
**Process:**
|
|
28
|
+
- Round 1 (Seed harvest): Process user's existing ideas and preferences as starting points
|
|
29
|
+
- Round 2 (Category sprints): Generate 50-80 candidates per selected category using generation techniques
|
|
30
|
+
- Round 3 (Mashup round): Cross-pollinate fragments — combine prefixes from one candidate with suffixes from another, blend concepts across categories
|
|
31
|
+
- Round 4 (User checkpoint): Present all candidates organized by category for user starring and direction-killing
|
|
32
|
+
|
|
33
|
+
**Target:** 200+ candidates across all rounds.
|
|
34
|
+
|
|
35
|
+
**Output:** Updated naming-brief.md with Creative Sprint Results section.
|
|
36
|
+
|
|
37
|
+
### Step 3: Qualitative Filter (Six Senses)
|
|
38
|
+
|
|
39
|
+
**Goal:** Reduce the big list to a shortlist of scored, evaluated candidates.
|
|
40
|
+
|
|
41
|
+
**Inputs:** Full candidate list, user-starred favorites, dead directions.
|
|
42
|
+
|
|
43
|
+
**Process:**
|
|
44
|
+
- Pass 1: Quick filter from 200+ to 30-40 (remove obvious duds, unpronounceable names, too-similar pairs)
|
|
45
|
+
- Pass 2: Score each of the 30-40 on the Six Senses Framework (see below). Present scored table.
|
|
46
|
+
- User selects 5-8 finalists for due diligence.
|
|
47
|
+
|
|
48
|
+
**Output:** Updated naming-brief.md with Qualitative Filter Results section.
|
|
49
|
+
|
|
50
|
+
### Step 4: Cold Shower (Due Diligence)
|
|
51
|
+
|
|
52
|
+
**Goal:** Validate finalists against real-world constraints before committing.
|
|
53
|
+
|
|
54
|
+
**Inputs:** 5-8 finalist names, target market/country, industry.
|
|
55
|
+
|
|
56
|
+
**Process:**
|
|
57
|
+
- Domain availability check (WHOIS)
|
|
58
|
+
- Trademark screening (websearch + database URLs)
|
|
59
|
+
- Linguistic screening (multilingual connotation check)
|
|
60
|
+
- Social media handle check
|
|
61
|
+
|
|
62
|
+
**Output:** Updated naming-brief.md with Due Diligence and Final Decision sections. Naming report written to reports directory.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## The Six Senses Framework
|
|
67
|
+
|
|
68
|
+
Six lenses for evaluating brand name quality. Each scored 1-5.
|
|
69
|
+
|
|
70
|
+
### 1. Appearance (Visual Punch)
|
|
71
|
+
|
|
72
|
+
How the name looks on screen, in print, on an app icon.
|
|
73
|
+
|
|
74
|
+
| Score | Criteria |
|
|
75
|
+
|-------|----------|
|
|
76
|
+
| 1 | Visually cluttered, awkward letter combinations, too long (>10 characters) |
|
|
77
|
+
| 2 | Passable but forgettable visually, some awkward letter pairs |
|
|
78
|
+
| 3 | Clean and readable, reasonable length (7-8 characters) |
|
|
79
|
+
| 4 | Visually balanced, good letter variety, compact (5-6 characters) |
|
|
80
|
+
| 5 | Striking on sight, elegant letter shapes, perfect length (4-6 characters), logo-friendly |
|
|
81
|
+
|
|
82
|
+
**Key questions:** Does it look good in a URL bar? On a mobile app icon? In a logo? How many characters?
|
|
83
|
+
|
|
84
|
+
### 2. Sound (Euphony)
|
|
85
|
+
|
|
86
|
+
How the name sounds when spoken aloud.
|
|
87
|
+
|
|
88
|
+
| Score | Criteria |
|
|
89
|
+
|-------|----------|
|
|
90
|
+
| 1 | Tongue-twister, harsh consonant clusters, hard to pronounce |
|
|
91
|
+
| 2 | Pronounceable but unpleasant rhythm, ambiguous pronunciation |
|
|
92
|
+
| 3 | Sounds fine, clear pronunciation, no stumbling |
|
|
93
|
+
| 4 | Pleasant to say, good rhythm, natural stress pattern |
|
|
94
|
+
| 5 | Euphonious (delightful to say), musical quality, passes the Phone Test without spelling |
|
|
95
|
+
|
|
96
|
+
**Phone Test:** Say the name to someone over the phone. Can they write it correctly without asking for spelling? If yes, it passes.
|
|
97
|
+
|
|
98
|
+
### 3. Meaning (Associations)
|
|
99
|
+
|
|
100
|
+
What the name triggers in the listener's mind.
|
|
101
|
+
|
|
102
|
+
| Score | Criteria |
|
|
103
|
+
|-------|----------|
|
|
104
|
+
| 1 | Wrong associations, confusing, or generic to the point of meaninglessness |
|
|
105
|
+
| 2 | Weak or irrelevant associations, requires explanation |
|
|
106
|
+
| 3 | Neutral — no negative associations, some positive potential |
|
|
107
|
+
| 4 | Evokes the right mental image, hints at the product's purpose or personality |
|
|
108
|
+
| 5 | Rich associations that reinforce the brand story (like Tesla = electricity + innovation + history) |
|
|
109
|
+
|
|
110
|
+
**Key questions:** What does someone picture when they hear this name for the first time? Does it align with the product's brand personality?
|
|
111
|
+
|
|
112
|
+
### 4. Memorability (Stickiness)
|
|
113
|
+
|
|
114
|
+
How well the name lodges in memory after a single exposure.
|
|
115
|
+
|
|
116
|
+
| Score | Criteria |
|
|
117
|
+
|-------|----------|
|
|
118
|
+
| 1 | Instantly forgettable, blends with similar-sounding names |
|
|
119
|
+
| 2 | Might remember it with effort, no hooks |
|
|
120
|
+
| 3 | Reasonably memorable, standard pattern |
|
|
121
|
+
| 4 | Sticky — uses alliteration, rhyme, or surprise to anchor in memory |
|
|
122
|
+
| 5 | Unforgettable after one hearing (like Coca-Cola's alliterative rhythm or Uber's brevity) |
|
|
123
|
+
|
|
124
|
+
**The Morning-After Test:** If someone hears the name once at dinner, can they recall it the next morning?
|
|
125
|
+
|
|
126
|
+
### 5. Function (Real-World Utility)
|
|
127
|
+
|
|
128
|
+
How the name performs in practical, everyday contexts.
|
|
129
|
+
|
|
130
|
+
| Score | Criteria |
|
|
131
|
+
|-------|----------|
|
|
132
|
+
| 1 | Hard to type, impossible to verbalize as an action, doesn't fit on a small icon |
|
|
133
|
+
| 2 | Awkward to type or spell, clumsy in conversation |
|
|
134
|
+
| 3 | Works fine in all practical contexts, no friction |
|
|
135
|
+
| 4 | Easy to type on mobile, natural as a verb ("let me [name] that"), clean as a handle |
|
|
136
|
+
| 5 | Frictionless everywhere — types fast, verbs naturally, looks clean as @handle, fits a favicon |
|
|
137
|
+
|
|
138
|
+
**Key questions:** Can it be used as a verb? Is it easy to type on a mobile keyboard? Does `@name` work as a social handle? Does it fit on a 16x16 favicon?
|
|
139
|
+
|
|
140
|
+
### 6. Scalability (Growth Headroom)
|
|
141
|
+
|
|
142
|
+
Whether the name constrains or enables future product evolution.
|
|
143
|
+
|
|
144
|
+
| Score | Criteria |
|
|
145
|
+
|-------|----------|
|
|
146
|
+
| 1 | Locks the product into a specific feature, market, or technology that may change |
|
|
147
|
+
| 2 | Somewhat limiting — works for v1 but would feel awkward if the product expanded |
|
|
148
|
+
| 3 | Neutral — doesn't constrain but doesn't actively enable expansion |
|
|
149
|
+
| 4 | Flexible enough to cover adjacent markets or features without rebranding |
|
|
150
|
+
| 5 | Name is a platform — could encompass an entire ecosystem (like Amazon expanding from books to everything) |
|
|
151
|
+
|
|
152
|
+
**Key questions:** If the product adds a major new feature, does the name still work? If it enters a new market segment? If it becomes a platform?
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Naming Categories
|
|
157
|
+
|
|
158
|
+
### Descriptive
|
|
159
|
+
Names that literally describe what the product does.
|
|
160
|
+
|
|
161
|
+
**Examples:** PayPal, General Motors, YouTube, Dropbox, Salesforce
|
|
162
|
+
|
|
163
|
+
**Strengths:** Instant clarity, low marketing spend to explain, good for B2B
|
|
164
|
+
**Weaknesses:** Can feel boring, hard to trademark (common words), limits scalability
|
|
165
|
+
**Generation techniques:** Core function words, benefit statements, action + object combinations
|
|
166
|
+
**Best for:** Products where clarity matters more than mystique; enterprise/B2B; utility tools
|
|
167
|
+
|
|
168
|
+
### Evocative
|
|
169
|
+
Names that suggest a feeling, atmosphere, or metaphor rather than a literal description.
|
|
170
|
+
|
|
171
|
+
**Examples:** Patagonia, Amazon, Nike, Slack, Notion, Asana
|
|
172
|
+
|
|
173
|
+
**Strengths:** Emotional resonance, strong brand storytelling, highly memorable, good scalability
|
|
174
|
+
**Weaknesses:** Requires more marketing to establish the connection, meaning may be obscure initially
|
|
175
|
+
**Generation techniques:** Metaphors, nature words, mythological references, emotional states, journey/destination words, abstract concepts that map to the product's personality
|
|
176
|
+
**Best for:** Consumer products, lifestyle brands, products with a strong personality or mission
|
|
177
|
+
|
|
178
|
+
### Invented / Abstract
|
|
179
|
+
Completely new words with no prior dictionary meaning.
|
|
180
|
+
|
|
181
|
+
**Examples:** Kodak, Google, Xerox, Spotify, Skype, Hulu
|
|
182
|
+
|
|
183
|
+
**Strengths:** Unique, highly trademarkable, no prior associations to compete with, strong domain availability
|
|
184
|
+
**Weaknesses:** Requires high marketing budget to establish meaning, no inherent semantic cues
|
|
185
|
+
**Generation techniques:** Phoneme combination (choosing sounds that feel right), truncation + recombination, vowel/consonant pattern play, syllable blending from relevant roots, portmanteau of related concepts
|
|
186
|
+
**Best for:** Products aiming for category ownership, well-funded brands, products where uniqueness trumps immediate clarity
|
|
187
|
+
|
|
188
|
+
### Lexical
|
|
189
|
+
Names that use wordplay, puns, alliteration, rhyme, or creative spelling.
|
|
190
|
+
|
|
191
|
+
**Examples:** Dunkin' Donuts, Krispy Kreme, Pinterest (pin + interest), Groupon (group + coupon), Netflix (net + flicks), Flickr
|
|
192
|
+
|
|
193
|
+
**Strengths:** Fun and memorable, built-in hooks for memory, often feel approachable and playful
|
|
194
|
+
**Weaknesses:** Can feel unprofessional for serious products, puns may not translate across languages
|
|
195
|
+
**Generation techniques:** Alliterative pairs, rhyming combinations, portmanteau (blending two words), creative misspelling (dropping vowels, swapping letters), puns on industry terms
|
|
196
|
+
**Best for:** Consumer products, social/community platforms, products targeting younger demographics, anything where playfulness matches the brand personality
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Generation Techniques (Detail)
|
|
201
|
+
|
|
202
|
+
### Mind Mapping
|
|
203
|
+
Start with the product's core concept at the center. Branch into:
|
|
204
|
+
- Synonyms and near-synonyms
|
|
205
|
+
- Metaphors and analogies
|
|
206
|
+
- Emotional associations
|
|
207
|
+
- Sensory descriptions
|
|
208
|
+
- Related fields and domains
|
|
209
|
+
- Actions and outcomes
|
|
210
|
+
|
|
211
|
+
Each branch can spawn sub-branches. Aim for 3-4 levels deep.
|
|
212
|
+
|
|
213
|
+
### Thesaurus Mining
|
|
214
|
+
For each key concept word:
|
|
215
|
+
1. Look up synonyms in English
|
|
216
|
+
2. Look up Latin and Greek roots
|
|
217
|
+
3. Explore words in related semantic fields (not just synonyms)
|
|
218
|
+
4. Check archaic or poetic forms of the word
|
|
219
|
+
5. Look for words in other languages that capture the concept
|
|
220
|
+
|
|
221
|
+
### Word Hacking
|
|
222
|
+
Systematic transformation techniques:
|
|
223
|
+
- **Portmanteau:** Blend two words (Pinterest = pin + interest)
|
|
224
|
+
- **Truncation:** Shorten a word (Cisco from San Francisco)
|
|
225
|
+
- **Vowel removal:** Drop vowels (Flickr, Tumblr)
|
|
226
|
+
- **Suffix addition:** Add tech/brand suffixes (-ify, -ly, -io, -ia, -able, -ware, -hub)
|
|
227
|
+
- **Prefix addition:** Add aspirational prefixes (super-, ultra-, pro-, neo-, meta-)
|
|
228
|
+
- **Letter swap:** Change one letter for a different feel
|
|
229
|
+
- **Respelling:** Phonetic spelling of an existing word (Lyft)
|
|
230
|
+
|
|
231
|
+
### Etymology Exploration
|
|
232
|
+
Dig into word origins:
|
|
233
|
+
- Latin roots (often carry gravitas and universality)
|
|
234
|
+
- Greek roots (often associated with science, knowledge)
|
|
235
|
+
- Norse/Germanic roots (strength, reliability)
|
|
236
|
+
- Japanese/Sanskrit (harmony, mindfulness)
|
|
237
|
+
- Choose roots that map to the product's personality and values
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Naming Report
|
|
2
|
+
|
|
3
|
+
> **Instructions:** This report is the final deliverable from the naming process. Every section MUST appear. Replace all bracketed placeholders. Write to `<reports-dir>/naming-report.md`.
|
|
4
|
+
|
|
5
|
+
**Product:** [Product name or working title]
|
|
6
|
+
**Date:** [ISO 8601]
|
|
7
|
+
**Methodology:** 4-Step Brand Naming (Strategic Foundation → Creative Sprint → Qualitative Filter → Due Diligence)
|
|
8
|
+
**Target market:** [Country/region]
|
|
9
|
+
**Naming categories explored:** [Category list]
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Executive Summary
|
|
14
|
+
|
|
15
|
+
[3-5 sentences: how many candidates were generated, what categories were explored, how many survived each filter stage, the final recommendation and key rationale. This should be readable as a standalone summary.]
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Creative Brief Summary
|
|
20
|
+
|
|
21
|
+
- **Brand personality:** [1-sentence personality profile]
|
|
22
|
+
- **Key differentiator:** [The value proposition that shaped naming direction]
|
|
23
|
+
- **Competitor naming pattern:** [1-sentence summary of how competitors name themselves]
|
|
24
|
+
- **Categories selected:** [List with brief rationale]
|
|
25
|
+
- **User direction:** [Key preferences or constraints from the user]
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Generation Statistics
|
|
30
|
+
|
|
31
|
+
| Category | Round 1 (Seeds) | Round 2 (Sprint) | Round 3 (Mashup) | Total |
|
|
32
|
+
|----------|----------------|-------------------|-------------------|-------|
|
|
33
|
+
| [Category 1] | [N] | [N] | [N] | [N] |
|
|
34
|
+
| [Category 2] | [N] | [N] | [N] | [N] |
|
|
35
|
+
| **Total** | **[N]** | **[N]** | **[N]** | **[N]** |
|
|
36
|
+
|
|
37
|
+
**Pass 1 filter:** [N] candidates → [N] shortlisted (top [X]%)
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Qualitative Filter: Six Senses Scored Table
|
|
42
|
+
|
|
43
|
+
Finalists only. Scored 1-5 per sense, total 6-30.
|
|
44
|
+
|
|
45
|
+
| Rank | Name | Appear. | Sound | Meaning | Memory | Function | Scale | Total |
|
|
46
|
+
|------|------|---------|-------|---------|--------|----------|-------|-------|
|
|
47
|
+
| 1 | [name] | [1-5] | [1-5] | [1-5] | [1-5] | [1-5] | [1-5] | [/30] |
|
|
48
|
+
| 2 | [name] | [1-5] | [1-5] | [1-5] | [1-5] | [1-5] | [1-5] | [/30] |
|
|
49
|
+
| ... | | | | | | | | |
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Due Diligence Matrix
|
|
54
|
+
|
|
55
|
+
### Domain Availability
|
|
56
|
+
|
|
57
|
+
| Name | .com | .io | .co | .dev | .app | .ai |
|
|
58
|
+
|------|------|-----|-----|------|------|-----|
|
|
59
|
+
| [name] | [Available ✓ / Taken ✗ / Unknown ?] | | | | | |
|
|
60
|
+
|
|
61
|
+
**Method:** [RDAP (primary) / WHOIS port-43 (fallback) / System whois / Manual check]
|
|
62
|
+
**Date checked:** [ISO 8601]
|
|
63
|
+
**Notes:** [Per-domain method used (from script `method` field), any partial results due to rate limiting, RDAP-only TLDs]
|
|
64
|
+
|
|
65
|
+
### Trademark Screening
|
|
66
|
+
|
|
67
|
+
| Name | Automated Search | Risk Level | Notes |
|
|
68
|
+
|------|-----------------|-----------|-------|
|
|
69
|
+
| [name] | [Summary] | [Clear / Caution / Conflict] | [Details] |
|
|
70
|
+
|
|
71
|
+
**Databases recommended for manual check:** [URLs based on target market]
|
|
72
|
+
|
|
73
|
+
### Linguistic Screening
|
|
74
|
+
|
|
75
|
+
| Name | Languages Checked | Issues Found |
|
|
76
|
+
|------|------------------|-------------|
|
|
77
|
+
| [name] | [Language list] | [None / Description] |
|
|
78
|
+
|
|
79
|
+
### Social Media Handles
|
|
80
|
+
|
|
81
|
+
| Name | X / Twitter | Instagram | GitHub |
|
|
82
|
+
|------|-----------|-----------|--------|
|
|
83
|
+
| [name] | [✓ / ✗ / ?] | [✓ / ✗ / ?] | [✓ / ✗ / ?] |
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Final Recommendation
|
|
88
|
+
|
|
89
|
+
### Chosen Name: **[Name]**
|
|
90
|
+
|
|
91
|
+
**Rationale:** [2-3 sentences — reference Six Senses scores, due diligence results, brand DNA alignment, and competitive differentiation.]
|
|
92
|
+
|
|
93
|
+
**Six Senses total:** [N]/30
|
|
94
|
+
**Domain status:** [Summary]
|
|
95
|
+
**Trademark status:** [Summary]
|
|
96
|
+
**Linguistic status:** [Clear / Flagged items]
|
|
97
|
+
|
|
98
|
+
### Runner-Ups (Ordered)
|
|
99
|
+
|
|
100
|
+
1. **[Name]** ([N]/30) — [Brief rationale for runner-up position]
|
|
101
|
+
2. **[Name]** ([N]/30) — [Brief rationale]
|
|
102
|
+
3. **[Name]** ([N]/30) — [Brief rationale]
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## All Candidates
|
|
107
|
+
|
|
108
|
+
Full candidate list organized by category, preserved for future reference or second-pass evaluation.
|
|
109
|
+
|
|
110
|
+
### [Category 1]
|
|
111
|
+
|
|
112
|
+
[Numbered list]
|
|
113
|
+
|
|
114
|
+
### [Category 2]
|
|
115
|
+
|
|
116
|
+
[Numbered list]
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Disclaimer
|
|
121
|
+
|
|
122
|
+
This report contains preliminary screening results for informational purposes. Domain availability and trademark status are point-in-time snapshots and may change. **Consult a qualified trademark attorney before committing to a brand name for commercial use.** This report does not constitute legal advice.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Trademark Databases by Country/Region
|
|
2
|
+
|
|
3
|
+
## Database Directory
|
|
4
|
+
|
|
5
|
+
### United States — USPTO TESS
|
|
6
|
+
|
|
7
|
+
- **URL:** https://tmsearch.uspto.gov/
|
|
8
|
+
- **Coverage:** US federal trademark registrations and pending applications
|
|
9
|
+
- **Search type:** Word mark search (exact and fuzzy)
|
|
10
|
+
- **Instructions:** Enter the brand name in the "Search Term" field. Select "Word Mark" as the search type. Review results for exact matches and phonetic equivalents in the same Nice Classification class.
|
|
11
|
+
- **Nice Classification:** Check the class(es) relevant to the product's industry. Common tech classes: 9 (software/hardware), 35 (advertising/business services), 38 (telecommunications), 42 (SaaS/technology services).
|
|
12
|
+
- **Note:** TESS searches only US trademarks. A clear US result does not guarantee clearance in other jurisdictions.
|
|
13
|
+
|
|
14
|
+
### European Union — EUIPO eSearch
|
|
15
|
+
|
|
16
|
+
- **URL:** https://euipo.europa.eu/eSearch/
|
|
17
|
+
- **Coverage:** EU-wide trademark registrations (EUTMs) covering all 27 member states
|
|
18
|
+
- **Search type:** Trademark search with text, image, and classification filters
|
|
19
|
+
- **Instructions:** Select "Trade marks" tab. Enter the brand name. Filter by Nice Classification. Review results for exact and similar marks.
|
|
20
|
+
- **Note:** An EUTM registration provides protection across all EU member states simultaneously.
|
|
21
|
+
|
|
22
|
+
### United Kingdom — IPO
|
|
23
|
+
|
|
24
|
+
- **URL:** https://www.gov.uk/search-for-trademark
|
|
25
|
+
- **Coverage:** UK trademark registrations (post-Brexit, separate from EU)
|
|
26
|
+
- **Instructions:** Enter the brand name. Review registered and pending marks. Check Nice Classification alignment.
|
|
27
|
+
- **Note:** Since Brexit, UK and EU trademarks are separate systems. Check both if targeting both markets.
|
|
28
|
+
|
|
29
|
+
### Global — WIPO Global Brand Database
|
|
30
|
+
|
|
31
|
+
- **URL:** https://branddb.wipo.int/
|
|
32
|
+
- **Coverage:** 70+ jurisdictions, Madrid System international registrations
|
|
33
|
+
- **Search type:** Text, image, and phonetic search
|
|
34
|
+
- **Instructions:** Enter the brand name in the search field. Use "Text" search for exact/similar word marks. Filter by designated countries and Nice Classification.
|
|
35
|
+
- **Important:** WIPO's terms of use prohibit automated querying. Use only for manual verification.
|
|
36
|
+
- **Note:** The Global Brand Database aggregates data from many national offices but may not be complete for all jurisdictions. Always verify critical results with the national office.
|
|
37
|
+
|
|
38
|
+
### Australia — IP Australia
|
|
39
|
+
|
|
40
|
+
- **URL:** https://search.ipaustralia.gov.au/trademarks/search/quick
|
|
41
|
+
- **Coverage:** Australian trademark registrations and applications
|
|
42
|
+
- **Instructions:** Enter the brand name in Quick Search. Review results for registered and pending marks in relevant classes.
|
|
43
|
+
|
|
44
|
+
### Canada — CIPO
|
|
45
|
+
|
|
46
|
+
- **URL:** https://ised-isde.canada.ca/cipo/trademark-search/srch
|
|
47
|
+
- **Coverage:** Canadian trademark registrations and applications
|
|
48
|
+
- **Instructions:** Enter the brand name. Search by "Trade-mark" type. Review results for similar marks.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Country-to-Database Mapping
|
|
53
|
+
|
|
54
|
+
| Target Market | Primary Database(s) | Also Check |
|
|
55
|
+
|--------------|--------------------|-----------:|
|
|
56
|
+
| United States | USPTO TESS | WIPO Global Brand Database |
|
|
57
|
+
| European Union | EUIPO eSearch | WIPO Global Brand Database |
|
|
58
|
+
| United Kingdom | IPO | EUIPO (if also targeting EU), WIPO |
|
|
59
|
+
| Global / Multiple | WIPO Global Brand Database | USPTO + EUIPO + IPO (for the three largest markets) |
|
|
60
|
+
| Australia | IP Australia | WIPO |
|
|
61
|
+
| Canada | CIPO | WIPO |
|
|
62
|
+
| Other | WIPO Global Brand Database | Country-specific office (search for "[country] trademark registry") |
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Nice Classification — Common Tech Classes
|
|
67
|
+
|
|
68
|
+
| Class | Description | Examples |
|
|
69
|
+
|-------|------------|---------|
|
|
70
|
+
| 9 | Computer software, hardware, mobile apps, downloadable content | SaaS products, mobile apps, desktop software |
|
|
71
|
+
| 35 | Advertising, business management, online retail services | Marketing platforms, e-commerce, analytics tools |
|
|
72
|
+
| 38 | Telecommunications, messaging, data transmission | Chat apps, video conferencing, communication tools |
|
|
73
|
+
| 42 | Scientific/technological services, SaaS, cloud computing, software development | Developer tools, cloud platforms, API services |
|
|
74
|
+
| 41 | Education, training, entertainment, publishing | EdTech, content platforms, gaming |
|
|
75
|
+
|
|
76
|
+
**Tip:** Most software products should check at least classes 9 and 42. If the product includes a marketplace or advertising component, also check class 35. If it involves communication, check class 38.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Search Best Practices
|
|
81
|
+
|
|
82
|
+
1. **Search for exact match AND phonetic equivalents.** "Lyft" and "Lift" are phonetically identical and could conflict.
|
|
83
|
+
2. **Check multiple Nice Classification classes.** A product may span several classes.
|
|
84
|
+
3. **Search for the name alone AND with common modifiers.** Check "Spark" and "SparkApp" and "Spark.io" separately.
|
|
85
|
+
4. **Look at both registered marks AND pending applications.** A pending application may block registration.
|
|
86
|
+
5. **Check word marks, not just logos.** A word mark registration covers the word regardless of styling.
|
|
87
|
+
6. **Remember that trademark rights are territorial.** A name clear in the US may be registered in the EU.
|
|
88
|
+
7. **Consider common-law (unregistered) trademarks.** Not all trademarks are registered. A websearch for the name + industry can surface unregistered usage.
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
# WHOIS & RDAP Server Map
|
|
2
|
+
|
|
3
|
+
The scripts use **RDAP as the primary lookup method** with port-43 WHOIS as a fallback. RDAP servers are discovered dynamically via the IANA bootstrap file (`https://data.iana.org/rdap/dns.json`) which covers 1,198+ TLDs. The WHOIS server map below is used only as a fallback when RDAP is unavailable for a TLD.
|
|
4
|
+
|
|
5
|
+
Since January 2025 (ICANN sunset), 374+ gTLDs have dropped port-43 WHOIS entirely. TLDs like `.dev`, `.app`, and `.land` are RDAP-only.
|
|
6
|
+
|
|
7
|
+
## TLD to WHOIS Server (Fallback)
|
|
8
|
+
|
|
9
|
+
| TLD | WHOIS Server | Port | Notes |
|
|
10
|
+
|-----|-------------|------|-------|
|
|
11
|
+
| `.com` | `whois.verisign-grs.com` | 43 | Also handles `.net` |
|
|
12
|
+
| `.net` | `whois.verisign-grs.com` | 43 | Same server as `.com` |
|
|
13
|
+
| `.org` | `whois.pir.org` | 43 | Public Interest Registry |
|
|
14
|
+
| `.io` | `whois.nic.io` | 43 | Popular for tech products |
|
|
15
|
+
| `.co` | `whois.registry.co` | 43 | Colombia ccTLD, used as generic. Note: `whois.nic.co` is NXDOMAIN — use `whois.registry.co` |
|
|
16
|
+
| `.dev` | — | — | **RDAP-only** (`pubapi.registry.google/rdap/`). No port-43 WHOIS server exists |
|
|
17
|
+
| `.app` | — | — | **RDAP-only** (`pubapi.registry.google/rdap/`). No port-43 WHOIS server exists |
|
|
18
|
+
| `.ai` | `whois.nic.ai` | 43 | Anguilla ccTLD, popular for AI products |
|
|
19
|
+
| `.me` | `whois.nic.me` | 43 | Montenegro ccTLD, used for personal brands |
|
|
20
|
+
| `.xyz` | `whois.nic.xyz` | 43 | Generic TLD |
|
|
21
|
+
| `.tech` | `whois.nic.tech` | 43 | Tech-focused TLD |
|
|
22
|
+
| `.so` | `whois.nic.so` | 43 | Somalia ccTLD |
|
|
23
|
+
| `.sh` | `whois.nic.sh` | 43 | Saint Helena ccTLD |
|
|
24
|
+
| `.to` | `whois.tonic.to` | 43 | Tonga ccTLD |
|
|
25
|
+
| `.gg` | `whois.gg` | 43 | Guernsey ccTLD |
|
|
26
|
+
| `.ly` | `whois.nic.ly` | 43 | Libya ccTLD, used for -ly names |
|
|
27
|
+
| `.is` | `whois.isnic.is` | 43 | Iceland ccTLD |
|
|
28
|
+
| `.fm` | `whois.nic.fm` | 43 | Micronesia ccTLD |
|
|
29
|
+
| `.tv` | `whois.nic.tv` | 43 | Tuvalu ccTLD, media use |
|
|
30
|
+
| `.cc` | `ccwhois.verisign-grs.com` | 43 | Cocos Islands ccTLD |
|
|
31
|
+
|
|
32
|
+
### Country-Code TLDs (Single-Part)
|
|
33
|
+
|
|
34
|
+
| TLD | WHOIS Server | Port | Notes |
|
|
35
|
+
|-----|-------------|------|-------|
|
|
36
|
+
| `.de` | `whois.denic.de` | 43 | Germany |
|
|
37
|
+
| `.fr` | `whois.nic.fr` | 43 | France |
|
|
38
|
+
| `.it` | `whois.nic.it` | 43 | Italy |
|
|
39
|
+
| `.es` | `whois.nic.es` | 43 | Spain |
|
|
40
|
+
| `.nl` | `whois.sidn.nl` | 43 | Netherlands |
|
|
41
|
+
| `.eu` | `whois.eu` | 43 | European Union |
|
|
42
|
+
| `.us` | `whois.nic.us` | 43 | United States |
|
|
43
|
+
| `.ca` | `whois.cira.ca` | 43 | Canada |
|
|
44
|
+
| `.br` | `whois.registro.br` | 43 | Brazil |
|
|
45
|
+
| `.jp` | `whois.jprs.jp` | 43 | Japan |
|
|
46
|
+
| `.in` | `whois.registry.in` | 43 | India |
|
|
47
|
+
| `.au` | `whois.auda.org.au` | 43 | Australia |
|
|
48
|
+
| `.pt` | `whois.dns.pt` | 43 | Portugal |
|
|
49
|
+
| `.pl` | `whois.dns.pl` | 43 | Poland |
|
|
50
|
+
| `.se` | `whois.iis.se` | 43 | Sweden |
|
|
51
|
+
| `.ch` | `whois.nic.ch` | 43 | Switzerland |
|
|
52
|
+
| `.at` | `whois.nic.at` | 43 | Austria |
|
|
53
|
+
| `.be` | `whois.dns.be` | 43 | Belgium |
|
|
54
|
+
| `.mx` | `whois.mx` | 43 | Mexico |
|
|
55
|
+
| `.ar` | `whois.nic.ar` | 43 | Argentina |
|
|
56
|
+
| `.cl` | `whois.nic.cl` | 43 | Chile |
|
|
57
|
+
| `.kr` | `whois.kr` | 43 | South Korea |
|
|
58
|
+
|
|
59
|
+
### Compound Country-Code TLDs
|
|
60
|
+
|
|
61
|
+
These have two-part TLD structures. The scripts check compound TLDs before single-part to ensure correct server routing (e.g., `example.com.br` → `com.br`, not `br`).
|
|
62
|
+
|
|
63
|
+
| TLD | WHOIS Server | Port | Notes |
|
|
64
|
+
|-----|-------------|------|-------|
|
|
65
|
+
| `.co.uk` | `whois.nic.uk` | 43 | United Kingdom |
|
|
66
|
+
| `.org.uk` | `whois.nic.uk` | 43 | United Kingdom |
|
|
67
|
+
| `.com.br` | `whois.registro.br` | 43 | Brazil |
|
|
68
|
+
| `.com.au` | `whois.auda.org.au` | 43 | Australia |
|
|
69
|
+
| `.co.jp` | `whois.jprs.jp` | 43 | Japan |
|
|
70
|
+
| `.co.in` | `whois.registry.in` | 43 | India |
|
|
71
|
+
| `.com.mx` | `whois.mx` | 43 | Mexico |
|
|
72
|
+
| `.com.ar` | `whois.nic.ar` | 43 | Argentina |
|
|
73
|
+
| `.co.kr` | `whois.kr` | 43 | South Korea |
|
|
74
|
+
| `.com.pt` | `whois.dns.pt` | 43 | Portugal |
|
|
75
|
+
|
|
76
|
+
## Target Market to Suggested TLDs
|
|
77
|
+
|
|
78
|
+
| Target Market | TLDs to Check |
|
|
79
|
+
|--------------|---------------|
|
|
80
|
+
| United States | `.com`, `.io`, `.co`, `.dev`, `.app`, `.ai`, `.us` |
|
|
81
|
+
| European Union | `.com`, `.io`, `.eu`, `.de`, `.fr`, `.it`, `.es`, `.nl` |
|
|
82
|
+
| United Kingdom | `.com`, `.io`, `.co.uk`, `.org.uk` |
|
|
83
|
+
| Brazil | `.com`, `.com.br` |
|
|
84
|
+
| Australia | `.com`, `.com.au`, `.io` |
|
|
85
|
+
| Canada | `.com`, `.ca`, `.io` |
|
|
86
|
+
| Japan | `.com`, `.jp`, `.co.jp` |
|
|
87
|
+
| India | `.com`, `.in`, `.co.in` |
|
|
88
|
+
| Global / Multiple | `.com`, `.io`, `.co`, `.dev`, `.app`, `.ai` + relevant local TLDs |
|
|
89
|
+
|
|
90
|
+
## RDAP (Primary Method)
|
|
91
|
+
|
|
92
|
+
RDAP (Registration Data Access Protocol) is the IETF standard replacement for port-43 WHOIS. It uses HTTPS and returns structured JSON:
|
|
93
|
+
- **HTTP 200** = domain is registered (taken). Response includes registrar, status, dates.
|
|
94
|
+
- **HTTP 404** = domain not found in registry (available).
|
|
95
|
+
- **HTTP 429** = rate limited (circuit breaker trigger).
|
|
96
|
+
|
|
97
|
+
The IANA bootstrap file at `https://data.iana.org/rdap/dns.json` maps 1,198+ TLDs to their RDAP endpoints. Scripts load this once at startup — no hardcoded RDAP map needed.
|
|
98
|
+
|
|
99
|
+
## Fallback for Unknown TLDs
|
|
100
|
+
|
|
101
|
+
For RDAP: the IANA bootstrap covers most TLDs. If a TLD is not in the bootstrap, the scripts fall through to port-43 WHOIS.
|
|
102
|
+
|
|
103
|
+
For port-43 WHOIS: query `whois.iana.org` with the TLD (e.g., send `example\r\n`). The response includes the authoritative WHOIS server under the "whois:" field. Some TLDs return an empty "whois:" field — these are RDAP-only.
|
|
104
|
+
|
|
105
|
+
## Availability Indicator Patterns
|
|
106
|
+
|
|
107
|
+
### Patterns Indicating AVAILABLE (domain not registered)
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
No match for
|
|
111
|
+
NOT FOUND
|
|
112
|
+
No entries found
|
|
113
|
+
No Data Found
|
|
114
|
+
Domain not found
|
|
115
|
+
No information available
|
|
116
|
+
Status: AVAILABLE
|
|
117
|
+
The queried object does not exist
|
|
118
|
+
No Object Found
|
|
119
|
+
DOMAIN NOT FOUND
|
|
120
|
+
is available for
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Patterns Indicating TAKEN (domain registered)
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
Domain Name:
|
|
127
|
+
Registrar:
|
|
128
|
+
Creation Date:
|
|
129
|
+
Registry Expiry Date:
|
|
130
|
+
Updated Date:
|
|
131
|
+
Name Server:
|
|
132
|
+
Registrant:
|
|
133
|
+
Status: ok
|
|
134
|
+
Status: clientTransferProhibited
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Ambiguous / Rate Limit Patterns
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
quota exceeded
|
|
141
|
+
rate limit
|
|
142
|
+
too many requests
|
|
143
|
+
Please try again later
|
|
144
|
+
Your request has been throttled
|
|
145
|
+
Connection limit reached
|
|
146
|
+
Access denied
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
When an ambiguous or rate limit response is received, the domain status should be reported as `null` (unknown) and the circuit breaker should activate.
|
|
150
|
+
|
|
151
|
+
## Known Rate Limit Policies
|
|
152
|
+
|
|
153
|
+
These are approximate and should be verified via websearch before each run:
|
|
154
|
+
|
|
155
|
+
| Server | Known Limit | Safe Delay |
|
|
156
|
+
|--------|-----------|-----------|
|
|
157
|
+
| `whois.verisign-grs.com` (.com/.net) | ~1 query/second per IP | 2s |
|
|
158
|
+
| `whois.pir.org` (.org) | Not published; conservative recommended | 3s |
|
|
159
|
+
| `whois.nic.io` (.io) | Aggressive limiting reported | 3s |
|
|
160
|
+
| `whois.nic.google` (.dev/.app) | Not published | 2s |
|
|
161
|
+
| `whois.nic.ai` (.ai) | Known for slow responses | 3s |
|
|
162
|
+
| General recommendation | 1-2 queries/second typical | 2-3s |
|
|
163
|
+
|
|
164
|
+
**Important:** Rate limits change. Before running batch queries, use websearch to check current policies for the target TLD's WHOIS server. The delay_seconds parameter should be set to the most conservative limit discovered across all target TLDs.
|