mcpField
N
name-checker

name-checker

github.com/luongnv89营销与增长14158 次安装4 天前更新
代码仓库

关于 name-checker

name-checker 是用于评估产品和品牌名称的研究技能,面向命名与发布决策。它组织社交平台、软件包注册表、域名和商标检查,并综合风险与建议。

主要功能

  1. 01并行检查社交平台账号
  2. 02查询软件包注册表占用情况
  3. 03检查多个域名后缀
  4. 04搜索商标数据库
  5. 05汇总风险等级与命名建议

适用场景

  1. 01评估新产品名称是否存在冲突
  2. 02发布前检查目标软件包注册表
  3. 03依据商标和域名结果调整名称

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/luongnv89/skills --skill name-checker

安装后在 Claude Code 中输入/name-checker确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
agents/
domain-checker.md
registry-checker.md
social-checker.md
synthesizer.md
trademark-checker.md

详细介绍

名称检查器

检查产品名称和品牌名称在商标、域名、社交媒体及软件包注册表(npm、PyPI、Homebrew、apt)中是否存在冲突。

子 Agent 架构

此技能使用并行子 Agent,处理来自独立来源的 13 次以上连续网页抓取。模式:B(并行工作者)+ D(研究与综合)。

Agent
Agent角色输出
social-checker并行搜索 6 个平台(Twitter、Instagram、GitHub、LinkedIn、TikTok、Discord)JSON:各平台的可用状态
registry-checker检查 npm、PyPI、Homebrew、apt 的可用性及所有者信息JSON:各注册表的状态和所有者详情
domain-checker检查 .com、.io、.app、.co 及地区顶级域名的可用性JSON:各顶级域名的注册状态
trademark-checker搜索 WIPO、EUIPO、INPI 商标数据库JSON:各数据库的冲突分析
synthesizer应用风险矩阵并生成最终建议Markdown + JSON:风险等级、结论、备选项
并行化策略
  • 提前退出逻辑:如果 social-checker 发现主要平台上已有人占用完全相同的账号名,则跳过步骤 2-4,直接进入 synthesizer 并给出“放弃”结论
  • 独立工作者:注册表、域名和商标检查器并行运行,互不依赖
  • 顺序流程:社交媒体 →(如果无问题)→ 并行 {注册表、域名、商标} → 综合器

加速效果:相比顺序执行,速度约提升 4 倍(将 13 次以上网页抓取并行化为 2-3 轮)。

环境检查

执行前:

  1. 确认 WebSearch 和 WebFetch 工具可用
  2. 确认可以连接互联网以查询外部服务
  3. 检查社交平台和注册表的速率限制

编辑前同步代码仓库(必须)

在现有代码仓库中创建、更新或删除文件之前,将当前分支与远程同步:

branch="$(git rev-parse --abbrev-ref HEAD)"
git fetch origin
git pull --rebase origin "$branch"

如果工作树不干净,先暂存更改,再同步,然后恢复更改:

git stash push -u -m "pre-sync"
branch="$(git rev-parse --abbrev-ref HEAD)"
git fetch origin && git pull --rebase origin "$branch"
git stash pop

如果缺少 origin、无法拉取,或发生变基/暂存冲突,请停止并在继续之前询问用户。

输入

要分析的名称通过 $ARGUMENTS 提供。如果为空,请询问用户要检查的名称。

也可以检查项目中是否存在 prd.md,以了解产品背景。

分析流程

如果完全相同的社交媒体账号名已被占用,则跳过步骤 2-4,直接进入步骤 6(建议),并给出“放弃”结论。

步骤 1:社交媒体检查(优先执行)

使用 WebSearch 检查以下账号名:

  • X/Twitter:"@[NAME]" site:twitter.com OR site:x.com
  • Instagram:"@[NAME]" site:instagram.com
  • Facebook:"[NAME]" site:facebook.com
  • LinkedIn:"[NAME]" site:linkedin.com/company
  • YouTube:"[NAME]" site:youtube.com
  • TikTok:"@[NAME]" site:tiktok.com

