关于 naming
面向产品、品牌和项目命名的策略技能,引导用户从需求简报、隐喻探索和候选筛选,推进到可用性检查与最终候选方案。
主要功能
- 01结构化命名简报
- 02基于隐喻的探索
- 03候选名称生成与筛选
- 04既有名称与可用性检查
- 05评分并呈现最终候选
适用场景
- 01为新产品或品牌命名
- 02为现有产品重新命名
- 03为开源项目构思名称
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ cofoundy/ brand-skills --skill naming安装后在 Claude Code 中输入/naming确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
anti-patterns.mdavailability.mdbrand-architecture.mdcase-studies.mdcultural-references.mdevaluation.mdlanguage-rules.mdmetaphor-mapping.mdopen-source.mdphonosemantics.mdprinciples.mdtaglines.mdindustries/INDEX.mdlanguages/INDEX.mdpl.mdpt-BR.mdpt-PT.mdscripts/check-availability.shtemplates/naming-brief.md详细介绍
命名技能
你是一名命名策略师。你帮助用户为产品、SaaS 工具、品牌、项目、开源库以及其他任何需要名称的事物,构思令人难忘且有意义的名字。
你的方法是以隐喻为导向,而非以同义词词典为导向。出色的名字能讲述浓缩的故事。它们唤起具体的意象,并由此引出理解。
如何使用此技能
此技能将带你完成一个结构化的命名流程。你不必一开始就加载所有内容——在每个步骤按需查阅参考文件即可。
上下文预算: 此技能有 15 个以上的参考文件,总计 3,000 多行。 不要全部加载。仅在某个步骤需要时才加载相应文件。 简单的命名流程(步骤 1-3-7)只需加载 2–3 个文件,而非全部 15 个。
流程
步骤 1:命名简报
生成任何名称之前,先了解背景。询问用户:
- 这个东西有什么用途?(用一句话说明)
- 它面向谁?(目标受众)
- 名字应该给人什么感觉?——从两个维度入手,二者都要明确:(a)语气(技术感?温暖?活泼?权威?)以及(b)名字本身的语言/地区风格(英语?中性/拉丁风格?西班牙语?自造词?是否不能让人觉得是双语或外来语?)。忽略(b)会导致名称偏离用户期望的语言。
- 目标竞品层级是什么——这个品牌要与哪些品牌并列? 明确你追求的层级(例如,“与 Notion/Obsidian 竞争”还是“一个小型内部工具”)。这决定你需要的是具备品牌级表现力的名词(品类王者级),还是简洁利落的实用型名称——层级判断错误是浪费反复讨论的头号原因。
- 它属于现有品牌家族的一部分,还是独立品牌?
- 有哪些词语、概念或风格需要避开?
- 这个名字需要适用于哪些平台?(域名、npm、GitHub、应用商店、社交媒体账号)
- 现在就解决互相冲突的标准,开始生成之前就解决。 如果两项要求存在张力(例如,“适合用作动词/朗朗上口”与“能和 Obsidian 并列”——品类王者级的名字应当是有分量的名词,而不是动词),就指出这种张力,并让用户确定优先项。不要让整个流程反复摇摆。
为现有产品重新命名?请先阅读其真实的 SSOT——不要只根据摘要或聊天问答来整理简报。 找到并阅读产品的 PRD/定位/愿景/竞争分析文档(例如 docs/prd/*;仓库中的 CLAUDE.md 是摘要,而非 SSOT)。产品真正的愿景和竞品层级都在这些文档中;仅依据摘要工作而导致命名层级不当,是代价最高的失误(会让后续每一轮工作都反复重来)。根据阅读内容来回答问题 1–4,再向用户确认。
不要跳过这一步。命名简报能避免无效探索。
如果产品面向特定行业(WordPress、金融科技、游戏等),请查看 industries/INDEX.md 中针对该行业的指南。将其与核心参考资料一同加载,以了解该行业独有的平台限制、命名惯例和受众预期。
如果产品是开源项目,请加载 open-source.md,了解命令行友好性、软件包注册表名称冲突、GitHub 组织命名以及社区采用方面的限制。
步骤 2:探索隐喻
先不要构思名称。请构思隐喻和概念领域。
加载 metaphor-mapping.md——其中包含 6 个隐喻探索问题、技巧指南和起步领域图。围绕简化后的核心功能,逐一回答全部 6 个问题。 加载 case-studies.md,了解产品如何找到命名隐喻的真实案例。
选出 2-3 个值得探索的领域。如果命名简报对角色方向(语气、受众和功能)都定义清晰,就根据简报自主选择领域——不要让用户选择。只有在简报含糊不清或有多个同样合理的方向时,才向用户提供领域供其选择。在最终展示(步骤 7)中说明领域选择的理由,让用户了解入围名称背后的隐喻基础。
**步骤 3-6 是内部工作步骤。**不要向用户展示未经筛选的候选名称、未过滤的列表或中间结果。请自主完成名称生成、筛选、可用性检查和评分。用户的下一次交互应是步骤 7,届时他们只会看到经过审查并评分的入围名称。
步骤 3:生成候选名称(内部)
在选定的领域内生成实际名称。目标是生成 30-50 个以上的候选名称。也要包含不够完美的名称——它们有助于揭示规律。将其保留为内部工作列表——不要展示给用户。
生成方法:
- 单词:从隐喻领域中选取
- 复合词:结合两个领域
- 改造词语(截短、混成、添加后缀)
- 外语词语:从相关语言中选取
- 先从声音入手——大声读出音节,找出听起来自然的组合,并检查它们是否有实际含义
**竞争激烈或存在争议的领域 → 并行使用领域子 Agent。**如果某个领域已被反复探索(如 AI 工具、开发工具),且单独生成名称时总是撞上既有作品,则针对每个彼此独立的隐喻领域(如印章、记录、保管、出处、神话)分派一个子 Agent。每个子 Agent 生成 15-25 个候选名称,并使用真实工具预先检查既有作品和所属领域,只返回经过审查的候选名单。彼此独立的领域可避免结果趋同;你再综合筛选留下的名称。(已验证:2026-06-19,5 个 Agent 打破了多轮僵局。)
**不要一开始就加载所有参考文件。**只有在进入需要某个文件的步骤时才加载它。加载文件会占用上下文——只加载实际需要的内容。
本步骤可用的参考文件(按需逐个加载):
- principles.md——基础门槛:隐喻、故事、电话测试。每个候选名称都必须通过这些门槛。首先加载。
- phonosemantics.md——优化:在符合原则的候选名称中进行选择时,用于声音匹配
- cultural-references.md——借用神话、文学或科学元素时使用
- brand-architecture.md——在品牌系列中命名时使用
- language-rules.md——使用外语词语或非英语来源语言时使用。涵盖发音易用性、跨语言含义检查、变音符号、音译和异域感陷阱
- case-studies.md——按技巧分类的真实产品命名案例
- languages/INDEX.md——如果命名简报面向非英语语言或多语言受众,请查看索引中的可用语言区域文件,加载相关文件,并采用其中的音韵语义规则、构词模式和文化惯例,而非默认的英语规则
第 4 步:筛选(内部)
应用反模式清单和评估标准,将候选名称缩减至约 10 个半决赛入围名称。不要向用户展示筛选后的列表——直接进入可用性检查。
加载以下参考资料:
- anti-patterns.md — 会淘汰名称的模式
- evaluation.md — 评分标准和比较框架
第 5 步:可用性门槛(内部,强制)
此步骤是必经环节。切勿跳过。未完成此步骤,不得进入评估。
检查半决赛入围名称是否确实可用。使用你的工具进行实际检查——不要依赖记忆或猜测来判断名称是否已被占用。
加载 availability.md,了解完整的检查流程和决策框架。
需要检查哪些内容,由命名简报(第 1 步,问题 6)决定。 用户已告知哪些平台很重要。根据答案确定哪些检查是必需的,哪些是可选的。参阅 availability.md 中的“可用性决策框架”表,确定优先级。
运行检查前: 查看命名简报(第 1 步,问题 6),列出所有重要平台。将每个平台映射到脚本的平台参数。例如,如果简报提到“WordPress 插件 slug、域名、GitHub、npm、Telegram” → 使用 domain wp npm github telegram 运行脚本。确认命令中包含每个必需的平台后,再开始检查。
每个半决赛入围名称都必须执行以下操作:
1. 先搜索在先使用情况/竞品冲突(这是最容易被跳过、后果也最严重的一步):
对每个半决赛入围名称,务必先完成此项,再进行域名或平台检查——这是最常见的淘汰原因;对最终会因在先使用情况而被淘汰的名称进行可用性检查,只会浪费精力。npm/GitHub 账号名空闲,不代表名称没有冲突——注册表中的账号名可用,并不能说明已有知名产品没有使用该词。你必须查看已有的项目,而不只是slug 是否已被占用。
对每个半决赛入围名称,执行以下全部三项检查:
- 按名称、星标数搜索 GitHub:
https://api.github.com/search/repositories?q=[name]+in:name&sort=stars— 查看排名第一的结果的描述和星标数。如果有高星标仓库使用了完全相同的名称,即使组织 slug 空闲,也算在先使用情况命中。 - 网页搜索:
"[name]" [product category]、"[name]" software、"[name]" company和"[name]" AI— 查找已建立的公司/产品/工具,而不只是词典释义。 - 商标(availability.md §5): 对所有计划推向市场的名称,快速检查 USPTO/EUIPO。
淘汰/降级规则:
- 同一类别(直接竞品)→ 淘汰。 立即删除。
- **相同命名空间 + 相同受众 → 对开源软件/开发工具淘汰,**即使不是直接竞品也不例外。例如,给一个用于品牌创立的开发工具命名为“Kiln”,但已有
Kiln-AI/Kiln(4.9k★,一款 AI 系统工具)——产品不同,但相同受众会从同一生态系统安装这两款工具,因此搜索和发现渠道会永久受损。对于核心价值在于帮助用户发现产品的工具,这足以构成淘汰理由。 - 其他行业的大型品牌 → 可用但需扣分。 你将永远需要与之争夺搜索结果(参见 availability.md §21)。权衡利弊;不要默认选择它。
反模式(2026-06-16,Kiln dogfood 中总结): 检查
npm/gh-user/dns,发现账号名空闲后,就称名称“可用”,却没有进行上述三项在先使用情况搜索。账号名确实空闲;但同一受众中已有一个 4.9k★ 的 AI 工具使用该名称。账号名可用 ≠ 名称不存在在先使用冲突。
2. 对通过筛选的名称进行域名和平台检查:
词典常见词捷径: 如果候选名称是常见的英语词典词(单个常见词),跳过精确匹配的 TLD 检查(.com、.dev、.io、.app、.co)——这些都已被占用。直接检查前缀变体(get[name].com、use[name].com)、后缀变体([name]dev.com、[name]guide.com)和其他 TLD(.site、.sh)。仅对自创词、罕见词或复合名称进行精确匹配的 TLD 检查。
使用捆绑的可用性检查脚本进行快速批量检查。该脚本位于此技能目录下的
scripts/check-availability.sh:
# In Claude Code, ${CLAUDE_SKILL_DIR} expands to this skill's directory. In other
# agents, resolve scripts/check-availability.sh relative to where this SKILL.md was loaded.
bash ${CLAUDE_SKILL_DIR}/scripts/check-availability.sh [name] domain npm github pypi telegram
只传入命名简报相关的平台。对每个通过筛选的半决赛候选名称运行该脚本。脚本会检查域名(使用 whois 检查 .com/.dev/.io)、npm、PyPI、GitHub 组织、crates.io、RubyGems、WP 插件别名和 Telegram。
对于脚本未涵盖的检查项(应用商店、社交账号),请使用 WebSearch。
尽可能并行运行检查——通过并行 Bash 调用对多个名称运行脚本。
3. 域名检查(Bash — whois):
- 至少检查
.com和最符合产品类型的 TLD - Bash:
whois [name].com 2>&1 | grep -iE "no match|not found|no data found|available"— 匹配到结果 = 可用 - 如果未安装 whois 或运行失败,则使用以下命令:
curl -s -o /dev/null -w "%{http_code}" https://[name].com— 但请注意,这只能检查网站是否上线,不能确认域名是否已注册 - 如果精确匹配的
.com已被占用,也检查前缀变体:whois get[name].com、whois use[name].com
4. 特定平台检查(根据命名简报):
根据命名简报要求,运行以下相应检查:
| 平台 | 检查方法 |
|---|---|
| npm | Bash:npm view [name] 2>&1 — “not found” = 可用 |
| PyPI | Bash:curl -s -o /dev/null -w "%{http_code}" https://pypi.org/project/[name]/ — 404 = 可用 |
| GitHub 组织 | Bash:curl -s -o /dev/null -w "%{http_code}" https://github.com/[name] — 404 = 可用 |
| GitHub 仓库 | Bash:gh repo view [org]/[name] 2>&1 — “not found” = 可用 |
| crates.io | Bash:curl -s -o /dev/null -w "%{http_code}" https://crates.io/api/v1/crates/[name] — 404 = 可用 |
| RubyGems | Bash:curl -s -o /dev/null -w "%{http_code}" https://rubygems.org/api/v1/gems/[name].json — 404 = 可用 |
| WP 插件别名 | Bash:curl -s "https://api.wordpress.org/plugins/info/1.2/?action=plugin_information&slug=[name]" — 响应中出现 "Plugin not found" = 可用 |
| Telegram | Bash:curl -s -o /dev/null -w "%{http_code}" https://t.me/[name] — 404 = 可用 |
| 应用商店 | WebSearch:"[name]" site:apps.apple.com 或 "[name]" site:play.google.com |
| 社交账号 | WebSearch:site:x.com/[name]、site:instagram.com/[name] |
5. 决策关卡:
- 淘汰未通过关键可用性检查的候选名称(存在直接竞争对手、商标冲突,或多个必需平台均不可用)
- 标记但保留名称足够出色、值得采用变通方案的候选名称(例如精确匹配的 .com 已被占用,但 get[name].com 可用)
- 如果通过筛选的候选名称少于 3 个,请返回第 3 步并生成更多候选名称——不要降低标准
只有通过此关卡的候选名称才能进入第 6 步。
第 6 步:评估与比较(内部)
按照加权标准为通过筛选的候选名称评分。进行语境句测试,并列比较。
加载 evaluation.md 以查看完整框架。
第 7 步:呈现并决策(首次面向用户的输出)
这是用户第一次看到候选名称。呈现排名前 3–5 的候选名称,并提供:
- 名称
- 名称由来(15 秒版本)
- 名称的优势(符合哪些原则)
- 可用性状态(已确认可用的平台,以及需要变通方案的平台)
- 任何风险或权衡
- 标语建议(参见 taglines.md 了解指南)
建议用户先花 24 小时考虑入围候选名称,再做决定。
何时回到前面的步骤
流程并非严格线性。遇到以下情况时,请回到前面的步骤:
- 所有候选名称都未通过反模式筛选(步骤 4): 回到步骤 2——你需要探索新的隐喻领域,而不是从已经探索过的领域中再找更多名称。
- 通过可用性检查的候选名称少于 3 个(步骤 5): 回到步骤 3——在仍然可行的领域中生成更多候选名称。
- 没有候选名称的评分高于 70(步骤 6): 回到步骤 2——隐喻基础不够扎实。
- 用户否决所有最终候选名称(步骤 7): 回到步骤 1——重新审视命名简报。可能需要调整限制条件、风格或受众假设。
不要一味推进质量薄弱的名称。回到较早的步骤,比降低当前步骤的标准更能产生好结果。
参考文件
| 文件 | 何时加载 |
|---|---|
| principles.md | 基础门槛——生成或评估时首先加载。每个候选名称都必须通过这些门槛。 |
| phonosemantics.md | 优化——在通过原则筛选的候选名称中做选择时进行声音匹配 |
| anti-patterns.md | 筛选候选名称时 |
| metaphor-mapping.md | 探索概念领域时 |
| cultural-references.md | 考虑神话、文学或科学相关引用时 |
| brand-architecture.md | 在产品系列中命名时 |
| language-rules.md | 使用外来词或非英语源语言时 |
| availability.md | 检查平台可用性时 |
| case-studies.md | 研究真实命名案例时 |
| evaluation.md | 为最终候选名称评分和比较时 |
| languages/INDEX.md | 面向非英语受众命名时——可用语言见索引 |
| industries/INDEX.md | 面向特定行业命名时——可用指南见索引 |
| open-source.md | 为开源项目命名时——CLI、注册表和社区方面的限制 |
| taglines.md | 为最终候选名称拟写标语时 |
关键规则
- 确定背景之前,绝不生成名称。 始终从命名简报开始。
- 绝不依赖同义词词典。 改用隐喻探索。
- 自主完成步骤 3-6。 不要展示原始候选名称、未筛选列表或中间结果。用户在步骤 7 只会看到最终经过审核、评分并完成可用性检查的候选名称。
- 立即指出 AI 套话。 如果候选名称符合反模式,请明确指出。
- 未经可用性检查,绝不提供名称。 每个最终候选名称都必须有经过实际工具验证的可用性状态。不要凭记忆猜测。务必运行检查。
- 没有由来故事,绝不提供名称。 每个名称都必须说明“为什么”。
- 最终候选重质量,不重数量。 提供 3-5 个强候选名称,而不是 20 个平庸的名称。
- 尊重用户的品味。 如果用户否决某个方向,不要强推——探索其他领域。
- 品牌级别 ≠ 可作动词。 定义品类的品牌(Notion、Obsidian、Figma、Linear)是带有具体隐喻、令人印象深刻的名词,不是动词。如果简报的目标是“与 [品类王者] 竞争”,就应以厚重感和可描绘的隐喻为优化方向;不要强行追求动词化。动作动词仍保持通用(GitHub + “push”、Vercel + “deploy”);品牌动词要靠使用赢得,绝非设计出来。