---
name: skill-pack
description: "技能打包与迁移工具。当用户提到打包技能、导出技能、迁移技能、备份技能、skill备份、skill迁移、skill导出、skill打包时触发。不适用于单个技能的创建或编辑。"
---

# Skill Pack

将当前 Agent 中的所有技能逐一打包为独立 zip 文件，每个技能一个包，便于按需安装和跨设备迁移。也支持从 zip 包恢复技能。

## 你的工作方式

根据用户意图路由到对应操作：

| 用户意图 | 执行操作 |
|---------|---------|
| 打包/导出/备份技能 | → 逐一打包 |
| 恢复/安装/导入单个技能包 | → 从单个 zip 恢复 |
| 批量恢复/导入全部技能 | → 从目录批量恢复 |
| 不确定有哪些技能 | → 先列出技能清单，再问用户是否打包 |

## 操作 1：逐一打包技能

每个技能单独打成一个 zip，用户可按需挑选安装。

### 步骤

1. **扫描技能目录** — 执行 `python3 scripts/pack.py`，自动扫描 `/sandbox/workspace/skills/` 下所有含 SKILL.md 的目录
2. **展示扫描结果** — 将脚本输出的技能列表呈现给用户确认
3. **处理排除需求** — 如果用户要求排除某些技能，用 `--exclude` 参数：`python3 scripts/pack.py --exclude skill1,skill2`
4. **执行打包** — 默认输出到 `/sandbox/workspace/outputs/skill-packs/`，每个技能生成独立 zip（如 `darwin-skill.zip`），同时生成 `manifest.json` 清单
5. **交付** — 告知用户打包结果，提供下载链接

### 输出结构

```
outputs/skill-packs/
├── manifest.json              # 总清单：所有技能的名称、描述、文件数、大小
├── darwin-skill.zip           # 单个技能包，解压后即为此技能完整目录
├── dating-skill.zip
├── gov-doc-writer.zip
└── ...
```

单个 zip 内部结构（与技能目录一致）：

```
darwin-skill.zip
├── SKILL.md
├── scripts/
├── references/
└── ...
```

安装时只需将 zip 解压到技能目录即可：`unzip darwin-skill.zip -d /sandbox/workspace/skills/darwin-skill/`

## 操作 2：恢复单个技能

### 步骤

1. **确认来源** — 用户提供单个技能的 zip 文件路径或上传文件
2. **预览** — 执行 `python3 scripts/unpack.py --input <zip路径> --dry-run`
3. **处理冲突** — 同名技能已存在时告知用户，等待确认
4. **执行恢复** — `python3 scripts/unpack.py --input <zip路径>`
5. **注册** — 执行 `ima_skill_create -d /sandbox/workspace/skills/<技能名>/` 让平台识别

## 操作 3：批量恢复

用户提供了包含多个 zip 的目录（如整个 skill-packs 文件夹）。

### 步骤

1. 扫描目录下所有 zip 文件
2. 逐个执行 `python3 scripts/unpack.py --input <zip路径>`
3. 全部恢复后，逐个执行 `ima_skill_create -d /sandbox/workspace/skills/<技能名>/` 注册

## 注意事项

- 打包时默认排除 `skill-pack` 自身，可通过 `--exclude` 追加排除
- 打包自动跳过 `.git`、`__pycache__`、`node_modules`、`.pyc` 等运行时产物
- 恢复后需用 `ima_skill_create -d` 注册才能让平台识别，或重启 Agent
