name: audit-agent-consolidation description: 分析代理以寻找合并机会。按配置分组代理,跟踪引用,并管理重构。 argument-hint: [–force | --plugin-only | --project-only | --references | --impact <group> | --track | --execute <plan>] allowed-tools: Read, Bash, Glob, Grep, Task
审计代理合并命令
分析代理以寻找合并机会并跟踪重构进度。
初始化
审计之前,初始化环境:
- 获取当前UTC日期用于审计时间戳。
- 捕获项目根路径用于子代理通信。
- 确保临时目录(
.claude/temp/)存在。 - 加载
ecosystem-health技能以访问合并标准。
分析内容
- 配置字段: tools, model, permissionMode, skills, color
- 分组: 代理按 tools + model + permissionMode 分组
- 引用跟踪: 命令、技能、内存、引用每个代理的其他代理
- 合并评分: 基于配置相似性和引用影响
- 技能分析: 不同技能 = 不同目的(自动加载保证)
命令参数
| 参数 | 描述 |
|---|---|
| (无) | 分析模式:发现代理,按配置分组,推荐合并 |
--force |
即使最近分析存在(<24小时)也重新分析 |
--plugin-only |
仅分析插件代理(plugins/*/agents/) |
--project-only |
仅分析项目代理(.claude/agents/) |
--references |
显示每个代理的所有组件引用 |
--impact <group> |
显示合并特定组的详细影响分析 |
--track |
将分析持久化到 .claude/temp/ 中的跟踪文件 |
--execute <plan> |
执行合并计划(带确认的交互模式) |
操作模式
分析模式(默认)
发现代理,按配置分组,计算合并分数。
步骤:
- 基于范围发现所有代理文件
- 为每个代理解析YAML前端部分
- 按 tools + model + permissionMode 分组代理
- 使用 ecosystem-health 技能的标准计算合并分数
- 生成推荐
- 显示摘要
引用模式(--references)
显示引用每个代理的所有组件。
搜索:
- 技能:
skills/*/SKILL.md中的委托模式和任务调用 - 内存:
.claude/memory/*.md中的代理引用 - 代理:
agents/*.md中的链接模式
影响模式(--impact <group>)
显示合并一个组的详细分析,包括可能破坏的内容。
报告:
- 对组中代理的所有引用
- 估计的重构工作量
- 风险评估
- 建议的迁移路径
跟踪模式(--track)
将分析持久化到 .claude/temp/agent-consolidation-{timestamp}.json,用于:
- 多会话合并工作
- 进度跟踪
- 历史比较
执行模式(--execute <plan>)
交互模式以应用合并计划。
需要每个步骤的明确用户确认。
步骤1:解析参数
检查模式标志:
--force:设置 force_reanalyze = true--plugin-only:设置范围 = “plugin”--project-only:设置范围 = “project”--references:设置模式 = “references”--impact <group>:设置模式 = “impact”,捕获组ID--track:设置 track = true--execute <plan>:设置模式 = “execute”,捕获计划路径
默认:模式 = “analyze”,范围 = “all”
步骤2:发现代理
基于范围搜索代理文件:
插件代理:
plugins/*/agents/*.md
项目代理:
.claude/agents/*.md
用户代理(如果范围 = all):
~/.claude/agents/*.md(注意:可能无法访问)
构建发现的代理列表,包括:
- 完整路径
- 范围(plugin:<name>, project, user)
- 最后修改日期
步骤3:呈现发现摘要
## 代理发现
**范围**: [ALL | PLUGIN | PROJECT]
**发现的代理**: [N]
| 范围 | 数量 | 位置 |
| ----- | ----- | -------- |
| plugin:claude-ecosystem | 17 | plugins/claude-ecosystem/agents/ |
| plugin:code-quality | 3 | plugins/code-quality/agents/ |
| project | 2 | .claude/agents/ |
步骤4:执行分析
对于分析模式,生成 agent-consolidation-analyst 子代理,上下文包括:
- 范围(plugin:name, project, all)
- 代理文件路径列表
- 项目根用于输出文件
- 当前UTC时间戳
对于大量代理(>10),分批为5组进行并行分析。
子代理将:
- 解析所有代理的YAML前端部分
- 按配置分组
- 搜索引用
- 计算分数
- 将双输出(JSON + Markdown)写入
.claude/temp/
步骤5:聚合结果
子代理完成后:
- 从
.claude/temp/读取JSON输出文件 - 聚合组和推荐
- 计算总计
步骤6:显示结果
分析模式输出
代理合并分析
============================
范围: [scope]
分析的代理: [N]
找到的组: [N]
配置组:
---------------------
组1: auditor-opus-plan ([N] 个代理)
配置: tools=[standard+MCP], model=opus, permissionMode=plan
成员:
- skill-auditor (skills: skill-development) [2 refs]
- skill-auditor (skills: skill-development) [2 refs, handles both skills and commands]
- agent-auditor (skills: subagent-development) [2 refs]
- hook-auditor (skills: hook-management) [2 refs]
... ([N] 更多)
合并: NO
分数: 45/100
原因: 每个代理的 `skills:` 字段通过自动加载保证提供领域特定知识。无法通过任务工具提示注入复制。
组2: researcher-haiku ([N] 个代理)
配置: tools=[Read,Grep,WebFetch], model=haiku
成员:
- docs-researcher (skills: none) [1 ref]
- issue-researcher (skills: none) [3 refs]
合并: REVIEW
分数: 78/100
原因: 类似目的,无技能字段。可以通过提示中的查询专业化潜在合并。
推荐:
----------------
1. [NO ACTION] auditor-opus-plan - skills: 自动加载证明分离
2. [REVIEW] researcher-haiku - 考虑元技能方法
总引用计数: [N]
最高影响代理: [agent-name] ([N] 引用)
引用模式输出
代理引用分析
=========================
skill-auditor:
命令: 1
- audit-skills.md:87 "spawn skill-auditor agent"
技能: 0
内存: 1
- audit-protocol.md:45 "uses skill-auditor for validation"
总计: 2 引用
skill-auditor (commands):
命令: 1
- audit-skills.md:66 "spawn skill-auditor agent"
技能: 0
内存: 1
- audit-protocol.md:48 "uses skill-auditor for validation"
总计: 2 引用
...
跟踪模式
分析后,如果使用 --track 标志:
分析持久化到:
.claude/temp/agent-consolidation-2026-01-10T193000Z.json
使用 --execute 来应用合并计划。
重要注意事项
skills: 自动加载保证
关键: skills: 字段提供自动加载保证:
- 技能在代理启动时自动加载
- 无需提示,无需Claude决策
- 一致、可靠的领域知识
任务工具无法复制:
- 无法在任务工具中指定
skills:参数 - 必须在提示中描述技能内容(增加令牌负担)
- Claude必须决定调用技能工具(不保证)
因此: 具有不同 skills: 字段的代理不应合并,除非它们的技能可以合并为一个元技能。
配置字段权重
| 字段 | 权重 | 注释 |
|---|---|---|
tools |
高 | 不同工具 = 不同能力 |
model |
高 | 不同模型 = 不同成本/能力 |
permissionMode |
中 | 影响安全姿态 |
skills |
关键 | 自动加载保证无法复制 |
color |
低 | 装饰性,分组时忽略 |
评分阈值
| 分数 | 推荐 | 操作 |
|---|---|---|
| 85-100 | CONSOLIDATE | 合并的强候选 |
| 70-84 | REVIEW | 可能通过技能重构合并 |
| 50-69 | UNLIKELY | 保持分离除非技能合并 |
| 0-49 | NO ACTION | 不同目的,保持分离 |
插件隔离约束
关键: 插件不能引用其单独插件目录外的资源。
这意味着:
plugin-a/agents/中的代理不能与plugin-b/agents/中的代理合并- 跨插件合并在架构上是不可能的
- 只有同一插件内的代理可以合并
- 分析合并候选时,仅按插件范围分组
当分析识别出不同插件中的类似代理时(如 *-docs-researcher 代理),应记录为遵循通用模式,但不是合并候选。
范围过滤推荐:
- 使用
--plugin-only并分别分析每个插件 - 按插件分组推荐,而不是全局
- 跨插件模式通知模板标准化,而不是合并
使用示例
示例1:分析所有代理
用户: /audit-agent-consolidation
Claude: 发现代理...
## 代理发现
范围: ALL
发现的代理: 22
[分析进行...]
代理合并分析
============================
...
示例2:仅插件分析
用户: /audit-agent-consolidation --plugin-only
Claude: 仅发现插件代理...
## 代理发现
范围: PLUGIN
发现的代理: 20
...
示例3:显示引用
用户: /audit-agent-consolidation --references
Claude: 分析代理引用...
代理引用分析
=========================
...
示例4:多会话跟踪
用户: /audit-agent-consolidation --track
Claude: [分析...]
分析持久化到:
.claude/temp/agent-consolidation-2026-01-10T193000Z.json
示例5:影响分析
用户: /audit-agent-consolidation --impact auditor-opus-plan
Claude: 分析组的影响: auditor-opus-plan
影响分析: auditor-opus-plan
==================================
组中的代理: 13
总引用: 26
如果合并,需要更新:
- 13 个命令文件(任务调用)
- 13 个内存引用
风险评估: 高
原因: skills: 字段提供领域特定知识
推荐: 不要合并。自动加载保证无法通过任务工具复制。
生态系统健康集成
此命令与 ecosystem-health 技能集成:
- 使用
references/consolidation-criteria.md进行评分标准 - 有助于组件覆盖跟踪
- 支持审计编排工作流
运行 /ecosystem-health --status 查看包括代理合并在内的整体审计覆盖。