mcpbeat Sign in

App Namer Skill for Claude

Turn an app idea into validated, App-Store-ready name candidates. Use when the user says "name my app", "what should I call it", "app name ideas", "help me name this app", "is this name available", or needs to pick a brandable, ownable name before reserving it in App Store Connect.

7k tokens
context cost
the whole folder, loaded on every use
3
files
instructions only
0
copies elsewhere
how many repositories repackaged it
585
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/rshankras/claude-code-apple-skills --skill app-namer

The instruction itself

18 sections, as written by the author

App Namer Skill

Takes an app idea or one-liner and produces a ranked shortlist of 5-8 validated name candidates — not random brainstorming. Each candidate is generated from a naming archetype, paired with a subtitle, checked against App Store display rules, and run through an availability gauntlet (App Store Connect name, trademark, domain, handle) before it's recommended.

The output is a name you can reserve in App Store Connect today, with the keyword work already aligned to feed the app-store/keyword-optimizer skill.

When This Skill Activates

Use this skill when the user:

  • Has an app idea but no name ("what should I call it?")
  • Wants name ideas or a naming brainstorm for a specific app
  • Needs to know if a name is available / safe to use
  • Is about to create the app record in App Store Connect and needs to reserve a name
  • Wants to rename an existing app and needs ownable, ASO-smart options
  • Picked an idea from idea-generator and needs the name before writing the PRD

No app idea yet? Run product/idea-generator first, then come back with the chosen idea.

Already have a locked name and just want ASO? Skip this skill — go to app-store/keyword-optimizer.

Reference Files

Before generating names, load both reference files:

| File | Purpose |

|------|---------|

| naming-strategies.md | The 3 archetypes, naming techniques, App Store display mechanics (30-char limit, home-screen truncation, name/subtitle interplay), good/bad examples |

| validation-checklist.md | The knockout gauntlet — App Store Connect name availability, trademark sanity check, domain/.app, social handles, linguistic safety |

What This Skill Does

Idea/positioning
   ↓  elicit
