@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.
Files changed (130) hide show
  1. package/.claude-plugin/plugin.json +9 -0
  2. package/.opencode/plugins/arn-spark.js +272 -0
  3. package/package.json +17 -0
  4. package/plugins/arn-spark/.claude-plugin/plugin.json +9 -0
  5. package/plugins/arn-spark/LICENSE +21 -0
  6. package/plugins/arn-spark/README.md +25 -0
  7. package/plugins/arn-spark/agents/arn-spark-brand-strategist.md +299 -0
  8. package/plugins/arn-spark/agents/arn-spark-dev-env-builder.md +228 -0
  9. package/plugins/arn-spark/agents/arn-spark-doctor.md +92 -0
  10. package/plugins/arn-spark/agents/arn-spark-forensic-investigator.md +181 -0
  11. package/plugins/arn-spark/agents/arn-spark-market-researcher.md +232 -0
  12. package/plugins/arn-spark/agents/arn-spark-marketing-pm.md +225 -0
  13. package/plugins/arn-spark/agents/arn-spark-persona-architect.md +259 -0
  14. package/plugins/arn-spark/agents/arn-spark-persona-impersonator.md +183 -0
  15. package/plugins/arn-spark/agents/arn-spark-product-strategist.md +191 -0
  16. package/plugins/arn-spark/agents/arn-spark-prototype-builder.md +497 -0
  17. package/plugins/arn-spark/agents/arn-spark-scaffolder.md +228 -0
  18. package/plugins/arn-spark/agents/arn-spark-spike-runner.md +209 -0
  19. package/plugins/arn-spark/agents/arn-spark-style-capture.md +196 -0
  20. package/plugins/arn-spark/agents/arn-spark-tech-evaluator.md +229 -0
  21. package/plugins/arn-spark/agents/arn-spark-ui-interactor.md +235 -0
  22. package/plugins/arn-spark/agents/arn-spark-use-case-writer.md +280 -0
  23. package/plugins/arn-spark/agents/arn-spark-ux-judge.md +215 -0
  24. package/plugins/arn-spark/agents/arn-spark-ux-specialist.md +200 -0
  25. package/plugins/arn-spark/agents/arn-spark-visual-sketcher.md +285 -0
  26. package/plugins/arn-spark/agents/arn-spark-visual-test-engineer.md +224 -0
  27. package/plugins/arn-spark/references/copilot-tools.md +62 -0
  28. package/plugins/arn-spark/skills/arn-brainstorming/SKILL.md +520 -0
  29. package/plugins/arn-spark/skills/arn-brainstorming/references/add-feature-flow.md +155 -0
  30. package/plugins/arn-spark/skills/arn-spark-arch-vision/SKILL.md +226 -0
  31. package/plugins/arn-spark/skills/arn-spark-arch-vision/references/architecture-vision-template.md +153 -0
  32. package/plugins/arn-spark/skills/arn-spark-arch-vision/references/technology-evaluation-guide.md +86 -0
  33. package/plugins/arn-spark/skills/arn-spark-clickable-prototype/SKILL.md +471 -0
  34. package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/clickable-prototype-criteria.md +65 -0
  35. package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/journey-template.md +62 -0
  36. package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/review-report-template.md +75 -0
  37. package/plugins/arn-spark/skills/arn-spark-clickable-prototype/references/showcase-capture-guide.md +213 -0
  38. package/plugins/arn-spark/skills/arn-spark-clickable-prototype-teams/SKILL.md +642 -0
  39. package/plugins/arn-spark/skills/arn-spark-clickable-prototype-teams/references/debate-protocol.md +242 -0
  40. package/plugins/arn-spark/skills/arn-spark-clickable-prototype-teams/references/debate-review-report-template.md +161 -0
  41. package/plugins/arn-spark/skills/arn-spark-clickable-prototype-teams/references/expert-interaction-review-template.md +152 -0
  42. package/plugins/arn-spark/skills/arn-spark-concept-review/SKILL.md +350 -0
  43. package/plugins/arn-spark/skills/arn-spark-concept-review/references/conflict-resolution-protocol.md +145 -0
  44. package/plugins/arn-spark/skills/arn-spark-concept-review/references/review-report-template.md +185 -0
  45. package/plugins/arn-spark/skills/arn-spark-dev-setup/SKILL.md +366 -0
  46. package/plugins/arn-spark/skills/arn-spark-dev-setup/references/dev-setup-checklist.md +84 -0
  47. package/plugins/arn-spark/skills/arn-spark-dev-setup/references/dev-setup-template.md +205 -0
  48. package/plugins/arn-spark/skills/arn-spark-discover/SKILL.md +303 -0
  49. package/plugins/arn-spark/skills/arn-spark-discover/references/competitive-landscape-template.md +87 -0
  50. package/plugins/arn-spark/skills/arn-spark-discover/references/discovery-questions.md +120 -0
  51. package/plugins/arn-spark/skills/arn-spark-discover/references/persona-profile-template.md +97 -0
  52. package/plugins/arn-spark/skills/arn-spark-discover/references/product-concept-template.md +253 -0
  53. package/plugins/arn-spark/skills/arn-spark-ensure-config/SKILL.md +23 -0
  54. package/plugins/arn-spark/skills/arn-spark-ensure-config/references/ensure-config.md +388 -0
  55. package/plugins/arn-spark/skills/arn-spark-ensure-config/references/step-0-fast-path.md +25 -0
  56. package/plugins/arn-spark/skills/arn-spark-ensure-config/scripts/cache-check.sh +127 -0
  57. package/plugins/arn-spark/skills/arn-spark-feature-extract/SKILL.md +483 -0
  58. package/plugins/arn-spark/skills/arn-spark-feature-extract/references/feature-backlog-template.md +176 -0
  59. package/plugins/arn-spark/skills/arn-spark-feature-extract/references/feature-entry-template.md +209 -0
  60. package/plugins/arn-spark/skills/arn-spark-help/SKILL.md +149 -0
  61. package/plugins/arn-spark/skills/arn-spark-help/references/pipeline-map.md +211 -0
  62. package/plugins/arn-spark/skills/arn-spark-init/SKILL.md +312 -0
  63. package/plugins/arn-spark/skills/arn-spark-init/references/agent-models-presets/all-opus.md +23 -0
  64. package/plugins/arn-spark/skills/arn-spark-init/references/agent-models-presets/balanced.md +23 -0
  65. package/plugins/arn-spark/skills/arn-spark-init/references/bkt-setup.md +55 -0
  66. package/plugins/arn-spark/skills/arn-spark-init/references/jira-mcp-setup.md +61 -0
  67. package/plugins/arn-spark/skills/arn-spark-init/references/platform-labels.md +97 -0
  68. package/plugins/arn-spark/skills/arn-spark-naming/SKILL.md +275 -0
  69. package/plugins/arn-spark/skills/arn-spark-naming/references/creative-brief-template.md +146 -0
  70. package/plugins/arn-spark/skills/arn-spark-naming/references/naming-methodology.md +237 -0
  71. package/plugins/arn-spark/skills/arn-spark-naming/references/naming-report-template.md +122 -0
  72. package/plugins/arn-spark/skills/arn-spark-naming/references/trademark-databases.md +88 -0
  73. package/plugins/arn-spark/skills/arn-spark-naming/references/whois-server-map.md +164 -0
  74. package/plugins/arn-spark/skills/arn-spark-naming/scripts/whois-check.js +502 -0
  75. package/plugins/arn-spark/skills/arn-spark-naming/scripts/whois-check.py +533 -0
  76. package/plugins/arn-spark/skills/arn-spark-prototype-lock/SKILL.md +260 -0
  77. package/plugins/arn-spark/skills/arn-spark-prototype-lock/references/lock-report-template.md +68 -0
  78. package/plugins/arn-spark/skills/arn-spark-prototype-lock/references/pretooluse-hook-template.json +35 -0
  79. package/plugins/arn-spark/skills/arn-spark-prototype-lock/references/prototype-guardrail-rules.md +38 -0
  80. package/plugins/arn-spark/skills/arn-spark-report/SKILL.md +144 -0
  81. package/plugins/arn-spark/skills/arn-spark-report/references/issue-template.md +81 -0
  82. package/plugins/arn-spark/skills/arn-spark-report/references/spark-knowledge-base.md +293 -0
  83. package/plugins/arn-spark/skills/arn-spark-scaffold/SKILL.md +239 -0
  84. package/plugins/arn-spark/skills/arn-spark-scaffold/references/scaffold-checklist.md +79 -0
  85. package/plugins/arn-spark/skills/arn-spark-scaffold/references/scaffold-summary-template.md +74 -0
  86. package/plugins/arn-spark/skills/arn-spark-spike/SKILL.md +209 -0
  87. package/plugins/arn-spark/skills/arn-spark-spike/references/spike-report-template.md +123 -0
  88. package/plugins/arn-spark/skills/arn-spark-static-prototype/SKILL.md +362 -0
  89. package/plugins/arn-spark/skills/arn-spark-static-prototype/references/review-report-template.md +65 -0
  90. package/plugins/arn-spark/skills/arn-spark-static-prototype/references/showcase-capture-guide.md +153 -0
  91. package/plugins/arn-spark/skills/arn-spark-static-prototype/references/static-prototype-criteria.md +54 -0
  92. package/plugins/arn-spark/skills/arn-spark-static-prototype-teams/SKILL.md +518 -0
  93. package/plugins/arn-spark/skills/arn-spark-static-prototype-teams/references/debate-protocol.md +230 -0
  94. package/plugins/arn-spark/skills/arn-spark-static-prototype-teams/references/debate-review-report-template.md +148 -0
  95. package/plugins/arn-spark/skills/arn-spark-static-prototype-teams/references/expert-visual-review-template.md +130 -0
  96. package/plugins/arn-spark/skills/arn-spark-stress-competitive/SKILL.md +166 -0
  97. package/plugins/arn-spark/skills/arn-spark-stress-competitive/references/competitive-report-template.md +139 -0
  98. package/plugins/arn-spark/skills/arn-spark-stress-competitive/references/gap-analysis-framework.md +111 -0
  99. package/plugins/arn-spark/skills/arn-spark-stress-interview/SKILL.md +257 -0
  100. package/plugins/arn-spark/skills/arn-spark-stress-interview/references/interview-protocol.md +140 -0
  101. package/plugins/arn-spark/skills/arn-spark-stress-interview/references/interview-report-template.md +165 -0
  102. package/plugins/arn-spark/skills/arn-spark-stress-interview/references/persona-casting-spec.md +138 -0
  103. package/plugins/arn-spark/skills/arn-spark-stress-premortem/SKILL.md +181 -0
  104. package/plugins/arn-spark/skills/arn-spark-stress-premortem/references/premortem-protocol.md +112 -0
  105. package/plugins/arn-spark/skills/arn-spark-stress-premortem/references/premortem-report-template.md +158 -0
  106. package/plugins/arn-spark/skills/arn-spark-stress-prfaq/SKILL.md +206 -0
  107. package/plugins/arn-spark/skills/arn-spark-stress-prfaq/references/prfaq-report-template.md +139 -0
  108. package/plugins/arn-spark/skills/arn-spark-stress-prfaq/references/prfaq-workflow.md +118 -0
  109. package/plugins/arn-spark/skills/arn-spark-style-explore/SKILL.md +281 -0
  110. package/plugins/arn-spark/skills/arn-spark-style-explore/references/style-brief-template.md +198 -0
  111. package/plugins/arn-spark/skills/arn-spark-use-cases/SKILL.md +359 -0
  112. package/plugins/arn-spark/skills/arn-spark-use-cases/references/expert-review-template.md +94 -0
  113. package/plugins/arn-spark/skills/arn-spark-use-cases/references/review-protocol.md +150 -0
  114. package/plugins/arn-spark/skills/arn-spark-use-cases/references/use-case-index-template.md +108 -0
  115. package/plugins/arn-spark/skills/arn-spark-use-cases/references/use-case-template.md +125 -0
  116. package/plugins/arn-spark/skills/arn-spark-use-cases-teams/SKILL.md +306 -0
  117. package/plugins/arn-spark/skills/arn-spark-use-cases-teams/references/debate-protocol.md +272 -0
  118. package/plugins/arn-spark/skills/arn-spark-use-cases-teams/references/review-report-template.md +112 -0
  119. package/plugins/arn-spark/skills/arn-spark-visual-readiness/SKILL.md +293 -0
  120. package/plugins/arn-spark/skills/arn-spark-visual-readiness/references/readiness-checklist.md +196 -0
  121. package/plugins/arn-spark/skills/arn-spark-visual-sketch/SKILL.md +376 -0
  122. package/plugins/arn-spark/skills/arn-spark-visual-sketch/references/aesthetic-philosophy.md +210 -0
  123. package/plugins/arn-spark/skills/arn-spark-visual-sketch/references/sketch-gallery-guide.md +282 -0
  124. package/plugins/arn-spark/skills/arn-spark-visual-sketch/references/visual-direction-template.md +174 -0
  125. package/plugins/arn-spark/skills/arn-spark-visual-strategy/SKILL.md +447 -0
  126. package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/baseline-capture-script-template.js +89 -0
  127. package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/journey-schema.md +375 -0
  128. package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/spike-checklist.md +122 -0
  129. package/plugins/arn-spark/skills/arn-spark-visual-strategy/references/strategy-layers-guide.md +132 -0
  130. 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.