Brand Name Checker logo

Brand Name Checker

Community
luongnv89
brand-name-checker

Check product and brand names for conflicts across trademarks, domains, social handles, and package registries. Returns a risk level and Proceed/Modify/Abandon recommendation. Skip for name brainstorming, logo design, or trademark filings.

Overview

Publisherluongnv89
Repositoryskills
Skill namebrand-name-checker
Stars
124
Forks
18
Bundled files
7
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 7 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by luongnv89 on GitHub. Read the source before you install it.

Installation

Install the Brand Name Checker AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/luongnv89/skills.git /tmp/skills
mkdir -p .claude/skills
cp -r /tmp/skills/skills/brand-name-checker .claude/skills/brand-name-checker
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Brand Name Checker in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Brand Name Checker on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Brand Name Checker is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Brand Name Checker

Check product and brand names for conflicts across trademarks, domains, social media, and package registries (npm, PyPI, Homebrew, apt).

When to Use

Use this skill before adopting a product or brand name. To stay within the agent's context budget, lean sections (templates, examples) live in references/*.md and per-source workers live in agents/*.md — only the orchestrator instructions are inlined here.

Subagent Architecture

This skill uses parallel subagents to handle 13+ sequential web fetches across independent sources. Pattern: B (Parallel Workers) + D (Research+Synthesis).

Agents

AgentRoleOutput
social-checkerSearch 6 platforms (Twitter, Instagram, GitHub, LinkedIn, TikTok, Discord) in parallelJSON: per-platform availability status
registry-checkerCheck npm, PyPI, Homebrew, apt availability with owner infoJSON: per-registry status and owner details
domain-checkerCheck .com, .io, .app, .co, regional TLDs availabilityJSON: per-TLD registration status
trademark-checkerSearch WIPO, EUIPO, INPI trademark databasesJSON: conflict analysis per database
synthesizerApply risk matrix and produce final recommendationMarkdown + JSON: Risk level, verdict, alternatives

Parallelization Strategy

  • Early-Exit Rule: If social-checker finds an exact handle taken on any of the 6 platforms, skip steps 2-4 (Registry, Domain, Trademark) and jump straight to the synthesizer with an "Abandon" verdict. This is referenced elsewhere in this file simply as the Early-Exit Rule.
  • Independent Workers: Registry, domain, trademark checkers run in parallel without dependencies
  • Sequential Flow: Social → (if clear) → Parallel {Registry, Domain, Trademark} → Synthesizer

Speedup: ~4x faster than sequential approach (13+ web fetches parallelized into 2-3 waves).

Environment Check

Before executing:

  1. Verify WebSearch and WebFetch tools are available
  2. Confirm internet connectivity for external service queries
  3. Check rate limits on social platforms and registries

Repo Sync Before Edits (mandatory)

Before creating/updating/deleting files in an existing repository, sync the current branch with remote. See references/repo-sync.md for the exact git fetch / git pull --rebase commands and stash recovery flow.

Input

Name to analyze provided in $ARGUMENTS. If empty, ask user for the name.

Optionally check for prd.md in project to understand product context.

Analysis Protocol

Early-Exit Rule applies (see Subagent Architecture above): an exact social handle taken on any of the 6 platforms skips Steps 2-4 straight to Step 6 (Recommendation) with an "Abandon" verdict.

Step 1: Social Media Check (First Priority)

Use WebSearch to check handles on:

  • X/Twitter: "@[NAME]" site:twitter.com OR site:x.com
  • Instagram: "@[NAME]" site:instagram.com
  • GitHub: "[NAME]" site:github.com/[NAME]
  • LinkedIn: "[NAME]" site:linkedin.com/company
  • TikTok: "@[NAME]" site:tiktok.com
  • Discord: "[NAME]" site:discord.com

If exact handle taken (Early-Exit Rule): Return NEGATIVE: Exact social handle taken (@platform) and STOP. Suggest different name.

Step 2: Package Registry Check (if Step 1 clear)

Package registries are first-come-first-served namespaces. Unlike GitHub (which allows duplicate project names), registries enforce unique names — once someone claims "your-name" on PyPI or npm, you cannot publish under that name. This makes registry checks urgent: if the name is taken on a registry you plan to publish to, you either need a different name or a naming variant (e.g., prefix/suffix).

Use WebFetch to check these registries directly:

RegistryCheck URLTaken if...
npmhttps://registry.npmjs.org/[NAME]Returns JSON with package data (not a 404)
PyPIhttps://pypi.org/pypi/[NAME]/jsonReturns JSON with package data (not a 404)
Homebrewhttps://formulae.brew.sh/api/formula/[NAME].jsonReturns JSON (not a 404)
aptSearch: "[NAME]" site:packages.debian.org OR site:packages.ubuntu.comPackage listing found

For each registry, report:

  • Available: 404 / not found — safe to claim
  • Taken: Package exists — note the owner, description, and last publish date (a recently claimed but empty package could indicate namespace squatting)
  • Similar: No exact match but close variants exist (e.g., name-js, py-name) — worth noting

If the name is taken on a registry the user plans to publish to, flag it prominently and suggest variants (e.g., name-cli, name-py, name-lib, prefixed with org scope like @org/name for npm).

Step 3: Domain Check (if Step 1 clear)

Use WebSearch to check:

  • .com (highest priority)
  • .io, .app, .co
  • Regional: .eu, .fr

