Skip to main content

naming

x-cmd 模块 / 命令 / 子命令的命名框架。主观 + 场景驱动;本 skill 是一个薄壳,不是规则手册。三层结构: 调研(目标)、naming.<user-task>.yml(OKR + 会话记录,是一份 .rule 文件)、naming.okr-creator.yml(对会话进行审计的 meta-rule)。

Source facts

Repository
x-cmd/skill0
Last source activity
September 2, 2026 at 20:07
Detected SKILL.md language
Chinese
Stars
1
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
naming
description
x-cmd 模块 / 命令 / 子命令的命名框架。主观 + 场景驱动;本 skill 是一个薄壳,不是规则手册。三层结构: 调研(目标)、naming.<user-task>.yml(OKR + 会话记录,是一份 .rule 文件)、naming.okr-creator.yml(对会话进行审计的 meta-rule)。
metadata
{"related":"rule,score,ontology-database"}
# Naming 命名是 **主观 + 场景驱动** 的。本 skill 是一个 **框架**,不是规则手册 —— 它不会把主观命名规则写死。 ## 快速导览 ``` ┌─────────────────────────────────────────────────────────┐ │ 1. 调研目标 │ │ 要命名什么?扮演什么角色?什么概念? │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ 2. naming.<user-task>.yml (.rule 文件) │ │ - goal-* (命名任务) │ │ - keyresult-* (可验证的结果) │ │ - task-* (任务级约束) │ │ - session: (对目标规则的审计轨迹) │ │ prefer (5 个 init-004 答案) │ │ init_verdicts (每个候选的 gate 决定) │ │ scores (每个候选的 D1-D7 锚点) │ │ final (选定 + 备选) │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ 3. 用 template/naming.okr-creator.yml 审计 │ │ x rule check -r <naming-dir> naming.<user-task>.yml │ └─────────────────────────────────────────────────────────┘ ``` ## Workflow —— 逐步说明 ### 步骤 1 · 调研目标 写任何东西之前,先回答下列问题。**不要** 跳过 —— 没有答案,scorer 无法锚定 D4(TRIAL/REAL)或 D5(RUN/TEST)。 - **要命名什么?** — module / subcommand / field / variable —— 不同的命名形式规则不同 - **它扮演什么角色?** — 锚定概念(例如 "trial-run 模块" → 独立 runner,两阶段测试的 Stage 1) - **必须 携带的先验是什么?** — 主导裸词义必须匹配(例如 trial-run 需要 TRIAL+RUN,而非 REAL+TEST) - **必须 避开的先验是什么?** — unittest 污染(`*test`/`*case`)、假(`*mock`/`*fake`/`*stub`/`*dry`)、真实部署(`field*`/`*live*`) - **哪种原型契合?** — ship / plane / rocket / factory / abstract —— 驱动 D6/D7 输出:一行目标陈述,例如 > "为 trial-run(两阶段测试的 Stage 1)挑选一个独立的 x-cmd 模块名,在 D1-D7 上得分 8.0+,一眼自解释,能扛过所有红线 / 字典 / 长度 fast-fail。" ### 步骤 2 · 创建会话记录 复制模板,再裁剪 / 填充。 ```bash cp naming.template.yml naming.<user-task>.yml ``` 然后按从上到下顺序填充 4 个区段: #### 2a. Goal rule(命名任务) 把 `goal-TBD_task_id` 换成真实 ID。ID 后缀应反映任务(如 `goal-trial-run-naming`、`goal-mvp-prerelease-subcmd`)。 ```yaml goal-trial-run-naming: name: <步骤 1 中的一行目标陈述> apply: "naming.<user-task>.yml (self)" level: error desc: - <来自步骤 1 的概念 + 角色 + 反先验> ``` #### 2b. Key results(可验证的结果) 把每个 `keyresult-kr*_TBD_short_label` 换掉。每个 KR 都必须能 PASS。任务有几个就加几个。 ```yaml keyresult-kr1-top-pick-committed: name: <可验证的结果 1> level: error desc: - <什么算通过 —— 具体判据,而非"看起来不错"> ``` #### 2c. 任务专属规则(候选约束) 把每个 `TBD_task_id-*` 换成匹配目标 task-id 后缀的真实约束 ID。裁掉不适用的,按需新增。 常见模式: - `must-be-X-not-Y` — 概念对齐(如 `must-be-TRIAL-not-REAL`) - `length-N-to-M-letters` — D1 硬区间 - `must-imply-<archetype>` — D7 约束 - `<domain>-specific-acceptable` / `not-acceptable` — 窄域许可 - `must-be-self-explanatory` — D3 ```yaml trial-run-001: name: <约束, 如 "must-be-TRIAL-not-REAL"> apply: "candidate words for <task-id>" level: error | warn desc: - <候选必须满足什么> - <它约束了哪个 D1-D7 维度> tldr: - wrong: <反例> - right: <正例> ``` #### 2d. Session record(对目标规则的审计轨迹) 填齐 4 个子区段: **prefer** —— **必须** 回答全部 5 个问题,即便答案是 "no / weak": ```yaml prefer: vivid: yes | no | weak domain_acceptable: [<窄域列表 OK,如 [naval]>] # [] = 没有窄域 OK length_priority: shorter | self_explanatory origin: english | chinese | coined trade_off: single_prior_ok | hit_every_dim ``` **init_verdicts** —— 每个考虑过的候选一条,含拒绝者: ```yaml init_verdicts: - { name: <候选>, gate: init-005 | init-006 | init-007 | pass, reason: "<原因>" } # init-005 = 红线模式匹配(自动拒绝) # init-006 = 字典首义与目标冲突 # init-007 = 长度越界(< 2 或 > 8) # pass = 通过全部 init gates,可进入评分 ``` **scores** —— 每个通过 init 的候选一条。分数均 >= 6.0。每条分数必须有锚点: ```yaml scores: - name: <候选> score: <0_to_10> anchors: - "D1: <字母数证据>" - "D2: <字典首义证据>" - "D3: <复合字面证据>" - "D4: <trial vs real 证据>" - "D5: <run vs test 证据>" - "D6: <生动性证据>" - "D7: <大型设备证据> misses: - "<缺失之处 —— 只列真正缺失,不必 7 项全列>" ``` **final** —— 声明选定 + 备选: ```yaml final: pick: <winning_candidate> backup: <runner_up_or_null> ``` ### 步骤 3 · 用 meta-rule 审计 ```bash x rule check -r <naming-dir> naming.<user-task>.yml ``` OKR-creator(位于 `template/naming.okr-creator.yml`)跑 11 项检查(error + warn 混合): | Check | Level | 验证内容 | |---|---|---| | `okr-creator-001` has-goal-rule | error | 文件含 ≥1 条 `goal-*` 规则 | | `okr-creator-002` has-keyresult-rules | error | 文件含 ≥1 条 `keyresult-*` 规则 | | `okr-creator-003` has-task-specific-rules | error | 文件含 ≥1 条任务规则(非 goal/keyresult) | | `okr-creator-010` has-session-record | error | goal 规则有 `session:` 字段 | | `okr-creator-011` prefer-answers-all-five | error | 全部 5 个 init-004 问题已回答 | | `okr-creator-012` init-verdicts-recorded | error | init_verdicts 非空 | | `okr-creator-013` scores-have-anchors | error | 每个分数都有非空 anchors 列表 | | `okr-creator-014` scores-no-below-6 | error | 所有分数 >= 6.0 | | `okr-creator-015` final-section-present | error | 已声明 `final.pick` | | `okr-creator-020` pick-backup-gap-le-1 | warn | score(pick) - score(backup) <= 1.0 | | `okr-creator-021` top-pick-at-least-7 | warn | pick 分数 >= 7.0 | **若有 error 检查失败**:修复文件并重新运行。常见修复: - 缺 prefer 字段 → 加到 `session.prefer` - 裸分 → 加 `anchors: [...]` - 分数 < 6 → 移到 `init_verdicts`(拒绝)或重新框定分数 - 缺 final → 加 `final: { pick, backup }` **若 warn 检查失败**:决定是否处理或记录权衡。 ### 步骤 4 · 用户挑选最终名字 skill 提议,用户决定。最终名字在 `session.final.pick` 中声明并提交。 ## 文件 | 文件 | 角色 | 格式 | |---|---|---| | `SKILL.md` | 本文件 —— 工作流 + 文件索引 | markdown | | `naming.template.yml` | 含 `TBD_*` 占位符的模板 —— 复制、重命名、填充 | `.rule` | | `naming.trial-run-module.yml` | 完整会话记录的范例 | `.rule` | | `template/naming-concept.yml` | 客观评估框架(D1–D7、红线、评分锚点)—— 以 `.rule` 条目形式 | `.rule` | | `template/naming-brand.yml` | x-cmd 品牌规则(长度、大小写、先验偏好)—— 以 `.rule` 条目形式 | `.rule` | | `template/naming.okr-creator.yml` | meta-rule:审计 `naming.<user-task>.yml`(上述 11 项检查) | `.rule` | | `template/naming-x-cmd-mod.yml` | 可选的 x-cmd 模块命名预设(starter session record) | `.rule` | ## 主观 vs 客观 划分 | 客观(写在文件 / 代码里) | 主观(init 时询问,不打分) | |---|---| | 字典首义 | "想要生动还是抽象" | | 字母数 | "允许窄域 X" | | Trial / Real / Run / Test 语义类 | "允许 naval 隐喻吗" | | 复合字面义 | "中文来源还是英文来源" | | 先验污染(unittest testcase, dryrun) | "短优先于自解释" | ## 规则 - **必须** 先调研目标 —— 要命名什么、扮演什么角色、什么概念作锚。 - **必须** 从 `naming.template.yml`(含 `TBD_*` 占位符)出发,按任务裁剪 / 填充。 - **必须** 产出 `naming.<user-task>.yml`(`.rule` 格式),包含 goal / key results / task rules / session record。 - **必须** 用 `x rule check` + `template/naming.okr-creator.yml` 审计会话记录。 - **必须** 把分数锚定在客观事实上 —— 不得随用户反应注水 / 缩水。 - **必须** 让用户挑最终名字 —— skill 提议,用户决定。 - **禁止** 把主观规则加进 `template/naming-concept.yml` —— 那些应放在任务的 `session.prefer`。 ## Related - [rule](../rule/SKILL.md) — naming 会话通过 x rule 校验 - [score](../score/SKILL.md) — 候选通过 score 框架打分 - [ontology-database](../ontology-database/SKILL.md) — 选定的名字持久化到 ondb
View on GitHub