历史版本与状态
这是 orziz/odai 中声明名为 xzskill 的完整历史指南,固定提交快照为 4a694b0cc90bd48ecc3828af4beaf576cbbe2fe7,提交日期 2026-04-09 UTC。观察日期:2026-10-18 UTC。提交日期不等于该技能的首次发布日期。
本页保留旧名称、目录 ID、来源及安装命令,不自动替换成后来的同类入口。历史工作流、宿主约定和安装方式可能已经变化,当前旧入口可安装性未核验。以下内容作为来源资料展示,未执行其中的安装、修改、审查、同步、文件清理或代理调度指令。
完整历史原文
name: xzskill description: 基于 skills 目录中的标准技能,生成对应的手动安装版本并同步 README
xzskill 现在通过仓库内脚本 scripts/xzskill.js 执行。
目标
用户传入一个或多个 skill 名称后,基于 工程根目录/skills/<skill-name>/ 生成对应的手动安装文件,并对 README.md 做最小范围同步。
输入约束
- 接受 一个或多个 skill 名称,例如:
review-sslb harness-sslb。 - 如果未传名称,或任一名称无法明确解析为 skill 名称,提示用户重新输入。
- 只认
工程根目录/skills/<skill-name>/目录,不从.agents目录取安装来源。 - 不考虑依赖关系,不引入其他 skill 名称。
- 如果
<skill-name>是xzskill,直接报错并停止,避免自引用生成。
执行方式
- Claude 命令层只做薄封装。
- 实际生成逻辑统一由
工程根目录/scripts/xzskill.js完成。 - 脚本是唯一执行真相;不要再让模型按规则手工生成目标文件。
脚本职责
- 检查
工程根目录/skills/<skill-name>/SKILL.md是否存在;不存在就报错并停止。 - 读取
工程根目录/skills/<skill-name>/SKILL.md,将其作为主正文来源。 - 若同目录下存在
references/、assets/或scripts/,则将这些目录视为当前 skill 的附属资源,一并同步到各手动安装目标目录。 .claude/commands/<skill-name>.md中已有的 wrapper 信息(如allowed-tools、argument-hint、用户输入后的补充说明)视为 Claude 侧真相,生成时需要保留。- 不读取其他 skill 目录,不扫描仓库中无关目录,不参考其他 skill 作为模板。
- 生成目标文件时,默认采用“固定模板 + 正文直拷”策略:不要改写源文件正文,不要重组,不要风格化重写。
- 若正文中引用了
references/、assets/、scripts/下的相对路径,生成手动安装文件时应将这些路径改写为目标目录下可用的相对路径。 - 先解析源文件 frontmatter:
- 读取
name - 读取
description
- 读取
- 再取源文件 frontmatter 之后的正文,作为唯一正文载荷;正文段落顺序、标题层级、代码块、措辞保持原样。
- 直接基于源文件内容生成或覆盖以下目标文件:
.claude/commands/<skill-name>.md.github/skills/<skill-name>/SKILL.md.trae/skills/<skill-name>.md.trae/rules/<skill-name>.md
- 若存在附属资源目录,则在以下位置同步同名目录:
.claude/commands/<skill-name>/.github/skills/<skill-name>/.trae/skills/<skill-name>/.trae/rules/<skill-name>/
- 各目标文件的生成规则固定如下,不做临场判断:
.claude/commands/<skill-name>.md:保留name、description,并尽量保留该文件中已有的allowed-tools、argument-hint与用户输入后补充说明;frontmatter 后固定追加空行、用户输入:、$ARGUMENTS、空行,再拼接保留段和源文件正文.github/skills/<skill-name>/SKILL.md:保留name、descriptionfrontmatter 后,直接拼接源文件正文;附属资源与SKILL.md放在同一 skill 目录下,正文内资源相对路径保持源文件写法.trae/skills/<skill-name>.md:保留name、descriptionfrontmatter 后,直接拼接源文件正文;不额外改写.trae/rules/<skill-name>.md:保留name、descriptionfrontmatter 后,直接拼接源文件正文;不额外改写
- 更新
README.md时,只处理“当前已提供”列表:
- 若列表中不存在
工程根目录/skills/<skill-name>/SKILL.md,则追加一行 - 若已存在,则不重复添加
- 不修改 README 其他段落,不重写全文
- 若传入多个 skill,先完成全部校验,再逐个处理,避免只同步一半。
- 全程只处理当前指定的 skill,完成后停止。
严格限制
- 不修改
.agents下任何内容。 - 不扫描或操作无关 skill。
- 不发明新的文件格式,不扩展安装体系。
- 不为“参考现有格式”而搜索全仓文件。
- 如果源 skill 不存在,不做任何写入。
- 除
工程根目录/skills/<skill-name>/、当前.claude/commands/<skill-name>.md与README.md外,不读取其他 skill 目录。 - 不为了“更像目标平台”而重写源 skill 正文;正文一律按源文件直拷,除固定头部、Claude 侧保留段与资源相对路径改写外不改。
- 不调整正文章节顺序,不合并段落,不擅自增删规则。
- 不自行推断平台差异,不自行设计额外字段;凡源文件未写明、规则未写死的内容,一律不补。
- 若生成规则已固定,就按固定模板执行;不要反复比较“是否还能更像目标平台”。
- 写入目标文件时,凡规则中出现的
$ARGUMENTS,都按普通文本占位符处理,禁止展开、禁止替换、禁止引用当前传入参数。
失败输出
- 若任一源文件不存在:
错误:工程根目录/skills/<skill-name>/SKILL.md 不存在,无法生成手动安装版本。 - 若传入
xzskill:错误:xzskill 不支持生成自身的手动安装版本,请改为处理其他 skill。
成功输出
成功时只简要说明:
- 处理了哪些源文件;
- 各自更新了哪些目标文件;
- README 是已追加、已更新还是已存在;
- 已按最小必要范围完成同步。
固定来源与 MIT 许可
同名原文;同版本源目录;同版本许可。原文保持原样;本站状态说明和英文译文另行标识。
MIT License
Copyright (c) 2026 orzi!
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.