Search: site:[NAME].com and "[NAME].com" domain availability

Status:

  • Available: No active site
  • Parked: Domain exists but for-sale/parking
  • Active: In use (flag if same industry)

Step 4: Trademark Check (if Step 1 clear)

Use WebSearch for trademark databases:

DatabaseSearch Query
WIPO"[NAME]" site:branddb.wipo.int
EUIPO"[NAME]" site:euipo.europa.eu
INPI (France)"[NAME]" site:inpi.fr

Focus on Nice Classes 9, 35, 42 (software/technology). Note if marks are live or expired.

Step 5: Risk Assessment

Risk LevelCriteria
LowSocial handles available, .com available/parked, no trademark conflicts, package registries available
ModerateSome handles taken (not exact), .com taken but alternatives available, similar trademarks exist, or name taken on a registry the user doesn't plan to use
HighMultiple handles taken, .com active in same industry, active trademarks in classes 9/35/42, or name taken on a target package registry

Step 6: Recommendation

  • Proceed: Low risk - name is viable
  • Modify: Moderate risk - suggest 1-2 variants addressing conflicts
  • Abandon: High risk - suggest completely different alternatives

Output Format

SOCIAL: Clear | NEGATIVE: [reason]
REGISTRY: npm (status) | PyPI (status) | Homebrew (status) | apt (status)
DOMAIN: .com (status) | .io (status) | .app (status)
TM: WIPO (status) | EUIPO (status) | INPI (status)
RISK: [Low/Moderate/High] - [reason]
RECOMMEND: [Proceed/Modify/Abandon] (+ variants if needed)

PRD Integration

If prd.md found, add:

Name Fit Assessment:

  • Alignment with product vision
  • Memorability, pronunciation, spelling
  • Target audience fit

Alternative Suggestions:

NameRationaleQuick Risk
Name1Why it fitsAvailability
Name2Why it fitsAvailability
Name3Why it fitsAvailability

Step Completion Reports

After each major step, emit a status report. The general template, plus per-step examples (Social, Registry, Domain, Trademark, Risk, Recommendation), live in references/step-reports.md. Adapt check names to what the step actually validates; use for pass, × for fail.

Acceptance Criteria

  • Social media check completed across all 6 platforms with clear available/taken status
  • Package registry status confirmed for npm, PyPI, Homebrew, and apt (unless the Early-Exit Rule fired)
  • Domain availability checked for .com and at least two alternative TLDs (unless the Early-Exit Rule fired)
  • Trademark search completed against WIPO, EUIPO, and INPI (unless the Early-Exit Rule fired)
  • Risk level assigned (Low / Moderate / High) with supporting rationale
  • Final recommendation delivered (Proceed / Modify / Abandon) with named alternatives if needed

Expected Output

SOCIAL: Clear (Twitter, Instagram, GitHub, LinkedIn, TikTok, Discord all available)
REGISTRY: npm (available) | PyPI (TAKEN — owner: example-org, last publish: 2022-03) | Homebrew (available) | apt (available)
DOMAIN: .com (active — unrelated industry) | .io (available) | .app (available)
TM: WIPO (clear) | EUIPO (clear) | INPI (similar mark in class 42 — "Acme Tools SAS", filed 2021)
RISK: Moderate — PyPI name taken on a target registry; .com parked; minor trademark similarity in France
RECOMMEND: Modify — use "acme-cli" (npm/PyPI clear, .com available, no TM conflicts)

Edge Cases

  • Exact social handle taken on any of the 6 platforms: Early-Exit Rule (see Subagent Architecture) — skip all remaining checks and return an Abandon recommendation with alternative name suggestions.
  • Rate-limited registry API: Retry once after 5 seconds; if still blocked, mark the registry as "unchecked" and note it in the report — do not skip silently.
  • Trademark database unavailable: Note the outage per database; downgrade risk only if all three TM sources are inaccessible (warn user).
  • Name contains special characters or spaces: Normalize to slug form (e.g., my toolmy-tool) before all checks; report both the original and normalized forms.
  • Very short names (1–3 characters): Flag high trademark collision risk upfront; abbreviations are almost always claimed across social and TM databases.
  • Name already in use by a well-known brand (typosquat risk): Escalate to High risk even if all technical checks pass.

Final Action

  • Proceed: Confirm safe to use, suggest registration order:
    1. Package registries first — claim names on npm/PyPI/Homebrew immediately, even with a placeholder package. These are first-come-first-served and the most vulnerable to namespace squatting.
    2. Domain — register the primary domain.
    3. Social handles — secure handles on key platforms.
  • Modify: Recommend best variant with explanation
  • Abandon: Recommend best alternative from suggestions

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Brand Name Checker AI skill do?

Check product and brand names for conflicts across trademarks, domains, social handles, and package registries. Returns a risk level and Proceed/Modify/Abandon recommendation. Skip for name brainstorming, logo design, or trademark filings.

Why use Brand Name Checker on TypingMind?

Because you install it once and use it with any model. Brand Name Checker is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Brand Name Checker in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/luongnv89/skills/tree/main/skills/brand-name-checker. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Brand Name Checker?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Brand Name Checker?

As many as you like. As long as a model supports skills, you can use Brand Name Checker with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Brand Name Checker AI skill free?

Yes. It is published on GitHub by luongnv89 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