# Equipment Manager

> 管理第三方 skill/agent 仓库的安装、筛选与精简。已接入：msitarzewski/agency-agents、wshobson/agents、mattpocock/skills（新仓库可按流程接入）。当用户提到某个 skill/agent 仓库的更新、安装、精简、盘点时使用——包括 git pull 后评估新内容、从这些仓库装新装备、删除无用的旧装备、或想接入一个新的第三方仓库。凡涉及"要不要装、装什么、删什么"的 skill/agent 决策都用本技能，不直接动手。各仓库结构/安装机制见 references/ 下档案。

- Skill: `mi4646/equipment-manager-2` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add mi4646/equipment-manager-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/mi4646/equipment-manager-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: mi4646 (https://skillmd.com/u/mi4646)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/mi4646/equipment-manager-2

---


# 装备管理器（Equipment Manager）

把「盘点 → 查重 → 三档筛选 → 提问澄清 → 备份安装 → 验证」固化为通用方法论，管理从第三方仓库安装的 skill 与 agent。**方法论一份，各仓库专属情报按仓库归档在 `references/`**——加新仓库只需加一个档案文件，方法论不动。

## 使用时机

- 某仓库 `git pull` 后有新增/变更的 skill 或 agent，需评估是否安装
- 从某仓库安装新 skill/agent
- 精简/删除某仓库已装的装备
- 盘点本地已装的 skill/agent 及其来源

## 支持的仓库

| 档案 | 仓库 | 内容 |
|------|------|------|
| `references/msitarzewski.md` | msitarzewski/agency-agents | agent 按 domain 分目录，install.sh 清单安装 |
| `references/wshobson.md` | wshobson/agents（Marketplace） | plugins 多域结构，符号链接惯例 |
| `references/mattpocock.md` | mattpocock/skills | 按 domain 分目录，link-skills.sh |

## 接入新仓库

当用户说「我新 clone 了 XX 仓库」「想接入 XX 仓库」、或提出一个新的 skill/agent 来源时：

1. **确认来源**：`git -C <仓库路径> remote -v`
2. **摸清结构**：目录结构、命名约定、安装机制（复制 vs 符号链接）
3. **建档案**：在 `references/` 下新建档案文件（按作者或仓库名命名，仿照现有三个档案的格式：基本信息/目录结构/安装机制/坑位/已知实践）
4. **登记**：在上表加一行
5. **更新 description**：把新仓库加入 frontmatter `description` 的「已接入」列表（保持触发精准）

通用内核不动——仓库差异全走档案，加仓库 = 建档案 + 表格一行 + description 补一个名字。

## 通用流程（七步）

### ① 盘点本地现状
先摸清本地已有什么，不凭记忆：
- 用户级：`ls ~/.claude/agents/`、`ls ~/.claude/skills/`、`ls ~/.claude/plugins/`
- 项目级：`ls <repo>/.claude/agents/`、`<repo>/.claude/skills/`
- `ls -la` 识别符号链接来源（`->` 指向即溯源到对应仓库）
- 区分「用户级」与「项目级」作用域

### ② 识别候选来源
- 确认仓库路径存在：`git -C <repo> remote -v`
- **识别增量**：`git -C <repo> log --diff-filter=A --name-only --since="90 days"` 找近期新增的 skill/agent，对照 `references/<仓库>.md` 的「已知实践」区分哪些是**新增**、哪些早已装——只评估新增项，不重推旧清单
- 弄清目录结构、命名约定、安装机制（复制 vs 符号链接）
- 对照对应仓库档案 `references/<仓库>.md`

### ③ 查重
**先识别本地已装，再推荐——不重复推荐已装的同源项。**
- **符号链接安装的**：`readlink <链接>` 识别已指向某仓库（已装），新候选对照跳过
- **复制安装的**：readlink 查不到，对照 `references/<仓库>.md` 档案与本地文件命名习惯判断来源（如 `engineering-*.md` 源自 msitarzewski）
- 新候选逐个对照 `~/.claude/` 与项目 `.claude/` 跳过重复

### ④ 基于真实需求三档筛选
判断依据是**用户真实项目栈**（扫描 `/var/www` 等实际项目判断方向），不是「以后可能用到」：
- **保留**：与用户核心栈匹配（Python 后端 / LLM / API / DB / DevOps / 代码质量 / 文档 / git）
- **待定**：边界情况，列出倾向交用户定夺
- **建议删**：扫描确认无对应项目/方向（如 PHP/CMS、移动/小程序、区块链、嵌入式、网络、ITIL、合规/渗透等用户不碰的）

### ⑤ 提问澄清
拿不准的先问用户，**一次只问一个问题**，根据回答持续追问，直到 95% 理解真实需求再给方案。涉及删除前先复述理解让用户确认。

### ⑥ 军师出方案，主公定夺
给出推荐方案（含理由），用户三选一或修改后确认，不擅自执行删除/安装。

### ⑦ 备份安装验证

1. **覆盖/删除前先备份**：统一用 `mkdir -p ~/.claude/backups/<日期>` + `cp`，不用 `mv xxx.bak` 等临时改名方式
2. **选择安装方式（须用户拍板）**——给出两种方式对比，让用户明确选择，不擅自替用户决定：

   | 方式 | 优点 | 缺点 | 适合 |
   |------|------|------|------|
   | **符号链接** | 仓库更新自动传播，无需重装；省磁盘 | 依赖仓库路径存在，仓库移动/删除会断链 | 仓库长期稳定、想省维护 |
   | **复制文件** | 完全独立，不依赖仓库路径，永不断链 | 仓库更新需手动重装；占磁盘 | 仓库可能变动、图省心 |

   默认推荐**符号链接**（多仓库开发者、更新自动传播），但**以用户选择为准**。
3. **按所选方式安装**：
   - 符号链接：`ln -s <源> <目标>`（若仓库官方脚本有软链选项如 `install.sh --link`，优先用官方参数）
   - 复制文件：`cp -r <源> <目标>`
   - 具体源路径/官方机制见对应仓库档案 `references/<仓库>.md`
4. **验证**：确认文件存在且非空；符号链接则 `readlink` 确认目标存在、目标目录有 `SKILL.md`

## 克制原则

- 不为了装而装；本地已有同类型不推荐
- 符号链接 vs 复制：**安装方式由用户选择**——给出对比后让用户拍板，不默认替用户决定；链接省维护但依赖仓库路径存在、会断链，复制稳定但更新需手动重装
- 删除前必备份；判断靠真实需求，不靠猜测
- 拿不准就问，一次一问，追问到理解再动手

