用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Youmiel/TechMCTranslationWorkflow --skill use-glossary命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
维护项目第一类知识(knowledge/)与索引(indexes/)的总入口:目录速查、维护任务路由(细节在各扩展 Skill)、通用知识卡维护、运行脚本、安全规则。修改 knowledge/、新建知识卡、或需决定"用哪个维护 Skill"时参考。
红石字幕翻译前置——阶段〇(领域预判与准备)+ 阶段一(术语扫描与知识补齐),产出 ASR 修正字幕(01)与确认术语表(02)。
将已确认的英文术语→中文译名登记到 knowledge/01_terminology/_uncategorized.csv 的规范。翻译工作流确认术语清单后、或文中出现明确映射时使用。
正在显示 SKILL.md
| name | use-glossary |
| description | 项目术语表(Mojang/TechMC/项目自有)的使用规范、类别预判、加载策略和安全规则。翻译红石内容或检索术语时自动参考。 |
本项目涉及三个"词汇表",容易混淆,必须先区分:
| 名称 | 位置 | 性质 | 说明 |
|---|---|---|---|
| 上游术语表 | _repos/techmc-glossary/ | 第三类,只读 Submodule | TechMC-Glossary 社区维护的合并 CSV |
| 拆分术语缓存 | .cache/glossary/ | 第二类,脚本生成 | 从上游按 Category 拆分的独立 CSV |
| 项目术语库 | knowledge/01_terminology/ | 第一类,人工维护 | 本项目的译名标准、人物/组织名录等 |
Agent 翻译时使用的术语来自拆分缓存 + 项目术语库,不是上游源文件。
此表为"三个词汇表"区分的唯一权威来源,其他 Skill(如
maintain-knowledge)引用此处。
AGENTS.md 核心原则 #6(禁止自动删除,.cache/glossary/ 需清理时提示用户手动执行)。.cache/glossary/(Git 忽略),不触碰项目其他目录。_repos/techmc-glossary/TechMC Glossary.csv(源文件是合并格式,且可能过时).cache/glossary/ 下的拆分文件(按类别独立,Agent 按需加载)glossary_lookup.py(只读,自动 L1→L1.5→L2;手工 grep 仅作兜底)
python scripts/glossary_lookup.py query <term> [<term>...]python scripts/glossary_lookup.py scan <srt|chunk> --categories <分类> --levels L1,L2。--categories 只按文件名过滤 L2(.cache/glossary/<文件名>.csv);L2 文件名与 glossary_categories.yaml 分类部分重叠但不对应(L2 另有 general/other/people),勿假设完全对应;L1 始终全量加载(体量小,文件分类与 yaml 是另一套命名);L1.5(Mojang,再一套命名)需显式 --levels L1,L1.5,L2语义联想为主,机械查找补漏(2026-08-03 用户定调):ASR 误识别修正、术语语义/语境理解、相关性判断靠 Agent 自身的语义联想/推理(注入领域术语集作上下文),不用字符串相似度等算法;"联想"=Agent 自己的语言理解,非调用外部 LLM/API。机械查找(
scan)仅作补充——字面精确匹配把"已登记词确实出现"找全,治"已收录却漏翻",不做任何理解/判定。
| 级 | 定位 | 查找位置 | 执行 |
|---|---|---|---|
| L1 | 热数据 | knowledge/01_terminology/*.csv、.cache/mojang/redstone.csv | glossary_lookup.py 自动 |
| L1.5 | Mojang 非红石 | .cache/mojang/*.csv | glossary_lookup.py 自动;grep 兜底 |
| L2 | 温数据 | .cache/glossary/*.csv(techmc 社区拆分译名)、_repos/storage-archive/dictionary/(存储科技术语词典,2026-08-28 新增源) | glossary_lookup.py、dictionary_lookup.py |
| L3 | 未命中 | — | 入"待查列表" → translate-redstone §1.2 集中补齐 |
python scripts/glossary_lookup.py <term> [<term>...](只读,自动按 L1→L1.5→L2 批量查询,命中输出来源);L2 存储科技术语词典(_repos/storage-archive)另用 python scripts/dictionary_lookup.py query/scan 查(含完整定义/缩写);工具不覆盖时用 grep_search 按上表位置兜底1. 运行 python scripts/refresh_cache.py(统一检查三类缓存:Mojang/TechMC 自动刷新,Wiki 只告警不自动抓取;或按需单独 glossary_split.py --check)
2. 按下方"类别预判"规则确定领域 → 加载 .cache/glossary/<相关类别>.csv
为节省上下文,不加载全部术语表。通过视频标题/简介 + SRT 前 20 句的关键词密度判断领域。
规则定义在 .github/experience/glossary_categories.yaml。该文件由 Agent 协助维护(见下方"配置文件自维护")。
预判流程:
.github/experience/glossary_categories.yamlcategory 下 keywords 的命中次数.cache/glossary/<category>.csv(同名文件存在时)always_load 中列出的分类语义扩展(非机械对应):关键词命中只是提示起点,识别出的类别不是唯一输出——一个视频往往横跨多个方面(存储视频也可能涉及机械/人名/通用)。Agent 应在命中基础上按语义关系判断还要加载哪些相关词汇表(
scan --categories传可多个的 L2 文件名);knowledge/01_terminology/(L1)由scan始终全量加载,其文件名与 yaml 分类是两套命名,勿按同名机械对应。勿把"命中≥2"当成机械的 1:1 加载规则。
领域确认(阶段〇必做交互,不得静默跳过):无论关键词命中与否,预判都要产出一个领域判断(分类 + 依据:命中关键词/语义线索),并在阶段〇报告给用户确认(轻量一句,如「预判领域:slimestone,依据 flying machine/piston ×3,对吗?」)。当无法确定时——所有分类命中均 <2 次、语义判断拿不准、或拿不准是否跨领域——必须停下来进入下方「无法判断时的处理」,列出候选请用户选择;不得靠语义扩展静默加载跳过确认(曾发生:Agent 凭语义直接加载分类、跳过领域确认,导致
glossary_categories.yaml关键词长期零增长)。确认后若本视频暴露了该分类未收录的高频词,顺手追加到 yamlkeywords(见下方「配置文件自维护」),使预判文件随正常流程积累。
当所有分类命中均 <2 次、或语义判断拿不准、或拿不准是否跨领域时——必须执行以下交互,不得静默跳过:
无法自动判断视频领域。以下是在字幕开头高频出现的技术名词:
- update suppression(3次)
- CCE(2次)
- light update(2次)
请确认这些词属于哪个分类(可选多个),或输入自定义分类名:
[mechanical / slimestone / tree_farm / mob_farm / storage / computational / contraptions / glitch / 1.12.2_magic]
.github/experience/glossary_categories.yaml,将新关键词追加到对应分类的 keywords 列表中阶段〇预判只是起点:翻译/扫描过程中若在非当前预判集合的分类词汇表(L2 文件 / 知识卡 02_mechanic/ / L1.5 非红石按需)命中并实际使用了词,说明该视频实际涉及该分类,应回填 yaml:
scan --categories 命中的词若来自未预判的 L2 分类、或 Agent 手动查词/读知识卡命中了未预判分类 → 记录该分类 + 实际命中的词keywords(含实际命中词)或标注「该视频涉及」,交用户确认后写入(Agent 提案 + 用户确认,同上方「无法判断时的处理」)部分术语是拼写正常的普通英文单词(如 filter、main storage),按"看着像术语"的直觉扫描会漏过、不触发查词。此类词按分类沉淀在 .github/experience/trap_words.md——它是与普通词汇表(术语 → 译名)正交的防呆提示层:词汇表负责"查到是什么",trap_words 负责"提醒记得去查"。
scan 字面覆盖,不保证语义扫描想起查)trap_words.md(与是否已登记入 L1 无关,只追加不删改既有条目,分类与 glossary_categories.yaml 一致);已登记入 _uncategorized.csv/knowledge/ 的词照常走 term-registration(登记是知识层,trap_words 是触发层,两者独立)两个机制各司其职,不可混淆:
.github/experience/coverage_log.md + source_experience.md | .github/experience/glossary_categories.yaml | |
|---|---|---|
| 记录什么 | 数据源检索流水(coverage_log)+ 可复用经验结论(source_experience,IF-THEN) | 领域关键词→分类映射 |
| 维护者 | Agent 自动追加 + 提炼 | Agent 提案 + 用户确认后写入 |
| 触发时机 | 翻译后(阶段三) | 翻译前(阶段〇无法判断时) |
| 目的 | 优化"去哪找" | 优化"加载哪些术语表" |
Chinese 列为标准译名,Description (Chinese) 列为中文释义English 列为标准英文术语[待审核: English Term]csv-rules Skill 执行(utf-8-sig 读 / utf-8 写、csv 模块解析)definition/description/notes 列常含逗号,禁止 split(',') 或 grep_search 按逗号分列,提取译名务必读取完整行用 csv.DictReader 解析.cache/glossary/ 是 Git 忽略的临时缓存,可随时删除后重跑脚本git submodule update --remote 同步--check 报错(源文件缺失),可能是 submodule 未初始化,运行 git submodule update --init