一键导入
harness-spawn-subharness-agent
生成子代理技能,实现完全隔离的子任务执行环境,防止上下文污染
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
生成子代理技能,实现完全隔离的子任务执行环境,防止上下文污染
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
EnjoyHarness 唯一强制入口,初始化全局状态、文件体系、技能注册表
配置文件读取和验证技能,确保用户配置正确且完整
全流程自动执行超级组合技能,编排所有16个基础技能,从用户需求到完整交付的全自动化流程
头脑风暴技能,在实现前探索用户意图、需求和设计,防止返工
实施计划执行技能,逐任务执行实施计划,支持检查点、错误恢复和进度跟踪
10倍产能提效超级组合技能,通过并行执行、智能调度、优化策略实现10倍开发效率提升
| name | harness-spawn-subharness-agent |
| description | 生成子代理技能,实现完全隔离的子任务执行环境,防止上下文污染 |
| trigger_words | ["harness-spawn-subharness-agent","生成子代理","spawn-subagent","子代理"] |
| priority | HIGH |
| dependencies | ["harness-build-deterministic-workflow"] |
| version | v3.0.0 |
使用 Read 工具读取:.EnjoyHarness/SKILL_REGISTRY.md
检查条件:
如果未完成:
❌ 错误: 工作流未构建
💡 请先运行: harness-build-deterministic-workflow
使用 Bash 工具生成唯一任务ID:
TASK_TYPE="feature" # 或 "fix" / "refactor" / "docs"
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
TASK_ID="${TASK_TYPE}-${TIMESTAMP}"
echo "任务ID: ${TASK_ID}"
使用 Bash 工具创建目录:
mkdir -p .subharness/${TASK_ID}
mkdir -p .subharness/${TASK_ID}/WORK_TREE
echo "✅ 子代理目录创建完成: .subharness/${TASK_ID}"
使用 Write 工具创建文件:.subharness/${TASK_ID}/SUBTASK_MANIFEST.md
内容:
---
task_id: {TASK_ID}
parent_task: none
created_at: {TIMESTAMP}
status: pending
priority: MEDIUM
---
# SubTask Manifest
## 任务信息
- 任务ID: {TASK_ID}
- 父任务: 无(根任务)
- 创建时间: {TIMESTAMP}
- 状态: 待执行
- 优先级: 中等
## 任务描述
{任务描述占位符}
## 技能调用链
{待填充}
## 依赖关系
- 上游依赖: 无
- 下游触发: 无
## 成功标准
- [ ] 任务完成
- [ ] 测试通过
- [ ] 输出校验通过
## 失败兜底
- 失败次数 ≥ 3次 → 触发熔断
- 超时 ≥ 30分钟 → 终止执行
使用 Write 工具创建文件:.subharness/${TASK_ID}/CONTEXT_INDEX.md
内容:
---
task_id: {TASK_ID}
context_priority: P1
loaded_at: null
---
# SubTask Context Index
## 上下文加载策略
### P0级(必需)
- [ ] SUBTASK_MANIFEST.md(本文件)
- [ ] AGENTS_MANIFEST.md(核心规则)
- [ ] ARCHITECTURE_GUARDRAILS.md(架构约束)
### P1级(按任务类型)
- [ ] WORKFLOW_TEMPLATES.md(工作流模板)
- [ ] TOOLSET_SPEC.md(工具配置)
### P2级(按需)
- [ ] ERROR_HANDBOOK.md(错误处理)
- [ ] 相关代码文件
## 上下文隔离规则
1. **禁止访问**: 其他子代理的上下文
2. **仅访问**: 本任务相关文件 + 全局规则
3. **写入限制**: 仅写入本任务目录
## Token预算
- 最大Token: 5000 tokens
- 当前使用: 0 tokens
使用 Write 工具创建文件:.subharness/${TASK_ID}/STATUS.md
内容:
---
task_id: {TASK_ID}
status: pending
started_at: null
completed_at: null
iteration_count: 0
error_count: 0
---
# SubTask Status
## 执行状态
- 状态: 待执行
- 开始时间: 未开始
- 完成时间: 未完成
- 迭代次数: 0
- 错误次数: 0
## 执行进度
- [ ] 初始化完成
- [ ] 工作流开始
- [ ] 节点执行中
- [ ] 结果验证
- [ ] 任务完成
## 事件记录
等待第一个事件...
## Token消耗
- 已使用: 0 tokens
- 剩余: 5000 tokens
- 占比: 0%
## 错误记录
无错误
如果需要完全隔离的 Git 环境:
# 创建新分支
git checkout -b subtask/${TASK_ID}
# 创建 worktree
git worktree add .subharness/${TASK_ID}/WORK_TREE subtask/${TASK_ID}
echo "✅ Git worktree 创建完成"
使用 Read 工具读取:.EnjoyHarness/GLOBAL_STATE.md
使用 Edit 工具更新:.EnjoyHarness/GLOBAL_STATE.md
在 active_subagents 列表中添加:
active_subagents:
- task_id: {TASK_ID}
status: pending
created_at: {TIMESTAMP}
使用 Edit 工具追加内容到:.EnjoyHarness/EVENT_LOG.md
追加内容:
{TIMESTAMP} | SUBAGENT_SPAWN | harness-spawn-subharness-agent | 生成子代理 {TASK_ID} | SUCCESS
使用 Edit 工具更新:.EnjoyHarness/EVENT_LOG.md
old_string: total_events: N
new_string: total_events: N+1
使用 Edit 工具更新:.EnjoyHarness/SKILL_REGISTRY.md
old_string: - [ ] harness-spawn-subharness-agent - 生成子代理技能
new_string: - [x] harness-spawn-subharness-agent - 生成子代理技能 ✅
使用 Bash 工具输出:
echo ""
echo "✅ harness-spawn-subharness-agent 完成!"
echo ""
echo "📋 子代理信息:"
echo " - 任务ID: ${TASK_ID}"
echo " - 目录: .subharness/${TASK_ID}"
echo " - 状态: 待执行"
echo ""
echo "📂 文件创建:"
echo " - SUBTASK_MANIFEST.md(任务规则)"
echo " - CONTEXT_INDEX.md(上下文索引)"
echo " - STATUS.md(状态追踪)"
echo " - WORK_TREE/(Git worktree)"
echo ""
echo "🔒 隔离机制:"
echo " - 文件系统隔离: ✅"
echo " - Git worktree隔离: ✅"
echo " - Token预算隔离: 5000 tokens"
echo ""
echo "🎯 下一步:"
echo " 运行 harness-monitor-subharness-agent 开始监控子代理"
echo ""
本技能执行预计迭代次数: 约 8 次(Write 3次 + Edit 4次 + Read 1次)
输入: 在工作流未构建时运行 期望输出: 错误提示"工作流未构建" 验证方式: 删除 WORKFLOW_TEMPLATES.md 后运行
输入: 执行 harness-spawn-subharness-agent
期望输出: .subharness/{task-id}/ 目录存在
验证方式: ls -la .subharness/
输入: 检查子代理目录
期望输出: 包含 SUBTASK_MANIFEST.md, CONTEXT_INDEX.md, STATUS.md
验证方式: ls .subharness/{task-id}/
输入: 读取 GLOBAL_STATE.md
期望输出: active_subagents 包含新生成的任务ID
验证方式: grep "{TASK_ID}" .EnjoyHarness/GLOBAL_STATE.md
输入: 读取 SKILL_REGISTRY.md
期望输出: harness-spawn-subharness-agent 标记为完成
验证方式: grep "harness-spawn-subharness-agent" .EnjoyHarness/SKILL_REGISTRY.md
输入: 读取 EVENT_LOG.md
期望输出: 包含 SUBAGENT_SPAWN 事件
验证方式: grep "SUBAGENT_SPAWN" .EnjoyHarness/EVENT_LOG.md
.subharness/{task-id}/subtask/{task-id}.subharness/{task-id}/WORK_TREE# 任务类型: feature
# 任务ID: feature-20260328-110000
# 目录: .subharness/feature-20260328-110000/
# 状态: pending
# Token预算: 5000 tokens
# 任务类型: fix
# 任务ID: fix-20260328-110500
# 目录: .subharness/fix-20260328-110500/
# 状态: pending
# Token预算: 5000 tokens
子代理1: feature-20260328-110000 (用户登录功能)
子代理2: fix-20260328-110500 (修复注册Bug)
子代理3: refactor-20260328-111000 (优化数据库查询)
并行执行: 3个子代理同时运行
隔离机制: 完全隔离,互不干扰