This skill should be used when the user says "naming", "brand name", "name my product", "find a name", "product naming", "brand naming", "what should I call it", "name ideas", "pick a name", "naming session", "help me name this", "brainstorm names", "come up with a name", "arn spark naming", "arn-spark-naming", or wants to find a brand name for their product through strategic analysis, creative generation, qualitative scoring, and due diligence including domain availability and trademark screening.
89
87%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
Guide a product from nameless concept to validated brand name through a structured 4-step methodology, driven by the arn-spark-brand-strategist agent. Produces a naming brief (naming-brief.md) in the vision directory and a naming report (naming-report.md) in the reports directory.
## Arness section.## Arness section exists or Arness Spark fields are missing, inform the user: "Arness Spark is not configured for this project yet. Run /arn-brainstorming to get started — it will set everything up automatically." Do not proceed without it.Check for <vision-dir>/product-concept.md:
If found: Read and extract: vision statement, value proposition, target audience, product pillars, competitive landscape. Summarize the extracted context to the user: "Found your product concept. I'll use this as the foundation for naming."
If not found:
Ask (using AskUserQuestion):
"No product concept found. How should I learn about your product?"
If option 3: invoke arn-spark-brand-strategist in brand-dna mode with instructions to explore the project and summarize the product context.
Ask (using AskUserQuestion):
"What is the primary target market? This determines trademark databases and languages for linguistic screening."
Check for <vision-dir>/naming-brief.md:
If found:
Ask (using AskUserQuestion):
"A naming brief already exists. How would you like to proceed?"
If resume: read the brief, detect which sections contain "-- Pending --" or are missing, and resume from the first incomplete step.
Invoke arn-spark-brand-strategist in brand-dna mode with:
The agent returns: brand personality profile, audience vocabulary, competitor name landscape, 1-2 recommended naming categories with rationale.
Present the Brand DNA analysis to the user.
Ask (using AskUserQuestion):
"Proceed with the recommended naming categories?"
If option 2:
Ask (using AskUserQuestion, multiSelect: true):
"Select naming categories to explore (select all that apply):"
Then prompt (free-text): "Any existing name ideas, words you love, or words you hate? These will seed the creative sprint. Type 'none' or 'skip' to continue without seeds."
Write initial <vision-dir>/naming-brief.md using the creative brief template:
Read
${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-naming/references/creative-brief-template.md
Populate: Context and Brand DNA sections. Mark remaining sections as "-- Pending --".
Four generation rounds via arn-spark-brand-strategist in generation mode.
Round 1 — Seed harvest: Invoke agent with user's existing ideas and preferences as seeds. If no seeds, skip to Round 2.
Round 2 — Category sprints: Invoke agent once per selected category, requesting 50-80 candidates each. Pass the brand DNA context and dead directions. Present candidates to user after each category sprint for early feedback.
Round 3 — Mashup round: Invoke agent with all Round 1-2 candidates. Cross-pollinate fragments across categories. Target: 30-50 mashup candidates.
Round 4 — User collaboration checkpoint: Present the complete candidate list organized by category. This is a free-text conversation loop: the user marks favorites (star), flags directions to kill, and may suggest additional directions. Iterate until the user signals satisfaction.
Target: 200+ total candidates across all rounds.
Update naming-brief.md with Creative Sprint Results section (generation stats, candidates by category, starred favorites, dead directions).
Load the scoring methodology:
Read
${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-naming/references/naming-methodology.md
Invoke arn-spark-brand-strategist in scoring mode with: full candidate list, user-starred favorites, dead directions.
Pass 1: Agent filters 200+ candidates to 30-40 by removing obvious duds (unpronounceable, too long, too similar, offensive, dead directions). User-starred names always survive Pass 1.
Pass 2: Agent scores each surviving candidate on the Six Senses (1-5 each):
Present the scored table sorted by total score (6-30).
Prompt (free-text): "Select 5-8 finalists for due diligence. You can pick from the top of the table, or choose names you like regardless of score."
Update naming-brief.md with Qualitative Filter Results section.
Load the WHOIS/RDAP server reference:
Read
${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-naming/references/whois-server-map.md
How it works: Both scripts use RDAP (the modern IETF standard) as the primary lookup method, with port-43 WHOIS and system whois as built-in fallbacks. The fallback chain per domain is: RDAP → port-43 WHOIS → system whois → manual URL. The scripts handle this automatically — no manual fallback logic needed.
Environment detection (priority order):
python3 --version. If available, use ${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-naming/scripts/whois-check.py.node --version. If available, use ${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-naming/scripts/whois-check.js.https://www.whois.com/whois/[domain]) for each domain.Note: System whois is NOT required — both scripts have it as a built-in last-resort fallback (gracefully skipped on Windows where whois is not available). Python and Node.js scripts work identically across Linux, macOS, Windows, and WSL2.
Rate limit discovery: Before running queries, use WebSearch for "[RDAP or WHOIS server name]" rate limit for the primary TLD servers involved. Set delay_seconds to the most conservative discovered limit. Floor: 2 seconds. Default if unknown: 3 seconds.
Domain list construction: Each finalist name × TLDs. Start with global TLDs: .com (essential), .io, .co, .dev, .app, .ai. Then add country-specific TLDs based on target market (see ${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-naming/references/whois-server-map.md for the market-to-TLD mapping):
.us.eu, .de, .fr, .it, .es, .nl.co.ukThe scripts handle compound ccTLDs (.com.br, .co.uk, .com.au, etc.) and RDAP-only TLDs (.dev, .app, .land) automatically. Ask user if additional TLDs should be checked.
Execution:
echo '{"domains": ["name1.com", "name1.io", ...], "delay_seconds": N}' | python3 ${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-naming/scripts/whois-check.pyParse JSON output. Each result includes a method field ("rdap", "whois", "system-whois", or "none") and a manual_url for any domain that couldn't be determined. If exit code 1 (RDAP rate limit circuit breaker): read partial results, report what was checked, offer manual URLs for unchecked domains.
Load trademark database reference:
Read
${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-naming/references/trademark-databases.md
Tier 1 (automated): Use WebSearch for "[name]" trademark [industry] and "[name]" registered trademark for each finalist.
Tier 2 (guided): Based on the target market, generate direct search URLs from the trademark database reference. Present URLs as a clickable checklist for the user to verify manually.
Always include: "This is a preliminary screening. Consult a trademark attorney before committing to a brand name."
Invoke arn-spark-brand-strategist in linguistic-screening mode with: finalist names, target market, relevant languages (mapped from target market per the agent's language mapping).
The agent checks each name for: negative meanings, phonetic conflicts, cultural associations, and slang issues. Uses WebSearch for verification of uncertain findings.
Use WebSearch for each finalist: "[name]" @[name] site:twitter.com OR site:x.com OR site:instagram.com OR site:github.com
Report availability: available, taken, or unknown for each platform.
Update <vision-dir>/naming-brief.md with:
Load the report template:
Read
${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-naming/references/naming-report-template.md
Write <reports-dir>/naming-report.md with all sections populated.
Only if <vision-dir>/product-concept.md exists:
Present the proposed change: adding the brand name to the product concept's Vision section.
Ask (using AskUserQuestion):
"Update the product concept with the chosen brand name?"
If Yes: read product-concept.md, add **Brand name:** [chosen name] to the Vision section, update the document title if it contains a placeholder. Write back.
Present to the user:
<vision-dir>/naming-brief.md<reports-dir>/naming-report.md| Step | Agent | Mode | Purpose |
|---|---|---|---|
| 1 | arn-spark-brand-strategist | brand-dna | Analyze brand personality, audience, competitors, recommend categories |
| 2 (each round) | arn-spark-brand-strategist | generation | Generate 50-80 candidates per category per round |
| 3 | arn-spark-brand-strategist | scoring | Filter and score candidates on Six Senses framework |
| 4c | arn-spark-brand-strategist | linguistic-screening | Check finalists in target languages |
| 4a | Direct (Bash) | scripts | Run WHOIS availability check |
| 4b, 4d | Direct (WebSearch) | — | Trademark and social media screening |
https://www.whois.com/whois/[domain]arn-spark-concept-review, which restricts stress-test-recommendation consolidation to that skill alone).${CLAUDE_PLUGIN_ROOT}.1fe948f
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.