mit einem Klick
EnjoyHarness 唯一强制入口,初始化全局状态、文件体系、技能注册表
npx skills add https://github.com/konglong87/enjoy_harness_ai --skill harness-initKopieren Sie diesen Befehl und fügen Sie ihn in Claude Code ein, um den Skill zu installieren
EnjoyHarness 唯一强制入口,初始化全局状态、文件体系、技能注册表
npx skills add https://github.com/konglong87/enjoy_harness_ai --skill harness-initKopieren Sie diesen Befehl und fügen Sie ihn in Claude Code ein, um den Skill zu installieren
配置文件读取和验证技能,确保用户配置正确且完整
全流程自动执行超级组合技能,编排所有16个基础技能,从用户需求到完整交付的全自动化流程
头脑风暴技能,在实现前探索用户意图、需求和设计,防止返工
实施计划执行技能,逐任务执行实施计划,支持检查点、错误恢复和进度跟踪
10倍产能提效超级组合技能,通过并行执行、智能调度、优化策略实现10倍开发效率提升
构建≤60行的核心规则清单,从源头避免Agent行为跑偏
| name | harness-init |
| description | EnjoyHarness 唯一强制入口,初始化全局状态、文件体系、技能注册表 |
| trigger_words | ["harness-init","初始化","initialize"] |
| priority | HIGHEST |
| dependencies | [] |
| version | v3.0.0 |
使用 Bash 工具执行:
if [ ! -d .git ]; then
echo "❌ 错误: 当前目录不是 Git 仓库"
echo "💡 请先运行: git init"
exit 1
fi
echo "✅ Git 仓库检查通过"
使用 Bash 工具执行:
if [ ! -f EnjoyHarness_MANIFEST.md ]; then
echo "⚠️ 未找到 EnjoyHarness_MANIFEST.md,正在自举创建..."
if [ -x scripts/harness-bootstrap.sh ]; then
scripts/harness-bootstrap.sh --root "$(pwd)"
else
cat > EnjoyHarness_MANIFEST.md <<'EOF'
---
name: EnjoyHarness Engineering
version: v3.0.0
description: 给AI Agent装上工业级「自动驾驶操作系统」,解决落地稳定性、可控性、可复用性核心痛点
---
# EnjoyHarness 全局 Manifest
## 核心定位
给AI Agent装上工业级「自动驾驶操作系统」,打造不随模型迭代淘汰的工程化超级能力
## 技能总数
18个核心技能(Markdown 定义 + 运行层 Shell 编排)
## 唯一启动入口
必须先执行 `harness-init` 初始化技能,才可调用其他所有技能
EOF
fi
fi
echo "✅ Manifest 文件检查通过"
使用 Bash 工具执行:
mkdir -p .EnjoyHarness
mkdir -p .subharness
mkdir -p .trace/ARCHIVE
mkdir -p .learnings
mkdir -p skills
echo "✅ 核心目录创建完成"
目录放置约束:
temp/backup/tests/test/docs/使用 Write 工具创建文件:.EnjoyHarness/GLOBAL_STATE.md
注意:使用 Bash 获取当前时间并替换 INIT_TIME_PLACEHOLDER
INIT_TIME=$(date -Iseconds)
echo "初始化时间: $INIT_TIME"
内容:
---
initialized_at: INIT_TIME_PLACEHOLDER
status: active
version: v3.0.0
current_task: none
active_subagents: []
---
# EnjoyHarness 全局状态
## 系统状态
- 初始化时间: INIT_TIME_PLACEHOLDER
- 状态: 活跃
- 版本: v3.0.0
- 当前任务: 无
- 活跃子代理: 0
## 技能错误计数
所有技能错误计数归零
## 迭代计数
当前迭代: 0 / 100
## 最近事件
初始化完成,等待第一个事件...
使用 Write 工具创建文件:.EnjoyHarness/EVENT_LOG.md
内容:
---
created_at: INIT_TIME_PLACEHOLDER
total_events: 0
---
# EnjoyHarness 事件总线
## 事件记录格式
时间 | 事件类型 | 触发技能 | 详情 | 结果
## 最新事件
初始化完成,等待第一个事件...
使用 Write 工具创建文件:.EnjoyHarness/ITERATION_COUNTER.md
内容:
---
max_iterations: 100
current_iteration: 0
task_id: none
start_time: null
---
# EnjoyHarness 全局迭代计数器
## 迭代限制
- 最大迭代次数: 100(可配置)
- 当前迭代次数: 0
- 关联任务: 无
- 开始时间: 未开始
## 迭代计数规则
- 计数: 每次技能执行(Write/Edit/Bash执行命令)
- 不计数: Read文件、查询命令(git status)
## 熔断触发条件
当前迭代次数 ≥ 最大迭代次数 → 强制停止,先触发自动失败处理;真实阻塞再升级
## 使用说明
1. 每次技能执行前,检查迭代计数
2. 每次技能执行后,增加计数 +1
3. 达到阈值默认触发 harness-handle-failure;真实阻塞时再升级人工介入
使用 Write 工具创建文件:.EnjoyHarness/SKILL_REGISTRY.md
内容:
---
total_skills: 18
enabled_skills: 18
disabled_skills: 0
created_at: INIT_TIME_PLACEHOLDER
---
# EnjoyHarness 技能注册表
## 核心基础层 (4个)
- [ ] harness-init - 全局初始化技能
- [ ] harness-build-core-manifest - 构建核心规则技能
- [ ] harness-build-context-index - 构建上下文索引技能
- [ ] harness-enforce-architecture-guardrails - 架构护栏技能
## 调度执行层 (5个)
- [ ] harness-build-deterministic-workflow - 构建工作流技能
- [ ] harness-spawn-subharness-agent - 生成子代理技能
- [ ] harness-monitor-subharness-agent - 监控子代理技能
- [ ] harness-merge-subharness-result - 合并结果技能
- [ ] harness-enable-circuit-breaker - 熔断机制技能
## 验证优化层 (4个)
- [ ] harness-validate-output - 输出校验技能
- [ ] harness-diagnose-and-improve - 错误诊断技能
- [ ] harness-evaluate-performance - 效果评估技能
- [ ] harness-evolve - 自我进化技能
## 目标追踪层 (1个)
- [ ] harness-goal - 目标追踪技能
## 兜底层 (2个)
- [ ] harness-handle-failure - 失败处理技能
- [ ] harness-escalate-to-human - 人工转交技能
## 开发流程层 (2个)
- [ ] harness-brainstorm - 头脑风暴技能
- [ ] harness-plan - 计划编写技能
## 超级组合层 (不计入总数,组合技能)
- [ ] harness-auto-full-execution - 全流程自动执行技能
- [ ] harness-10x-productivity-boost - 10倍产能提效技能
使用 Edit 工具更新:.EnjoyHarness/SKILL_REGISTRY.md
old_string: - [ ] harness-init - 全局初始化技能
new_string: - [x] harness-init - 全局初始化技能 ✅
使用 Edit 工具追加内容到:.EnjoyHarness/EVENT_LOG.md
追加内容:
INIT_TIME_PLACEHOLDER | SKILL_START | harness-init | 系统初始化开始 | SUCCESS
INIT_TIME_PLACEHOLDER | SKILL_COMPLETE | harness-init | 系统初始化完成 | SUCCESS
使用 Edit 工具更新:.EnjoyHarness/EVENT_LOG.md
old_string: total_events: 0
new_string: total_events: 2
使用 Edit 工具更新:.EnjoyHarness/GLOBAL_STATE.md
将 INIT_TIME_PLACEHOLDER 替换为实际时间戳(使用 Bash 获取)
使用 Bash 读取配置或 git identity:
CONFIG_FILE="$(pwd)/.EnjoyHarness/CONFIG.md"
USER_NAME="$(grep -m1 '^user_name:' "$CONFIG_FILE" 2>/dev/null | sed 's/user_name: *//' | tr -d '"' | tr -d "'" )"
USER_PHONE="$(grep -m1 '^user_phone:' "$CONFIG_FILE" 2>/dev/null | sed 's/user_phone: *//' | tr -d '"' | tr -d "'" )"
USER_EMAIL="$(grep -m1 '^user_email:' "$CONFIG_FILE" 2>/dev/null | sed 's/user_email: *//' | tr -d '"' | tr -d "'" )"
if [ -z "$USER_NAME" ]; then
USER_NAME="$(git config user.name 2>/dev/null || true)"
fi
if [ -z "$USER_EMAIL" ]; then
USER_EMAIL="$(git config user.email 2>/dev/null || true)"
fi
注入规则:
.EnjoyHarness/CONFIG.md 中的 user_name / user_phone / user_emailuser_name 或 user_email 为空,回退到 git config user.name / git config user.emailuser_phone 可选,未配置时写入“未配置”或省略该行AGENT.md、CLAUDE.md(以及仓库内等价的代理说明文件)顶部身份块,但不要删除原有内容写入内容示例:
## first
call me {USER_NAME}
git提交身份信息:
username:{USER_NAME}
phone:{USER_PHONE_OR_未配置}
email:{USER_EMAIL}
如果 AGENT.md 或 CLAUDE.md 不存在,则创建并写入上述身份块;如果存在,则仅更新身份块,不改动后续正文。
如果当前项目刚从零开始接入,优先先执行 scripts/start-auto.sh --root "$(pwd)";它会自动判断是否需要先 bootstrap、启动守护进程、触发 tmux 交接,再继续初始化。
使用 Bash 工具执行:
# 优先使用统一自动入口,它会自动判断是否需要 bootstrap、daemon、tmux launch
if [ -x "scripts/start-auto.sh" ]; then
echo ""
echo "🔄 自动启动 EnjoyHarness 统一入口..."
scripts/start-auto.sh --root "$(pwd)"
else
echo ""
echo "⚠️ 未找到 scripts/start-auto.sh,回退到守护进程直启模式"
if [ -f "scripts/harness-daemon.sh" ]; then
chmod +x scripts/harness-daemon.sh
chmod +x scripts/start-daemon.sh
chmod +x scripts/stop-daemon.sh
chmod +x scripts/daemon-status.sh
chmod +x scripts/harness-orchestrator.sh
chmod +x scripts/tmux-handoff-manager.sh
chmod +x scripts/tmux-session-bootstrap.sh
chmod +x scripts/tmux-attach.sh
chmod +x scripts/tmux-resume.sh
scripts/start-daemon.sh
else
echo "⚠️ 未找到守护进程脚本,跳过自动启动"
echo " 如需启用会话自动切换功能,请确保 scripts/harness-daemon.sh 存在"
fi
fi
使用 Bash 工具输出:
echo ""
echo "✅ EnjoyHarness 初始化完成!"
echo ""
echo "📋 核心文件:"
echo " - 技能注册表: .EnjoyHarness/SKILL_REGISTRY.md"
echo " - 全局状态: .EnjoyHarness/GLOBAL_STATE.md"
echo " - 事件总线: .EnjoyHarness/EVENT_LOG.md"
echo " - 迭代计数器: .EnjoyHarness/ITERATION_COUNTER.md"
echo ""
echo "🎯 下一步:"
echo " 运行 harness-build-core-manifest 完成核心规则构建"
echo ""
本技能执行预计迭代次数: 约 12 次(Write 4次 + Edit 6次 + Bash 2次)
输入: 在非 Git 目录运行 期望输出: 错误提示"当前目录不是 Git 仓库" 验证方式: 手动在临时目录测试
输入: 执行 harness-init 期望输出:
ls -la .EnjoyHarness/输入: 读取 .EnjoyHarness/SKILL_REGISTRY.md
期望输出: 包含 18 个技能
验证方式: grep -c "harness-" .EnjoyHarness/SKILL_REGISTRY.md
输入: 读取 .EnjoyHarness/ITERATION_COUNTER.md
期望输出: current_iteration: 0, max_iterations: 100
验证方式: cat .EnjoyHarness/ITERATION_COUNTER.md
输入: 读取 .EnjoyHarness/EVENT_LOG.md
期望输出: 包含 harness-init 启动和完成事件
验证方式: grep "harness-init" .EnjoyHarness/EVENT_LOG.md
输入: 执行 harness-init 后读取 AGENT.md / CLAUDE.md
期望输出: 顶部包含用户身份块
验证方式: grep -n "call me" AGENT.md CLAUDE.md
当harness-init执行时,会自动启动会话守护进程:
启动流程:
用户触发harness技能
↓
harness-init自动执行
↓
自动启动守护进程
↓
开始执行任务(全自动)
↓
每完成2个任务
↓
自动创建交接文件
↓
守护进程自动启动新会话
↓
新会话自动继续执行
整个过程完全自动,用户无需执行任何手动命令!