关于 nomen
Nomen 是用于生成、评议、验证或重命名项目、产品、应用、包、CLI 和品牌的技能。它结合多种命名策略与当前来源核查,并提供说明适配度和风险的排序候选清单。
主要功能
- 01运用多种策略生成名称
- 02评议或验证候选名称
- 03查询相关注册表和目录
- 04评估应用商店名称冲突
- 05规划公开标识的重命名
适用场景
- 01为产品或软件包构思名称
- 02审视候选名称及其风险
- 03检查当前名称冲突信号
- 04规划重命名而不改动技术标识
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ howells/ skills --skill nomen安装后在 Claude Code 中输入/nomen确认已加载。
附带文件agents/openai.yamlreferences/name-strategies.md
详细介绍
Nomen
使用此技能为项目、产品、应用、软件包、CLI、功能、团队或品牌生成、评析和验证名称。
名称的可用性会随时间变化。验证实际候选名称时,请先搜索当前来源,再对冲突、软件包名称、域名或商标作出判断。可用性检查只能作为参考,不能替代法律建议。
参考资料
在生成候选名称、说明命名方法或验证名称时,加载 references/name-strategies.md(其中的 Validation Caveats 部分适用于 Validate Mode)。
开始
调用时:
- 说明你正在使用
nomen技能。 - 确定用户需要生成、验证、重命名还是评析名称。
- 如果正在处理代码库,先检查相关背景:
README.mdpackage.jsondocs/vision.mddocs/brand-system.md- 应用、软件包、命令和域名的文件夹名称
- 现有公开名称、产品文案和环境变量前缀
- 只询问会实质影响命名范围的缺失约束。
可参考的问题:
- 要为哪些内容命名?
- 面向哪些人?
- 希望名称给人技术、编辑、优质、活泼、实用还是机构化的感觉?
- 有没有需要避开的词语、发音、语言或类别?
- 是否需要域名、软件包名称、CLI 可执行文件、社交媒体账号名或法律审查?
遇到阻碍时,一次只问一个问题。若没有阻碍,则按已说明的假设继续。
Generate Mode
除非用户要求更少,否则生成 8–12 个可靠的候选名称。采用多种策略,而非只套用一种模式:
- 动词名称。
- 隐喻名称。
- 组合名称。
- 短词名称。
- 混成词名称。
- 前缀或后缀变体。
- 特定领域的典故。
- 发音或节奏鲜明的名称。
每个候选名称都需说明:
- 使用的策略。
- 它为何适合该产品。
- 发音或拼写风险。
- 与产品语气和类别的契合度。
- 深入验证前显而易见的冲突风险。
避免凑数。除非用户要求,否则不要提供玩笑式名称。
Validate Mode
验证名称时,请根据请求检查当前来源。对每个服务提供方或注册机构而言,网络、身份验证和速率限制故障都意味着状态未知,而不是可用。区分权威的未找到响应与查询失败:
- 使用通用网页搜索查询精确名称及相关词语。
- 如果名称面向开发者,检查 GitHub 仓库和组织冲突。具体来说:对精确的所有者/名称,使用
gh api "repos/OWNER/NAME"(200 = 仓库已存在;404 = 当前凭据无法查看该仓库,其中可能包括私有仓库);使用gh search repos NAME --limit 20评估名称的拥挤程度。 - 相关时检查软件包注册表。具体来说:使用
npm view NAME name(检查注册表特有的未找到响应;网络、身份验证和速率限制故障意味着状态未知,而不是未发布)、pip index versions NAME、cargo search NAME或gem list -r -e NAME。注册表返回 404 并不意味着该名称可以注册——npm 也会拒绝与现有软件包过于相似的名称(标点符号/拼写欺诈规则),而被垃圾预留或未发布的名称也会返回 404。应将 404 视为“目前未发布”,而不是“你可以认领”。 - 检查所需顶级域名的域名和 DNS 信号。
- 应用商店——如果要命名的对象是或可能成为移动应用或桌面应用,请务必检查(参见下文“App Store 检查”)。这一点很容易被忽略,遗漏的代价也很高:App Store 中的名称冲突会阻止公开发布,而且某个名称可能在 npm/域名中可用,却已经被已发布的应用占用。
- 对名称拥挤的情况,检查产品目录(Product Hunt、应用商店分类列表)。
- 只有当用户明确需要这类信号时,才检查商标数据库。
App Store 检查
Apple 的公开 iTunes Search API 无需密钥。请为目标选择实体:iPhone 应用使用 software,iPad 应用使用 iPadSoftware,Mac 应用使用 macSoftware;查询每个相关平台。报告平台、国家/地区和查询日期。搜索结果是冲突信号,而非可注册性的证明。如果结果达到请求的上限,请扩大或细化搜索,而不要声称已全面覆盖。对搜索词进行 URL 编码(原始空格会导致查询被静默截断);如果应用面向其他地区,请将 country 扩展到 us 以外的范围,否则不会显示仅在特定地区提供的应用:
curl -s -G "https://itunes.apple.com/search" \
--data-urlencode "term=NAME" \
--data "entity=software&limit=20&country=us"
从 JSON 的 results[] 中检查每个 trackName / sellerName,并报告:
- 完全匹配的名称(
trackName与名称相同,不区分大小写——App Store 会将“Clipper”和“clipper”视为同一冲突)→ App Store 名称已被占用; - 前缀匹配(
trackName以NAME、NAME:、NAME -开头)→ 存在近似冲突; - 类别饱和度——许多应用的名称只是包含该词(例如,十几个名为“clipping”的应用)。即使该名称本身尚未被占用,类别饱和也意味着名称缺乏独特性,值得指出。
对于 Android,通过网络搜索 NAME site:play.google.com 是切实可行的替代方法。
核实,不要只相信一次查询
使用权威注册机构的 RDAP 或注册商查询来确认注册状态,并检查错误,而不要将每个失败的响应都视为未找到。DNS 和 HTTP 只能作为使用情况的辅助证据,不能用于检查可用性。网站正常运行是域名正在使用的有力证据;dig +short NAME.TLD NS 返回空结果并不能证明域名尚未注册。已注册域名可能没有委派(ICANN 状态定义)。如果信号相互矛盾或注册机构查询失败,请将状态报告为未解决,并保留现有使用情况的证据。即使域名尚未注册,也可能已被保留或因其他原因无法注册。
使用谨慎的措辞:
- 搜索结果干净时,请说“未发现明显冲突”。
- 域名、程序包或 App Store 名称似乎已被占用时,请说“可能无法使用”。
- 未经合格的商标检查,不要声称某个名称在法律上可用。
- 未经用户明确批准,不要购买、注册、预留或认领任何内容。
输出
按排名提供候选名单。对于每个最终候选项,请包括:
- 名称。
- 理由。
- 适配度。
- 风险。
- 验证证据。
- 建议的后续行动。
最后给出明确的推荐,而不是不加区分的列表。
重命名模式
重命名现有项目时:
- 确定需要更改的公开部分,例如程序包名称、CLI 命令、文档、环境变量前缀、API 标识符、应用标题和代码库名称。
- 将品牌重命名工作与技术迁移工作区分开来。
- 除非用户明确要求实施,否则不要更改标识符。
- 如果用户要求实施,请将范围内的使用位置更新为选定名称。除非迁移已获授权,否则请保留受支持的外部契约;仅重塑品牌并不意味着可以破坏已发布的标识符。
完成检查
完成前,请确认:
- 候选名称符合产品和受众。
- 至少采用了三种命名策略。
- 验证结论是最新的,并附有恰当的限定说明。
- 如果该产品是或可能成为应用,已检查 App Store(以及适用时的 Play Store),而不只是 npm 和域名。
- 可用性结论已通过交叉核验(而非仅进行一次 RDAP/WHOIS 查询),尤其是任何“可用”的判定。
- 推荐说明了其中的权衡。
- 明确指出任何尚未解决的法律、域名或程序包问题。