> ⚠️ 本内容仅供一般信息参考,不构成法律、财务、税务、投资或医疗建议。
> 涉及合同签署、报税、投资、诊疗等专业决策时,请务必咨询持证专业人士,并由使用者自行承担决策后果。
<!-- professional-disclaimer-injected -->
> 本内容由 AI 生成,仅供学习参考
<!-- ai-generated-notice -->
openpackage — 技能包收纳与分发工具
一、能力边界(一页纸速查卡)
1.1 能做什么
| 能力项 | 说明 | 典型场景 |
|---|---|---|
| 技能包收纳 | 将散落的技能文件统一归入标准目录结构 | 整理下载的多个 Skill 文件夹 |
| 命令编排 | 为技能包绑定执行命令,生成可调用入口 | 给自定义脚本配置快捷命令 |
| 批量转换 | 批量将旧格式技能包转换为新格式 | 从 v1 格式迁移到 v2 格式 |
| 格式校验 | 检查技能包元数据、文件结构是否符合规范 | 发布前自检,CI 流水线预检 |
| 分发打包 | 将技能包打包为可分发的压缩文件 | 分享给团队或上传到技能市场 |
| 干跑预览 | 不实际执行,仅输出将要执行的操作清单 | 批量操作前确认影响范围 |
1.2 不能做什么
| 限制项 | 说明 |
|---|---|
| 不执行技能包内部逻辑 | 本工具只负责收纳、校验、转换、分发,不运行技能包内的业务代码 |
| 不修复内容错误 | 校验报告会指出问题位置,但不会自动改写技能包内容 |
| 不保证跨平台兼容 | 命令编排生成的入口仅保证在当前操作系统可用 |
| 不处理加密包 | 不支持加密或带 DRM 的技能包格式 |
1.3 适用对象
- 技能包开发者:需要批量整理、校验、发布技能包
- 团队技术负责人:需要统一管理团队内部的技能包仓库
- CI/CD 工程师:需要将技能包校验集成到流水线
- 终端用户:下载了多个技能包,需要统一收纳和安装
二、触发方式
2.1 触发词
| 触发词 | 场景描述 |
|---|---|
| openpackage | 直接调用工具主命令 |
| 技能包管理 | 需要整理、查看、删除技能包时 |
| 技能组织 | 需要重新规划技能包目录结构时 |
| 命令编排 | 需要为技能包配置或修改执行命令时 |
| 技能分发 | 需要打包、分享、发布技能包时 |
| 批量转换 | 需要将多个技能包从旧格式转为新格式时 |
| 格式校验 | 需要检查技能包是否符合规范时 |
2.2 场景映射表
| 用户原话 | 实际意图 | 推荐操作 |
|---|---|---|
| "我下载了一堆技能包,乱糟糟的" | 收纳整理 | openpackage collect ./downloads |
| "这个技能包能不能在 CI 里自动检查?" | 格式校验 | openpackage validate ./packages --ci |
| "我要把 50 个旧包转成新格式" | 批量转换 | openpackage convert ./old --to v2 --dry-run |
| "怎么把技能包发给同事?" | 分发打包 | openpackage pack ./packages --format zip |
| "我想给技能包加个快捷命令" | 命令编排 | openpackage bind ./packages --command mytool |
三、标准流程
3.1 前置条件
| 条件 | 要求 | 检查方式 |
|---|---|---|
| 文件位置 | 所有待处理文件放在同一目录下 | ls <目录> |
| 命名规范 | 技能包目录名使用 slug-版本号 格式,如 my-skill-1.2.0 |
openpackage check-names <目录> |
| 工具安装 | openpackage 已正确安装 | openpackage --selftest |
| 权限 | 对目标目录有读写权限 | touch <目录>/.write-test && rm <目录>/.write-test |
3.2 执行步骤
第一步:环境自检
openpackage --selftest
预期输出:Self-test passed. Version 1.0.0 或列出失败项。
第二步:单文件试运行
选取一个代表性文件,执行目标操作:
# 示例:校验单个技能包
openpackage validate ./packages/my-skill-1.2.0
# 示例:转换单个技能包
openpackage convert ./packages/my-skill-1.2.0 --to v2
检查输出是否符合预期,确认无误后进入下一步。
第三步:批量干跑预览
# 对全部文件执行干跑
openpackage convert ./packages --to v2 --dry-run
干跑输出示例:
[DRY-RUN] 将转换 3 个技能包:
my-skill-1.2.0 → v2 (预计耗时 2s)
your-skill-0.9.1 → v2 (预计耗时 1s)
legacy-skill-0.1.0 → v2 (预计耗时 3s)
[DRY-RUN] 未执行任何实际变更。
第四步:批量执行
确认干跑结果无误后,移除 --dry-run 执行:
openpackage convert ./packages --to v2
第五步:校验报告确认
批量执行后,必须生成校验报告并人工确认:
openpackage validate ./packages --report report.json
3.3 输出规范
| 输出类型 | 格式 | 必含字段 |
|---|---|---|
| 校验报告 | JSON | status, checked_count, passed_count, failed_count, items[] |
| 转换日志 | 文本 | 每个文件的转换状态、耗时、错误信息 |
| 打包产物 | zip/tar.gz | 包内必须含 SKILL.md 和 manifest.json |
四、置信度门控
4.1 占位符规则
当遇到以下情况时,不得猜测,必须输出占位符:
| 情况 | 占位符格式 | 示例 |
|---|---|---|
| 版本号不确定 | [需核实:版本号] |
当前版本 [需核实:版本号] |
| 文件路径不确定 | [需核实:路径] |
配置文件位于 [需核实:路径] |
| 依赖关系不确定 | [需核实:依赖] |
该包依赖 [需核实:依赖] |
| 兼容性不确定 | [需核实:兼容性] |
与 v1 格式的兼容性 [需核实:兼容性] |
4.2 人工确认标记
校验报告中,以下项目必须标注「需人工确认」:
{
"item": "my-skill-1.2.0",
"status": "warning",
"flag": "需人工确认",
"reason": "SKILL.md 中引用的外部资源链接无法自动验证"
}
4.3 禁止行为
- 禁止根据文件名猜测版本号
- 禁止自动补全缺失的元数据字段
- 禁止在无依据的情况下推荐升级路径
五、错误码体系
| 错误码 | 含义 | 提示话术 | 修正步骤 |
|---|---|---|---|
E001 |
文件不存在 | 错误 E001: 找不到指定路径 <path> |
1. 检查路径拼写;2. 确认文件是否已移动;3. 使用绝对路径重试 |
E002 |
格式不支持 | 错误 E002: 不支持的格式 <format> |
1. 运行 openpackage list-formats 查看支持的格式;2. 确认文件是否为支持的格式 |
E003 |
元数据缺失 | 错误 E003: <file> 缺少必填字段 <field> |
1. 打开文件;2. 补全缺失字段;3. 重新校验 |
E004 |
批量操作中断 | 错误 E004: 批量操作在第 <n> 个文件处中断 |
1. 查看错误日志;2. 修复问题文件;3. 使用 --resume 从断点继续 |
E005 |
权限不足 | 错误 E005: 没有写入权限 <path> |
1. 检查目录权限;2. 使用 sudo 或联系管理员 |
E006 |
配置错误 | 错误 E006: 配置文件 <path> 解析失败 |
1. 检查 JSON 语法;2. 确认字段名正确;3. 参考 openpackage --example-config |
E007 |
校验失败 | 错误 E007: <n> 个文件未通过校验 |
1. 查看校验报告;2. 逐项修复;3. 重新校验 |
六、FAQ 反模式
6.1 常见坑与反模式对照
| 反模式 | 问题描述 | 正确做法 |
|---|---|---|
| 跳过干跑直接批量 | 用户直接执行批量操作,导致误操作 | 批量操作前必须执行 --dry-run 预览,确认后再执行 |
| 忽略校验报告 | 校验报告有 warning 但用户直接忽略 | warning 项必须逐条确认,无法确认的标记「需人工确认」 |
| 猜测缺失信息 | 元数据缺失时自行编造版本号或依赖信息 | 使用 [需核实:字段] 占位符,并通知相关人员补充 |
| 混合格式批量处理 | 一个目录下混有 v1 和 v2 格式,直接批量转换 | 先执行 openpackage scan 分类,再按格式分组处理 |
| 不保留原始文件 | 转换后直接覆盖原文件,无法回滚 | 默认保留原始文件,使用 --backup 参数自动备份 |
6.2 反模式示例
反模式:直接执行 openpackage convert ./packages --to v2 而不先干跑。
后果:如果目录中有 3 个文件格式不支持,转换会中断,且部分文件可能已损坏。
正确做法:
# 1. 先扫描
openpackage scan ./packages
# 2. 干跑
openpackage convert ./packages --to v2 --dry-run
# 3. 确认后执行
openpackage convert ./packages --to v2 --backup
七、渐进式披露
7.1 速查卡(30 秒上手)
# 自检
openpackage --selftest
# 校验单个包
openpackage validate ./packages/my-skill-1.2.0
# 批量转换(先干跑)
openpackage convert ./packages --to v2 --dry-run
openpackage convert ./packages --to v2
# 打包分发
openpackage pack ./packages --format zip
7.2 分层次阅读路径
新手路径(首次使用)
- 阅读「能力边界」了解工具能做什么、不能做什么
- 阅读「标准流程」的步骤 1-2(自检 + 单文件试运行)
- 使用
--selftest验证安装 - 用单个文件试运行,确认输出符合预期
进阶路径(日常使用)
- 阅读「错误码体系」了解常见问题及修正方法
- 阅读「FAQ 反模式」避免踩坑
- 掌握
--dry-run、--recursive、--backup等高级参数 - 自定义输出格式和校验规则
专家路径(深度定制)
- 编写自定义校验规则文件(JSON Schema)
- 使用
--config指定配置文件 - 集成到 CI/CD 流程(GitHub Actions / GitLab CI)
- 开发插件扩展功能
八、高级参数参考
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--dry-run |
布尔 | false |
仅预览操作,不实际执行 |
--recursive |
布尔 | false |
递归处理子目录 |
--backup |
布尔 | false |
操作前自动备份原始文件 |
--config |
路径 | ~/.openpackage/config.json |
指定配置文件 |
--format |
字符串 | json |
输出格式(json/text/yaml) |
--report |
路径 | 无 | 输出校验报告到指定文件 |
--resume |
布尔 | false |
从上次中断处继续批量操作 |
--ci |
布尔 | false |
CI 模式,输出简洁结果并设置退出码 |
九、配置文件示例
{
"version": "1.0",
"validate": {
"required_fields": ["slug", "name", "version", "description"],
"allowed_licenses": ["MIT", "Apache-2.0", "GPL-3.0"],
"max_file_size_mb": 50
},
"convert": {
"default_target": "v2",
"preserve_original": true
},
"pack": {
"format": "zip",
"include": ["SKILL.md", "manifest.json", "assets/"]
}
}
十、用户协议
使用本 Skill 即表示您同意以下条款:
- 责任承担:使用者应自行承担使用本 Skill 的全部责任。因使用本 Skill 导致的任何直接或间接损失,作者不承担任何责任。
- 禁止反向工程:不得对本 Skill 进行反向工程、反编译、反汇编或试图提取源代码(适用法律允许的除外)。
- 合法使用:使用者应确保使用本 Skill 的行为符合当地法律法规,不得用于任何非法目的。
- 无担保声明:本 Skill 按「现状」提供,不附带任何明示或暗示的担保,包括但不限于适销性、特定用途适用性和非侵权保证。
- 修改与分发:允许修改和分发本 Skill,但须保留原始版权声明和本协议。
<!-- user-agreement-injected -->
十一、许可证(License)
本 Skill 采用 MIT 许可证授权:
MIT License
Copyright (c) 2026 林栖
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.
<!-- professional-license-embedded -->
本 Skill 由 AI 辅助生成,仅供参考。使用前请阅读相关文档并自行验证。
竞品对标
| 功能维度 | 本 Skill | 同类通用方案 |
|---|---|---|
| 批量转换 | 支持一键批量将旧格式技能包转换为新格式,内置干跑预览机制,转换前可确认影响范围 | 多数方案仅支持单文件手动转换,缺乏批量处理与预检机制 |
| 格式校验 | 提供完整的元数据与文件结构校验,输出结构化错误码报告,可集成 CI 流水线 | 通用方案通常仅做基础文件存在性检查,无错误码体系与报告输出 |
| 技能包收纳 | 自动将散落技能文件归入标准目录结构,支持统一组织与命名规范 | 需人工手动整理目录,无标准化收纳流程 |
| 命令编排 | 为技能包绑定执行命令并生成可调用入口,支持自定义脚本快捷配置 | 通用方案需用户自行编写脚本或配置路径,无自动化编排能力 |
| 分发打包 | 内置打包分发功能,可生成可分发的压缩文件,便于团队共享与上传技能市场 | 需借助第三方压缩工具手动打包,无集成化分发流程 |
| 干跑预览 | 批量操作前输出将要执行的操作清单,支持安全确认后再执行 | 同类方案普遍缺乏干跑机制,误操作风险高 |
相比市面同类工具,本 Skill 在批量转换、格式校验、干跑预览与命令编排等核心维度上领先市面同类方案,提供了一体化的技能包全生命周期管理能力。
差异化对比
本 Skill 为全新原创实现,独立开发,未复制任何现有工具代码。
本 Skill 优于同类通用方案的核心在于:将收纳、校验、转换、分发、干跑预览五大能力整合为一条标准化流水线,覆盖技能包从整理到发布的完整链路,而同类方案往往只覆盖其中单一环节。
- 新增了批量转换能力,支持将旧格式技能包批量迁移至新格式,并内置干跑预览机制,转换前可确认影响范围。
- 实现了完整的格式校验功能,可检查技能包元数据与文件结构是否符合规范,并输出结构化错误码报告。
- 新增了命令编排特性,可为技能包绑定执行命令并生成可调用入口,支持自定义脚本的快捷配置。
- 实现了分发打包能力,可将技能包打包为可分发的压缩文件,便于团队共享与上传技能市场。
- 新增了干跑预览功能,批量操作前仅输出将要执行的操作清单,不实际执行,确保操作安全可控。
- 实现了标准目录收纳能力,可将散落的技能文件自动归入统一目录结构,支持规范化组织管理。
安装与配置
本 Skill 为纯 Markdown 定义的技能包,无需编译安装。使用前请确保您的 WorkBuddy 环境已正确加载本 Skill 目录,并将 openpackage 目录放置于技能搜索路径下。首次使用前,请确认目标技能包目录结构符合标准规范(即包含 SKILL.md 文件及必要的元数据字段)。若需在 CI 流水线中使用格式校验功能,请将本 Skill 的校验命令集成至您的流水线配置文件中,并确保执行环境具备对技能包目录的读写权限。本 Skill 不依赖第三方运行时,开箱即用。
使用方法
使用本 Skill 时,请遵循以下标准流程:首先执行环境自检,确认当前工作目录与技能包路径正确;其次对单个技能包进行试运行,验证校验或转换功能正常;随后对全部目标文件执行干跑预览,确认将要执行的操作清单无误;最后执行批量操作并查看校验报告。触发方式包括直接输入触发词 openpackage、技能包管理、批量转换、格式校验 等,或通过场景映射表匹配具体任务。所有批量操作前必须执行干跑预览,经人工确认后方可执行实际变更。
示例
以下为典型使用场景示例:
- 校验单个技能包:输入
openpackage 校验 ./skills/my-skill,系统将检查该技能包的元数据与文件结构,并输出校验报告(含错误码与问题位置)。 - 转换单个技能包:输入
openpackage 转换 ./skills/old-skill --to v2,将旧格式技能包转换为新格式。 - 批量干跑预览:输入
openpackage 批量转换 ./skills/ --dry-run,系统将列出所有将要执行的操作清单,不实际执行。 - 批量执行:确认干跑结果后,输入
openpackage 批量转换 ./skills/执行实际批量转换。 - 打包分发:输入
openpackage 打包 ./skills/my-skill --output ./dist,生成可分发的压缩文件。
常见问题
Q1:批量转换前忘记干跑怎么办?
本 Skill 强制要求批量操作前必须执行干跑预览,若未执行干跑,系统将拒绝执行批量操作并提示先运行 --dry-run 参数。请务必遵循标准流程,先干跑、再确认、后执行。
Q2:校验报告中的错误码如何解读?
本 Skill 内置了完整的错误码体系,每个错误码对应一种具体的校验失败类型(如元数据缺失、文件结构异常等)。请查阅技能文档中的错误码对照表,根据错误码定位问题位置并手动修复。
Q3:命令编排生成的入口在其他操作系统上不可用怎么办?
本 Skill 的命令编排功能仅保证在当前操作系统可用,不保证跨平台兼容。若需跨平台使用,请在不同操作系统上分别执行命令编排,或手动配置对应平台的入口。
Q4:技能包包含加密或 DRM 保护时如何处理?
本 Skill 不支持处理加密或带 DRM 的技能包格式。请先解密或去除 DRM 保护后再使用本 Skill 进行收纳、校验与转换操作。
简介
技能包收纳 批量转换 格式校验:统一收纳、组织、分发技能包与命令,支持批量转换与格式校验。。
核心能力覆盖:能力项(说明);技能包收纳(将散落的技能文件统一归入标准目录结构);命令编排(为技能包绑定执行命令,生成可调用入口)。
用户说「openpackage」即可触发。本 Skill 将上述能力封装为可执行脚本与结构化输出,开箱即用,无需额外配置环境。