Naming brief (what it does, who it's for, personality, scope ceiling)
   ↓  generate across archetypes
20-40 raw candidates (branded / descriptive / hybrid)
   ↓  filter (pronounce, spell, truncate, confusability)
8-12 survivors
   ↓  pair with subtitle + score
Ranked candidates with name + subtitle + display preview
   ↓  validate (ASC name / trademark / domain / handle)
5-8 validated candidates
   ↓
Recommendation + "reserve now" action

The Naming Process

Step 1: Build the Naming Brief

If the user hasn't given enough context, gather it with AskUserQuestion. You need:

| Field | Why it matters |

|-------|----------------|

| One-liner | What the app does in one sentence — drives descriptive/hybrid candidates |

| Target user | Tone calibration (pro tool vs. playful consumer app) |

| Personality | Serious, playful, minimal, premium, technical? Sets the archetype mix |

| Category | App Store category — affects trademark class and competitor naming norms |

| Scope ceiling | Will it stay single-purpose or grow? A too-descriptive name boxes you in |

| Existing brand | Company/developer name, existing app family to stay consistent with |

If the user gives a one-liner and nothing else, infer sensible defaults, state your assumptions, and proceed — don't block on a full questionnaire.

Step 2: Generate Across Archetypes

Generate 20-40 raw candidates spread across the three archetypes (see naming-strategies.md for each technique and examples):

  • Branded / invented — coined, ownable, zero literal meaning (Spotify, Halide, Bevel, Bear)
  • Descriptive — says what it does, carries a keyword (Sleep Cycle, PDF Expert, Pocket Casts)
  • Hybrid / suggestive — a real or twisted word that evokes the benefit (Streaks, Overcast, Carrot Weather, Drafts)

Aim for roughly 40% hybrid, 30% branded, 30% descriptive for a typical indie app — hybrid names tend to win because they're ownable *and* memorable, with the descriptive keyword pushed into the subtitle.

Use the techniques in naming-strategies.md: real words, compounds, portmanteaus, prefix/suffix, dropped vowels, foreign words, metaphors.

Step 3: Filter Hard and Fast

Kill any candidate that fails a basic filter before spending effort scoring it:

  • ❌ Can't be pronounced correctly on first read
  • ❌ Can't be spelled correctly after hearing it once (the "radio test")
  • ❌ (iOS) Doesn't read cleanly when truncated to ~12 characters on the Home Screen — relaxes for Mac apps (see naming-strategies.md)
  • ❌ Confusable with a major existing app (Notes, Notion, Things, etc.)
  • ❌ Purely generic/descriptive with no distinctiveness (un-trademarkable)
  • ❌ Produces an ugly bundle ID or has awkward casing

Target 8-12 survivors going into scoring.

Step 4: Pair With a Subtitle

For each survivor, write the Name — Subtitle pairing the way it appears on the App Store. This is where the ASO strategy lives:

[Brand Name] — [Descriptive keyword phrase]

Halide — Pro Camera
Streaks — Habit Tracker
Bear — Markdown Notes

The name carries the brand; the subtitle carries the searchable keywords. This means a branded/hybrid name doesn't need to be descriptive — the subtitle does that job. Both are 30-char fields and both are indexed. (See app-store/keyword-optimizer for full keyword allocation.)

Step 5: Score Each Candidate

Score each candidate 1-10 on six dimensions:

| Dimension | WEAK (1-3) | STRONG (4-7) | EXCELLENT (8-10) |

|-----------|------------|--------------|------------------|

| Memorability | Forgettable, generic | Distinctive | Sticky, instantly recalled |

| Clarity/Fit | Misleading or opaque | Evokes the benefit (with subtitle) | Name+subtitle = instant understanding |

| Availability | Name & domain taken, TM conflict | Domain workaround, name free | Name + .com/.app + clean TM headroom |

| ASO Value | Dead keyword-wise | Subtitle carries keywords | Brandable + subtitle owns a keyword |

| Pronounce/Spell | Fails radio test | Minor ambiguity | Say it once, spell it right, Siri-safe |

| Scalability | Boxed into v1 scope | Some room | Grows with the product |

Overall = weighted average, with Availability and Memorability weighted 1.5× (an unavailable name scores zero regardless of how clever it is).

Step 6: Validate the Top Candidates

Run the top 5-8 through the gauntlet in validation-checklist.md. For each, record status as available / taken / conflict / unchecked:

  • App Store name — exact-name search on the App Store; reserve in App Store Connect if clear
  • Trademark knockout — USPTO/EUIPO + web search in the software class (not legal clearance)
  • Domain.com, then .app, then get-/try-/use- prefixes
  • Social handle — consistent handle across X / Instagram (nice-to-have)
  • Linguistic safety — no bad meanings in top ASO markets, Siri-pronounceable

Use WebSearch/WebFetch to check what's checkable (existing App Store apps, trademark databases, domain registrars). For anything you can't verify, mark it unchecked and tell the user exactly how to check — never report a name as available if you didn't verify it.

Step 7: Recommend and Reserve

Present the ranked shortlist, then make a single clear recommendation. End with the action: reserve the winning name in App Store Connect now — App Store names are unique and first-come, so a name that's available today can be gone tomorrow.

Output Structure

{
  "naming_brief": {
    "one_liner": "On-device app that turns leftover ingredients into recipe suggestions",
    "target_user": "Home cooks who want to reduce food waste",
    "personality": "warm, simple, a little playful",
    "category": "Food & Drink",
    "scope_ceiling": "could expand to meal planning and grocery lists",
    "assumptions": ["No existing brand to match", "iOS-first, US market primary"]
  },
  "shortlist": [
    {
      "rank": 1,
      "name": "Larder",
      "archetype": "hybrid",
      "name_subtitle": "Larder — Recipes From Leftovers",
      "char_counts": { "name": 6, "subtitle": 30 },
      "home_screen_preview": "Larder",
      "rationale": "Evokes the source (what's in your larder) without being literal about recipes; warm, short, and far more ownable than the generic 'Pantry'; subtitle carries the 'recipes' + 'leftovers' keywords.",
      "scores": {
        "memorability": 8,
        "clarity_fit": 8,
        "availability": 9,
        "aso_value": 8,
        "pronounce_spell": 9,
        "scalability": 9
      },
      "overall_score": 8.4,
      "validation": {
        "app_store_name": "no live 'Larder' recipe app found — verify in ASC New App and reserve",
        "trademark": "unchecked — run USPTO TESS for 'Larder' in Class 9/42 before committing",
        "domain": "larder.com taken; larder.app available — recommended buy",
        "handle": "@larder taken; @larderapp available",
        "linguistic": "clean in EN/ES/DE/JA; Siri-safe"
      },
      "risks": "Slightly less self-explanatory than 'Pantry' on its own — the subtitle does the clarifying. Confirm the trademark knockout before reserving."
    }
  ],
  "filtered_out": [
    { "name": "Pantry", "reason": "Too generic to own — App Store name and pantry.com almost certainly taken, un-trademarkable" },
    { "name": "LeftoverChef", "reason": "Two-word compound truncates badly on Home Screen; 'Chef' is crowded and trademark-risky" },
    { "name": "Fridgify", "reason": "Cute but fails the radio test — users will spell it 'Fridgefy'/'Fridgi'" }
  ],
  "recommendation": "Lead with Rank 1 if a clean App Store variant clears reservation; otherwise Rank 2. Reserve the winner in App Store Connect immediately, then run app-store/keyword-optimizer to lock the subtitle and keyword field.",
  "next_step": "Reserve the name in App Store Connect → run keyword-optimizer for subtitle + 100-char keywords → feed the name into prd-generator"
}

End-to-End Example

Brief: "A minimalist iOS app that tracks daily water intake with a single tap. For health-conscious people who find existing trackers cluttered. Personality: clean, calm, premium. Stays single-purpose."

Generate (sample of ~30):

  • *Branded:* Drift, Sip, Wello, Aqo, Nim
  • *Descriptive:* Water Daily, Hydrate, Daily Water, Intake
  • *Hybrid:* Gulp, Tide, Droplet, Wave, Brim, Flow

Filter: Drop "Intake" (generic, taken), "Hydrate" (crowded, hard to own), "Aqo" (fails spell test).

Pair + score top survivors:

| Name | Pairing | Memorable | Avail. | ASO | Overall |

|------|---------|-----------|--------|-----|---------|

| Brim | Brim — Water Tracker | 8 | 7 | 7 | 7.6 |

| Sip | Sip — Daily Water | 9 | 5 | 7 | 7.2 |

| Droplet | Droplet — Hydration | 7 | 6 | 8 | 7.0 |

Validate (top 3): "Sip" — App Store name almost certainly taken (very common), sip.com taken. "Brim" — exact App Store name worth checking, brim.app likely available, no obvious TM conflict in Class 9. "Droplet" — used by DigitalOcean (TM risk in software).

Recommendation: "Go with Brim — Water Tracker. It's short (stands alone on the Home Screen), calm and ownable, almost certainly clears the App Store name, and brim.app is available. Avoid Droplet (DigitalOcean trademark in software). Reserve 'Brim' in App Store Connect now, then run keyword-optimizer to fill the subtitle and keyword field around 'water, hydration, drink, reminder.'"

Integration With Other Skills

product/idea-generator        → pick an idea
        ↓
product/app-namer (THIS SKILL) → name it + reserve it
        ↓
app-store/keyword-optimizer    → lock subtitle + 100-char keywords around the name
        ↓
product/prd-generator          → [App Name] is now filled in
        ↓
generators/app-icon-generator  → icon that matches the name's personality

The name you pick here is the highest-weighted ASO field and a permanent brand decision — it flows into the keyword strategy, the PRD, the icon, and the bundle ID. Get it right before you build.

When NOT to Use This Skill

  • No idea yet — run idea-generator first
  • Name is already locked — go to keyword-optimizer for ASO
  • You need the legal clearance — this skill does a *knockout* search, not trademark clearance; consult an attorney before filing
  • Renaming a high-traffic live app — renaming resets branded search equity; see keyword-optimizer/existing-app-strategy.md before changing a name that's working

Deliverables

At the end of this skill you should have:

  • [ ] Naming brief captured (one-liner, user, personality, category, scope, assumptions)
  • [ ] Candidates generated across all three archetypes
  • [ ] Filtered down with reasons (pronounce/spell/truncate/confusability)
  • [ ] Each finalist paired as Name — Subtitle with char counts ≤ 30
  • [ ] Home-screen truncation preview for each
  • [ ] Scored on all six dimensions, ranked by weighted overall
  • [ ] Top candidates run through the validation gauntlet with status flags
  • [ ] One clear recommendation + the "reserve in App Store Connect now" action
  • [ ] next_step pointing to keyword-optimizer and prd-generator

Output File Location

Save results to app-name-shortlist.json (project root), using the Output Structure above.


Generate wide, filter hard, validate before you fall in love. The best app name is short, ownable, spellable, available today, and lets the subtitle do the keyword work.

Other skills for the same job

different authors, same section of the catalogue
Protocolsio Integration
by christophacham
×4

Integration with protocols.io API for managing scientific protocols. This skill should be used when working with protocols.io to search, create, update, or publish protocols; manage protocol steps and materials; handle discussions and comments; organize workspaces; upload and manage files; or integrate protocols.io functionality into workflows. Applicable for protocol discovery, collaborative protocol development, experiment tracking, lab protocol management, and scientific documentation.

16k tokens
Tailored Resume Generator
by frostant
×4

Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances

3k tokens
Excalidraw Diagram Generator
by github
vendor ×3

Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.

36k tokens scripts
Expo Dev Client
by openai
vendor ×3

Build and distribute Expo development clients locally or via TestFlight

961 tokens
Executing Plans
by ZhanlinCui
×3

Use when you have a written implementation plan to execute in a separate session with review checkpoints

542 tokens
Anndata
by christophacham
×3

Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.

16k tokens
Benchling Integration
by christophacham
×3

Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.

14k tokens
Biopython
by christophacham
×3

Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.

24k tokens

How to use it

Copy the folder

Take rshankras/app-namer from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.