بنقرة واحدة
harness-monitor-subharness-agent
监控子代理状态技能,实时追踪子代理执行进度、Token消耗、错误计数,支持熔断触发
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
监控子代理状态技能,实时追踪子代理执行进度、Token消耗、错误计数,支持熔断触发
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
EnjoyHarness 唯一强制入口,初始化全局状态、文件体系、技能注册表
配置文件读取和验证技能,确保用户配置正确且完整
全流程自动执行超级组合技能,编排所有16个基础技能,从用户需求到完整交付的全自动化流程
头脑风暴技能,在实现前探索用户意图、需求和设计,防止返工
实施计划执行技能,逐任务执行实施计划,支持检查点、错误恢复和进度跟踪
10倍产能提效超级组合技能,通过并行执行、智能调度、优化策略实现10倍开发效率提升
| name | harness-monitor-subharness-agent |
| description | 监控子代理状态技能,实时追踪子代理执行进度、Token消耗、错误计数,支持熔断触发 |
| trigger_words | ["harness-monitor-subharness-agent","监控子代理","monitor-subagent","子代理状态"] |
| priority | HIGH |
| dependencies | ["harness-spawn-subharness-agent"] |
| version | v3.0.0 |
使用 Read 工具读取:.EnjoyHarness/SKILL_REGISTRY.md
检查条件:
如果未完成:
❌ 错误: 子代理未生成
💡 请先运行: harness-spawn-subharness-agent
使用 Read 工具读取:.EnjoyHarness/GLOBAL_STATE.md
提取 active_subagents 列表。
如果没有活跃子代理:
⚠️ 警告: 无活跃子代理
💡 请先运行: harness-spawn-subharness-agent
对于每个子代理 {task-id}:
使用 Read 工具读取:.subharness/{task-id}/STATUS.md
提取关键信息:
条件1: 错误计数熔断
检查: error_count ≥ 3
动作: 标记状态为 CIRCUIT_BREAKER_TRIGGERED
输出: "⚠️ 子代理 {task-id} 错误次数达到上限(3次),触发熔断"
条件2: Token超限熔断
检查: 已使用Token > 5000
动作: 标记状态为 TOKEN_LIMIT_EXCEEDED
输出: "⚠️ 子代理 {task-id} Token超限(>5000 tokens),终止执行"
条件3: 执行超时熔断
检查: 执行时长 > 30分钟
动作: 标记状态为 TIMEOUT_EXCEEDED
输出: "⚠️ 子代理 {task-id} 执行超时(>30分钟),终止执行"
使用 Edit 工具更新:.subharness/{task-id}/STATUS.md
如果触发熔断:
## 执行状态
- 状态: CIRCUIT_BREAKER_TRIGGERED / TOKEN_LIMIT_EXCEEDED / TIMEOUT_EXCEEDED
- 完成时间: {当前时间}
使用 Edit 工具追加内容到:.EnjoyHarness/EVENT_LOG.md
{当前时间} | SUBAGENT_MONITOR | harness-monitor-subharness-agent | 监控子代理 {task-id}: {状态} | {SUCCESS/WARNING}
使用 Write 工具创建文件:.EnjoyHarness/SUBAGENT_MONITOR_REPORT.md
内容:
---
generated_at: {当前时间}
total_subagents: {总数}
active: {活跃数}
completed: {完成数}
failed: {失败数}
---
# SubAgent Monitor Report
## 总体状态
- 监控时间: {当前时间}
- 子代理总数: {总数}
- 活跃中: {活跃数}
- 已完成: {完成数}
- 已失败: {失败数}
## 子代理详情
### 子代理: {task-id-1}
- 状态: {status}
- 迭代次数: {iteration_count}
- 错误次数: {error_count}
- Token消耗: {已使用} / 5000 tokens ({占比}%)
- 执行时长: {时长}分钟
- 健康状态: ✅ 正常 / ⚠️ 警告 / ❌ 异常
### 子代理: {task-id-2}
...
## 熔断触发情况
- 错误熔断: {数量}个子代理
- Token熔断: {数量}个子代理
- 超时熔断: {数量}个子代理
## 建议操作
- {具体建议,如"子代理xxx进入自动恢复流程"或"继续执行"}
使用 Edit 工具更新:.EnjoyHarness/GLOBAL_STATE.md
更新子代理状态列表:
active_subagents:
- task_id: {task-id-1}
status: {status}
health: {healthy/warning/error}
- task_id: {task-id-2}
...
使用 Edit 工具更新:.EnjoyHarness/EVENT_LOG.md
old_string: total_events: N
new_string: total_events: N+{监控事件数}
使用 Edit 工具更新:.EnjoyHarness/SKILL_REGISTRY.md
old_string: - [ ] harness-monitor-subharness-agent - 监控子代理技能
new_string: - [x] harness-monitor-subharness-agent - 监控子代理技能 ✅
使用 Bash 工具输出:
echo ""
echo "✅ harness-monitor-subharness-agent 完成!"
echo ""
echo "📊 监控报告:"
echo " - 子代理总数: {总数}"
echo " - 活跃中: {活跃数}"
echo " - 已完成: {完成数}"
echo " - 已失败: {失败数}"
echo ""
echo "📋 详细报告: .EnjoyHarness/SUBAGENT_MONITOR_REPORT.md"
echo ""
echo "🔒 熔断情况:"
echo " - 错误熔断: {数量}个"
echo " - Token熔断: {数量}个"
echo " - 超时熔断: {数量}个"
echo ""
echo "🎯 下一步:"
echo " - 正常: 继续执行子代理"
echo " - 异常: 运行 harness-handle-failure 处理失败"
echo ""
本技能执行预计迭代次数: 约 6 次(Read 2次 + Write 1次 + Edit 3次)
输入: 在子代理未生成时运行 期望输出: 错误提示"子代理未生成" 验证方式: 删除子代理目录后运行
输入: 执行监控技能 期望输出: 成功读取 STATUS.md 文件 验证方式: 检查监控报告中包含子代理状态
输入: 子代理 error_count ≥ 3 期望输出: 触发错误熔断,状态标记为 CIRCUIT_BREAKER_TRIGGERED 验证方式: 手动设置 error_count=3 后运行
输入: 子代理已使用Token > 5000 期望输出: 触发Token熔断,状态标记为 TOKEN_LIMIT_EXCEEDED 验证方式: 手动设置 Token=5500 后运行
输入: 子代理执行时长 > 30分钟 期望输出: 触发超时熔断,状态标记为 TIMEOUT_EXCEEDED 验证方式: 手动修改 started_at 时间为31分钟前
输入: 运行监控技能
期望输出: 生成 SUBAGENT_MONITOR_REPORT.md 文件
验证方式: ls .EnjoyHarness/SUBAGENT_MONITOR_REPORT.md
输入: 读取 GLOBAL_STATE.md
期望输出: active_subagents 包含最新的状态信息
验证方式: grep "health" .EnjoyHarness/GLOBAL_STATE.md
输入: 读取 EVENT_LOG.md
期望输出: 包含 SUBAGENT_MONITOR 事件
验证方式: grep "SUBAGENT_MONITOR" .EnjoyHarness/EVENT_LOG.md
节点完成率 = 已完成节点数 / 总节点数
示例: 5/10节点完成 → 50%进度
状态: IN_PROGRESS
Token消耗率 = 已使用Token / 5000
示例: 2000/5000 → 40%消耗
健康状态:
- < 70%: ✅ 正常
- 70-90%: ⚠️ 警告
- > 90%: ❌ 危险
错误率 = error_count / 3
示例: 2/3 → 67%错误率
健康状态:
- 0次: ✅ 健康
- 1-2次: ⚠️ 警告
- ≥3次: ❌ 触发熔断
时长占比 = 执行时长 / 30分钟
示例: 15分钟 → 50%时长
健康状态:
- < 20分钟: ✅ 正常
- 20-25分钟: ⚠️ 警告
- > 25分钟: ⚠️ 即将超时
- > 30分钟: ❌ 触发熔断
频率: 每5分钟监控一次
触发条件: 子代理状态为 IN_PROGRESS
动作: Read STATUS.md → 检查熔断 → 更新报告
触发条件: 子代理写入事件到 EVENT_LOG.md
动作: Read EVENT_LOG → 检测到完成/失败事件 → 立即监控
触发条件: 子代理到达关键节点(如测试运行前)
动作: Read STATUS.md → 检查健康状态 → 决定是否继续
子代理: feature-20260328-110000
状态: IN_PROGRESS
进度: 5/10节点完成(50%)
Token: 2000/5000(40%)
错误: 0次
时长: 10分钟
健康状态: ✅ 正常
建议: 继续执行
子代理1: feature-20260328-110000
状态: IN_PROGRESS
健康状态: ✅ 正常
子代理2: fix-20260328-110500
状态: COMPLETED
健康状态: ✅ 完成
子代理3: refactor-20260328-111000
状态: CIRCUIT_BREAKER_TRIGGERED
健康状态: ❌ 错误次数≥3
监控结果: 1个正常,1个完成,1个异常
建议: 对子代理3运行 harness-handle-failure
子代理: feature-20260328-110000
错误计数: 3次
触发熔断: ✅
自动动作:
1. 标记状态: CIRCUIT_BREAKER_TRIGGERED
2. 记录事件: EVENT_LOG.md
3. 触发技能: harness-handle-failure
4. 输出警告: "子代理错误次数达到上限,进入自动失败处理"
harness-spawn-subharness-agent(生成子代理)
↓
harness-monitor-subharness-agent(监控子代理)
↓
判断:
- 正常 → 继续执行
- 完成 → harness-merge-subharness-result
- 异常 → harness-handle-failure
阶段1: 生成子代理
- harness-spawn-subharness-agent → 生成子代理A和B
阶段2: 监控子代理
- harness-monitor-subharness-agent → 监控A和B的执行状态
阶段3a: 正常完成
- A完成 → harness-merge-subharness-result(合并A的结果)
- B完成 → harness-merge-subharness-result(合并B的结果)
阶段3b: 异常处理
- A错误≥3次 → harness-handle-failure(处理A的失败)
- B Token超限 → harness-handle-failure(处理B的超限)