**如果完全相同的账号名已被占用:**返回 NEGATIVE: Exact social handle taken (@platform) 并停止。建议更换名称。

步骤 2:软件包注册表检查(如果步骤 1 通过)

软件包注册表的命名空间遵循先到先得原则。与 GitHub(允许项目名称重复)不同,注册表要求名称唯一——一旦有人在 PyPI 或 npm 上注册了“your-name”,你就无法再以该名称发布软件包。因此,注册表检查刻不容缓:如果你计划发布到的注册表中已有该名称,就需要更换名称或使用名称变体(例如添加前缀或后缀)。

使用 WebFetch 直接检查以下注册表:

注册表检查 URL判定为已占用的条件
npmhttps://registry.npmjs.org/[NAME]返回包含软件包数据的 JSON(而非 404)
PyPIhttps://pypi.org/pypi/[NAME]/json返回包含软件包数据的 JSON(而非 404)
Homebrewhttps://formulae.brew.sh/api/formula/[NAME].json返回 JSON(而非 404)
apt搜索:"[NAME]" site:packages.debian.org OR site:packages.ubuntu.com找到软件包列表

对于每个注册表,报告:

  • 可用:404 / 未找到——可以放心注册
  • 已占用:软件包已存在——注明所有者、描述和最后发布日期(最近注册但内容为空的软件包可能表明存在命名空间抢注)
  • 相似:没有完全匹配的名称,但存在相近的变体(例如 name-js、py-name)——值得留意

如果用户计划发布到的注册表中已有该名称,请显著标出,并建议使用变体(例如 name-cli、name-py、name-lib,或在 npm 中使用组织范围前缀,如 @org/name)。

步骤 3:域名检查(如果步骤 1 通过)

使用 WebSearch 检查:

  • .com(优先级最高)
  • .io、.app、.co
  • 区域域名:.eu、.fr

搜索:site:[NAME].com 和 "[NAME].com" domain availability

状态:

  • 可用:没有活跃网站
  • 已停放:域名已注册,但用于出售或停放
  • 正在使用:正在使用中(如果属于同一行业,请标出)
步骤 4:商标检查(如果步骤 1 通过)

使用 WebSearch 搜索商标数据库:

数据库搜索查询
WIPO"[NAME]" site:branddb.wipo.int
EUIPO"[NAME]" site:euipo.europa.eu
INPI (France)"[NAME]" site:inpi.fr

重点检查尼斯分类第 9、35、42 类(软件/技术)。注明商标是有效还是已过期。

步骤 5:风险评估
风险等级标准
低社交媒体账号可用,.com 可用或已停放,没有商标冲突,软件包注册表中名称可用
中等部分账号被占用(但名称不完全相同),.com 已被占用但有其他可用域名,存在相似商标,或用户不打算使用的注册表中已有该名称
高多个账号被占用,.com 正由同一行业的网站使用,第 9/35/42 类存在有效商标,或目标软件包注册表中已有该名称
步骤 6:建议
  • 继续使用:低风险——名称可行
  • 修改:中等风险——建议 1–2 个可解决冲突的变体
  • 放弃:高风险——建议完全不同的备选名称

输出格式

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 集成

如果找到 prd.md,请添加:

名称契合度评估:

  • 与产品愿景的一致性
  • 易记程度、发音和拼写
  • 与目标受众的契合度

备选名称建议:

名称理由快速风险评估
Name1契合原因可用性
Name2契合原因可用性
Name3契合原因可用性

步骤完成报告

每完成一个主要步骤后,请按以下格式输出状态报告:

◆ [Step Name] ([step N of M] — [context])
··································································
  [Check 1]:          √ pass
  [Check 2]:          √ pass (note if relevant)
  [Check 3]:          × fail — [reason]
  [Check 4]:          √ pass
  [Criteria]:         √ N/M met
  ____________________________
  Result:             PASS | FAIL | PARTIAL

