Agent Skills
返回列表
🔒

ZFL 显示名同步器

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_f1d11e73/zfl-skill-display-name。

技能介绍

一个容易踩的坑:改了 display_name 却没生效

SkillHub 面板读取的是 _skillhub_meta.json,而不是 SKILL.md。很多人只改 SKILL.md 里的 display_name 就以为完成了,结果重开技能列表后显示名纹丝不动——这是「改了没显示」的头号原因。

ZFL 显示名同步器 把两步操作收敛到一个命令里:同步修改 SKILL.md 与面板元数据,避免遗漏。

核心能力与工作方式

脚本会自动定位 skills 目录,你只需要在技能目录下执行:

  • list:以表格列出每个技能的目录名、display_name 与面板 meta 的 name,末尾附带总计
  • set:设置显示名,可用 --cn 追加中文固定参考名,输出 [OK] 并标明改前→改后
  • batch-zh:批量中文化,加 --dry-run 只预览不落盘
  • switch:一键切到 zh 或 en
  • check:校验 SKILL.md 与 _skillhub_meta.json 是否一致,N=0 即通过

字段模型

| 字段 | 位置 | 作用 |
|------|------|------|
| name | SKILL.md | 英文标识 = 目录名,永不修改 |
| display_name | SKILL.md | 用户可见名,可中可英 |
| cn_name | SKILL.md | 中文固定参考名 |
| name | skillhubmeta.json | 面板真正读取的显示名,由本技能自动同步 |

安全边界与注意点

  • 改名不改目录:name 字段等于目录名,永不修改,跨引用与调度不受影响
  • YAML 注入防护:display/cn 的值经过双引号转义,含换行或控制字符直接拒绝,无法伪造 version、description 等字段
  • 路径隔离:skill 参数仅允许 [A-Za-z0-9_-],真实路径必须落在 skills 目录内,阻断 ../ 遍历
  • 不静默失败:所有错误以 [ERROR] 开头并给出原因,set/switch 返回非零退出码;YAML/JSON 解析异常会告警并重建,不破坏原文件
  • 本地与线上是两份副本:已发布技能(source:skillhub)只改本地 _skillhub_meta.json,要同步到 SkillHub 线上仍需走发布更新流程

不适用场景

本技能只改显示名,不修改技能的功能、工作流或代码逻辑,也不支持非 WorkBuddy 的技能系统(其机制依赖 WorkBuddy 读取 _skillhub_meta.json 的约定)。它从 zfl-skill-factory 的 07_naming 能力抽取而来,专为「跨电脑单独使用、一步改名」的场景设计。

使用场景

  • 改完 SKILL.md 的 display_name 后面板仍显示旧名,需要一步同步 _skillhub_meta.json 让改名生效
  • 从 zfl-skill-factory 抽取的独立技能需要在跨电脑环境里单独修改显示名而不依赖工厂脚本
  • 团队里有多个技能的显示名仍是英文,需要批量切到中文并先用 dry-run 预览确认再落盘
  • 不确定 SKILL.md 的 display_name 与面板 meta 是否一致,需要跑一次 check 定位不同步的技能

适合人员

  • 独立开发技能并在多台电脑间分发的工程师,需要不改目录名就能修改面板显示名
  • 维护技能列表元数据一致性的运维人员,需要批量校验 SKILL.md 与 meta.json 的显示名是否同步
  • 从 zfl-skill-factory 抽取技能单独使用的开发者,需要跨电脑一键改名而不依赖工厂脚本
  • 对技能改名有安全顾虑的 reviewer,需要确认脚本不执行注入、不修改目录名、不改动代码逻辑