关于 brand-name-checker
brand-name-checker 用于评估产品或品牌名称在社交平台、软件包注册表、域名和商标方面的冲突。它协调专项检查并按明确规则评估风险和提出建议;发现社交账号完全匹配时会提前结束。
主要功能
- 01检查六个社交平台
- 02检查 npm、PyPI、Homebrew 和 apt
- 03搜索域名和商标
- 04按规则评估风险并提出建议
- 05社交账号完全匹配时提前结束
适用场景
- 01采用名称前进行筛查
- 02检查目标注册表和域名冲突
- 03评估商标和社交账号风险
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ luongnv89/ skills --skill brand-name-checker安装后在 Claude Code 中输入/brand-name-checker确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/domain-checker.mdregistry-checker.mdsocial-checker.mdsynthesizer.mdtrademark-checker.mddocs/README.mdevals/evals.jsonreferences/edge-cases.mdoutput-contract.mdprd-integration.mdrepo-sync.mdsource-checks.mdstep-reports.mdtests/test_risk_policy.py详细介绍
品牌名称检查器
检查产品和品牌名称在商标、域名、社交媒体及软件包注册表(npm、PyPI、Homebrew、apt)中是否存在冲突。
适用场景
在采用产品或品牌名称前使用。为节省上下文预算,查询、边缘情况和模板均存放在 references/*.md 中。
子 Agent 架构
agents/ 中的工作器均会返回 JSON:social-checker(6 个平台)、registry-checker(npm、PyPI、Homebrew、apt)、domain-checker(顶级域名)、trademark-checker(WIPO、EUIPO、INPI)。synthesizer 会应用第 5 步的风险策略。
- 流程:社交媒体 →(如果没有被占用的精确账号名)→ 并行执行 {Registry、Domain、Trademark} → Synthesizer。
- 提前退出规则:如果 social-checker 发现 6 个平台中的任一平台已有完全相同的账号名,则跳过第 2–4 步,直接将“放弃”判定交给 synthesizer。
- 不使用子 Agent 时:按照
references/source-checks.md中的顺序,直接执行第 1–4 步。
环境检查
- 第 1 步之前,确认 WebSearch 和 WebFetch 工具可用。
- 运行一次测试查询。
- 如果任一检查失败,停止并返回 Output Format 中的
BLOCKED报告,并附上错误信息。
编辑前同步仓库(必需)
此技能默认不会写入文件。在仓库中创建、更新或删除文件之前,运行 references/repo-sync.md 中的先暂存再同步流程。
输入
从 $ARGUMENTS 读取名称;如果为空,则询问用户。如果存在 prd.md,读取其中的行业、目标注册表和目标域名信息。
分析流程
第 1–4 步的查询、检查 URL 和状态规则见:references/source-checks.md。记录每项结果及其来源。
第 1 步:社交媒体检查(优先)
搜索 X/Twitter、Instagram、GitHub、LinkedIn、TikTok 和 Discord。如果存在完全相同的账号名(提前退出规则),则返回 NEGATIVE: Exact social handle taken (@platform) 并跳至第 6 步。
第 2 步:软件包注册表检查(如果第 1 步无结果)
检查 npm、PyPI、Homebrew 和 apt,并将其标记为可用、已占用(所有者、最后发布日期)、相似或未知。如果缺少目标注册表意图或无法验证,则记录为未知,而不是将所有注册表都视为无冲突。
第 3 步:域名检查(如果第 1 步无结果)
先检查 .com,然后检查 .io、.app、.co、.eu、.fr:
- 可用:权威的可用性结果确认该域名尚未注册
- 停放:域名已存在,但用于出售或停放
- 使用中:正在使用(如果属于同一行业则标记)
- 未知:来源不可用,或仅显示未找到活跃网站;不得据此推断域名可用
第 4 步:商标检查(如果第 1 步无结果)
在尼斯分类第 9、35、42 类中搜索 WIPO、EUIPO 和 INPI;记录每个商标为有效或已过期。
第 5 步:风险评估
本节是定性风险策略的唯一依据。synthesizer 必须阅读并遵循本节,而不是自行另行制定评估矩阵。将每项来源结果分类为已确认、无冲突或未知/无法验证。上游工作器给出的标签和严重程度字段仅作为证据;应重新核查其基础事实,不要盲目信任数值严重程度。
定性风险矩阵
风险优先级为 高 > 中 > 低。选择符合条件的最高风险触发项;绝不要对检查结果取平均值。“多个账号句柄”是指在不同平台上确认有 两个或更多 非精确匹配的账号句柄冲突。
| 风险等级 | 符合条件的最高风险触发项 |
|---|---|
| 高 | 在 6 个平台中的任何一个出现完全匹配的社交账号句柄冲突(适用提前退出规则);确认有两个或更多非精确匹配的社交账号句柄冲突;在任何目标注册机构确认存在冲突;同一行业中有活跃的 .com;在 Nice 分类第 9、35、42 类存在活跃商标冲突;知名品牌/仿冒域名冲突;或者已有的极短名称较高商标冲突风险。 |
| 中 | 没有高风险触发项,但存在一个已确认的非精确匹配社交账号句柄冲突;不同行业中有活跃的 .com;存在类似商标;在非目标注册机构确认存在冲突;或者任何检查或目标意图未知/无法验证。 |
| 低 | 每项必需检查和目标意图都已明确验证,且没有高或中风险触发项,也没有未知结果;.com 已确认可用或处于停放状态。 |
未知项处理规则:如果检查或目标意图缺失或无法验证,且没有已知的高风险发现,则采用暂定中风险 + 修改,等待验证。未知不等于已确认冲突,也绝不能视为低风险通过。已有的高风险发现仍为高风险。不得通过取平均值或缓解措施降低高风险。提前退出规则跳过的检查仍为跳过,而非已通过。
完全匹配账号句柄的提前退出规则保持不变:在 6 个平台中的任何一个出现完全匹配的账号句柄冲突时,立即返回“放弃”建议,并跳过其余检查。将这些检查报告为已跳过,而非已通过。
建议含义
- 继续:仅适用于已全面验证的低风险结果;说明证据和限制,绝不要将未知检查表述为已通过。
- 修改:适用于中风险,包括暂定中风险;建议能解决已确认冲突的变体,并指出待验证事项。
- 放弃:适用于高风险;缓解措施或可用替代方案都无法降低高风险结果。
- 未通过适用来源检查的任何替代方案都必须标记为未经验证;绝不要捏造可用性或低风险评估。
第 6 步:建议
遵循上述建议含义和 Final Action 中的注册顺序。
输出格式
仅返回以下精简文本报告:它可显示在一个屏幕内,因此不需要 HTML 或交互视图。方括号字段只能替换为实际观察到的证据。检查无法验证时使用 Unknown;因提前退出规则而省略的检查使用 Skipped (not cleared)。RISK 行必须说明符合条件的最高风险触发项及其规则依据,而不能只写风险等级。将 RISK 和 RECOMMEND 作为最后两行;调用方会读取它们。
RESULT: [COMPLETE | PARTIAL | BLOCKED] - [N/M checks verified; unknown and skipped counts]
SOCIAL: [Clear | NEGATIVE: reason | Unknown: reason]
REGISTRY: npm ([status]) | PyPI ([status]) | Homebrew ([status]) | apt ([status])
DOMAIN: .com ([status]) | .io ([status]) | .app ([status])
TM: WIPO ([status]) | EUIPO ([status]) | INPI ([status])
EVIDENCE: [source queried for each status: URL or search query, and check time]
SKIPPED: [sources, if any; skipped is not cleared]
UNKNOWN: [checks not verified, why, and what would verify them | none]
RISK: [Low | Moderate | High] - [highest matching trigger, evidence, and policy rationale]
RECOMMEND: [Proceed | Modify | Abandon] - [reason and checked or unverified alternatives]; next: [the user's decision and remaining actions]
RESULT 状态:每项检查都已验证或因提前退出规则而跳过时为 COMPLETE;有任何检查为 Unknown 时为 PARTIAL;未提供名称或 Web 工具不可用时为 BLOCKED(仅返回带有原因和解决方法的 RESULT 行)。编写报告前,阅读 references/output-contract.md 了解字段规则和 next: 条款。如果存在 prd.md,追加 references/prd-integration.md 中的区块。
步骤完成报告
每个主要步骤结束后,输出状态报告。通用模板和各步骤示例(社交、注册机构、域名、商标、风险、建议)位于 references/step-reports.md。根据步骤验证的内容调整检查名称;通过使用 √,失败使用 ×。
验收标准
- 已完成全部 6 个平台的社交媒体检查,并明确标注可用/已占用/未知状态
- 已确认 npm、PyPI、Homebrew 和 apt 上的包注册状态(除非触发了提前退出规则)
- 已检查 .com 和至少两个替代 TLD 的域名可用性(除非触发了提前退出规则)
- 已在 WIPO、EUIPO 和 INPI 完成商标搜索(除非触发了提前退出规则)
- 已指定风险等级(低/中等/高),并以最符合条件的触发因素作为理由
- 已给出最终建议(继续/修改/放弃),必要时列出明确的替代方案
- 理解情况:第一行说明
RESULT状态;已核实的状态在EVIDENCE中注明来源,未核实的状态列于UNKNOWN;RISK指明触发因素;RECOMMEND以next:结尾。若人工审核未得到答复,则理解情况仍未确认(references/output-contract.md)
预期输出
nimbus 的提前退出运行示例;COMPLETE 和 PARTIAL 运行示例:references/output-contract.md。
RESULT: COMPLETE - 6/16 checks verified; 0 unknown, 10 skipped by the Early-Exit Rule
SOCIAL: NEGATIVE: Exact social handle taken (@github)
REGISTRY: Skipped (not cleared)
DOMAIN: Skipped (not cleared)
TM: Skipped (not cleared)
EVIDENCE: github.com/nimbus resolves to an active organization; checked 2026-01-15T10:31Z
SKIPPED: registries, domains, trademarks; skipped is not cleared
UNKNOWN: none
RISK: High - exact social handle collision on GitHub (Early-Exit Rule)
RECOMMEND: Abandon - nimbus-dev, nimbusly (both unverified); next: pick a candidate and run this check on it
边缘情况
速率限制、来源中断、特殊字符、极短名称和仿冒拼写:references/edge-cases.md。注册平台遇到速率限制时,5 秒后重试一次,然后标记为未知——不要默默跳过,也不要推断为可用。
最终操作
- 继续:仅适用于已全面核实且结果为低风险的情况;说明证据和限制,然后建议按以下顺序注册:
- 优先注册包平台 — 立即在 npm/PyPI/Homebrew 上占用名称,即使使用占位包也可以。这些平台遵循先到先得,最容易遭遇命名空间抢注。
- 域名 — 注册主要域名。
- 社交媒体账号 — 在主要平台上抢先注册账号。
- 修改:建议采用能够解决已确认冲突的变体,并列出仍待核实的事项。未经检查的替代方案均为未核实,不得断言其可用。
- 放弃:从建议中推荐最佳替代方案;将未经检查的替代方案标记为未核实,不得声称任何选项不存在问题。