根据步骤实际验证的内容调整检查项名称。通过用 √ 表示,未通过用 × 表示,并用 — 添加简短说明。“Criteria”行汇总满足的验收标准数量。“Result”行给出总体结论。

社交媒体检查(步骤 1,共 5 步)
◆ Social Media Check (step 1 of 5 — handle availability)
··································································
  Twitter available:      √ pass
  GitHub available:       √ pass
  Reddit available:       × fail — r/[name] subreddit exists
  [Criteria]:             √ 2/3 met
  ____________________________
  Result:                 PARTIAL
软件包注册表(步骤 2,共 5 步)
◆ Package Registry (step 2 of 5 — namespace availability)
··································································
  npm clear:              √ pass
  PyPI clear:             × fail — package exists (owner: example)
  Homebrew clear:         √ pass
  [Criteria]:             √ 2/3 met
  ____________________________
  Result:                 PARTIAL
域名检查(步骤 3,共 5 步)
◆ Domain Check (step 3 of 5 — domain availability)
··································································
  .com available:         × fail — active site in same industry
  .dev available:         √ pass
  .io available:          √ pass
  [Criteria]:             √ 2/3 met
  ____________________________
  Result:                 PARTIAL
商标检查(步骤 4,共 5 步)
◆ Trademark Check (step 4 of 5 — trademark conflicts)
··································································
  WIPO clear:              √ pass — no conflicts in classes 9/35/42
  EUIPO clear:             √ pass
  INPI clear:              × fail — similar mark in class 42
  [Criteria]:              √ 2/3 met
  ____________________________
  Result:                  PARTIAL
风险评估(步骤 5,共 5 步)
◆ Risk Assessment (step 5 of 5 — final verdict)
··································································
  Trademark risk level:   √ pass — Low, no conflicts in classes 9/35/42
  Overall risk score:     √ pass — Moderate
  Recommendation generated: √ pass — Modify: use variant
  [Criteria]:             √ 3/3 met
  ____________________________
  Result:                 PASS

验收标准

  • 已完成对所有 6 个平台的社交媒体检查,并明确标注可用或已被占用
  • 已确认 npm、PyPI、Homebrew 和 apt 的软件包注册状态
  • 已检查 .com 和至少两个其他顶级域名的可用性
  • 已针对 WIPO、EUIPO 和 INPI 完成商标搜索
  • 已分配风险级别(低 / 中 / 高),并提供依据
  • 已给出最终建议(继续 / 修改 / 放弃),必要时列出备选名称

预期输出

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)

边缘情况

  • 主要平台上的精确社交账号名已被占用:跳过其余所有检查,立即给出放弃建议,并推荐备选名称。
  • 软件包注册表 API 限流:5 秒后重试一次;如果仍受阻,将该注册表标记为“未检查”,并在报告中注明——不得悄然跳过。
  • 商标数据库不可用:逐个注明数据库故障;仅当三个商标来源均无法访问时才降低风险级别(并提醒用户)。
  • 名称包含特殊字符或空格:在所有检查之前将其规范化为 slug 格式(例如,my tool → my-tool);同时报告原始形式和规范化形式。
  • 名称很短(1–3 个字符):预先标记较高的商标冲突风险;缩写几乎总会在社交媒体和商标数据库中被注册。
  • 名称已被知名品牌使用(有仿冒风险):即使所有技术检查均通过,也将风险级别提升为高。

最终操作

  • 继续:确认可以安全使用,并建议按以下顺序注册:
    1. 优先注册软件包——立即在 npm/PyPI/Homebrew 上抢注名称,即使先发布一个占位软件包也可以。这些平台遵循先到先得原则,也最容易遭遇命名空间抢注。
    2. 域名——注册主要域名。
    3. 社交账号——在主要平台上注册账号名。
  • 修改:推荐最佳变体并说明理由
  • 放弃:从备选方案中推荐最佳选择

评论

支持 Markdown