Harness 24h
thu-nmrc/OpenHarness
A production-grade framework for long-running, autonomous agents based on Harness Engineering principles.
Repeats a long task as a series of scheduled wake-ups, each re-entering with fresh context and calling harness-work for one task per cycle.
SKILL.md written in Japanese; this summary is our English description.
$ npx skills add Chachamaru127/claude-code-harness --skill harness-loop -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Chachamaru127/claude-code-harness harness-loop --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Chachamaru127/claude-code-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/harness-loop .claude/skills/harness-loop && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "harness-loop" agent skill from https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/harness-loop into .claude/skills/harness-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harness-loop", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/harness-loopType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Chachamaru127/claude-code-harness --skill harness-loop -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Chachamaru127/claude-code-harness harness-loop --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Chachamaru127/claude-code-harness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/harness-loop .agents/skills/harness-loop && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "harness-loop" agent skill from https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/harness-loop into .agents/skills/harness-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harness-loop", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Chachamaru127/claude-code-harness --skill harness-loop -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Chachamaru127/claude-code-harness harness-loop --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Chachamaru127/claude-code-harness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/harness-loop .cursor/skills/harness-loop && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "harness-loop" agent skill from https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/harness-loop into .cursor/skills/harness-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harness-loop", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Chachamaru127/claude-code-harness.git --path skills/harness-loop--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Chachamaru127/claude-code-harness --skill harness-loop -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Chachamaru127/claude-code-harness harness-loop --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Chachamaru127/claude-code-harness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/harness-loop .gemini/skills/harness-loop && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "harness-loop" agent skill from https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/harness-loop into .gemini/skills/harness-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harness-loop", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Chachamaru127/claude-code-harness harness-loopInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Chachamaru127/claude-code-harness --skill harness-loop -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Chachamaru127/claude-code-harness.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/harness-loop .github/skills/harness-loop && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "harness-loop" agent skill from https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/harness-loop into .github/skills/harness-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harness-loop", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Chachamaru127/claude-code-harness --skill harness-loop -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Chachamaru127/claude-code-harness harness-loop --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Chachamaru127/claude-code-harness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/harness-loop .opencode/skills/harness-loop && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "harness-loop" agent skill from https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/harness-loop into .opencode/skills/harness-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harness-loop", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
harness-loopRepeats a long task as a series of scheduled wake-ups, each re-entering with fresh context and calling harness-work for one task per cycle.
The SKILL.md is written in Japanese. This meta skill combines Claude Code's `/loop` dynamic mode with `ScheduleWakeup`. On each wake-up it calls `harness-work --breezing` through an agent, so one cycle completes one task and the loop can be re-entered without carrying over old context. You start it with `/harness-loop all` for every unfinished task, a range such as 41.1-41.3, or a named plan from `plans/manifest.json` with `--plan`.
Cycle count and timing are adjustable. The default is up to 8 cycles, changed with `--max-cycles`, and `--pacing` sets the gap between wake-ups: worker and ci use 270 seconds, plateau uses 1200 seconds for retries after a plateau, and night uses 3600 seconds for overnight batches. The runtime clamps delays to between 60 and 3600 seconds. `/harness-loop status` checks a running loop and `/harness-loop stop` asks it to stop. At each wake-up the skill first works out the plugin bundle root from `CLAUDE_PLUGIN_ROOT` or `CLAUDE_SKILL_DIR` so its helper scripts are found.
For sessions expected to run longer than 30 minutes, it recommends opting into one-hour prompt caching with a bundled script, and suggests running `/recap` before checking status when you return. It is not meant for one-shot tasks, review, release or planning.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2b2b748. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadEditBashTaskScheduleWakeupmcp__harness__harness_mem_resume_packmcp__harness__harness_mem_record_checkpointFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
bashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Harness Long-Running Task Loop loads about 2.3k tokens when it runs, and up to ~9.5k if it reads all its reference files. Until then it costs about 77 tokens; SKILL.md has 488 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Edit, Bash, Task, ScheduleWakeup, mcp__harness__harness_mem_resume_pack, mcp__harness__harnessAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Chachamaru127/claude-code-harness at commit 2b2b748, republished under its MIT licence (© Chachamaru127). 488 words, ~2,321 tokens.
.claude/skills/harness-loop/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub./loop(CC dynamic mode)と ScheduleWakeup を組み合わせ、
長時間タスクを wake-up 毎に fresh context で再入実行 するメタスキル。
各 wake-up で harness-work --breezing を Agent 経由で呼び出し、
1 サイクル = 1 タスク完結の再入可能ループを構成する。
Long-session helpers (CC 2.1.108+): 人が戻ってきたら
/recapで要約を取り直してから/harness-loop statusを見る。 長めの離席や再入が多い運用ではENABLE_PROMPT_CACHING_1H=1を優先する。
長時間セッション推奨 (CC 2.1.108+): セッション長が 30 分を超える見込みの場合、plugin bundle root 解決後に
bash "${HARNESS_PLUGIN_ROOT}/scripts/enable-1h-cache.sh"を実行して 1 時間 prompt cache を opt-in すること。
Codex 0.123.0 automatic bug fix inheritance: manual shell follow-up queue と
/copyafter rollback は Codex 本体の TUI 修正として自動継承する。 loop runner は追加入力 queue、copy wrapper、rollback workaround を追加しない。 長時間作業中に manual shell へ follow-up を投げた時の queueing は Codex runtime に任せる。
| 入力 | 動作 |
|---|---|
/harness-loop all | 全未完了タスクをループ実行(default: max 8 サイクル) |
/harness-loop all --max-cycles 3 | 3 サイクルで停止 |
/harness-loop 41.1-41.3 --pacing ci | タスク範囲を CI pacing で実行 |
/harness-loop all --plan roadmap | named Plans の roadmap を対象にループ実行 |
/harness-loop all --pacing night | 深夜バッチ(3600s 間隔) |
/harness-loop status | 進行中ランナーの状態確認 |
/harness-loop stop | 進行中ランナーの停止要求 |
| オプション | 説明 | デフォルト |
|---|---|---|
all | 全未完了タスクを対象 | - |
N-M | タスク番号範囲指定 | - |
--plan NAME | plans/manifest.json の named plan を使う | active/default |
--max-cycles N | 最大サイクル数 | 8 |
--pacing <mode> | wake-up 間隔モード | worker(270s) |
| pacing | delaySeconds | 用途 |
|---|---|---|
worker | 270 | Worker 完了直後(5 min 以内で cache warm) |
ci | 270 | CI 短時間ジョブ待ち |
plateau | 1200 | 20 min(plateau 検知後の再試行間隔) |
night | 3600 | 深夜の長時間放置 |
制約:
ScheduleWakeupのdelaySecondsはランタイムで [60, 3600] に clamp される。worker/ciの 270s およびnightの 3600s はこの範囲内。plateauの 1200s も範囲内。値を直接指定する場合は必ず 60 以上 3600 以下にすること。
詳細版: ${CLAUDE_SKILL_DIR}/references/flow.md
harness-loop は host project の cwd ではなく、plugin bundle root 配下の helper script を呼ぶ。
たとえると、作業机(host project)と工具箱(plugin bundle)を分けて扱う。
各 wake-up の冒頭で次の順に HARNESS_PLUGIN_ROOT を決める:
CLAUDE_PLUGIN_ROOT があり、scripts/ を含むならそれを使うCLAUDE_PLUGIN_ROOT がなければ、CLAUDE_SKILL_DIR から plugin bundle root を逆算するskills/harness-loop 配布なら ${CLAUDE_SKILL_DIR}/../...agents/skills/harness-loop mirror 配布なら ${CLAUDE_SKILL_DIR}/../../..CLAUDE_PLUGIN_ROOT を plugin bundle root に設定して再実行するPlans.md と .claude/state/... は host project 側に置く。
helper script だけを ${HARNESS_PLUGIN_ROOT}/scripts/... から呼ぶ。
複数 Plans.md がある repo では、長時間 run の起動時に --plan NAME を明示する。
runner は開始時に解決した Plans file を cycle 間で保持するため、途中で active plan を切り替えない。
各サイクルは選択済み plan と最新の実行状態を読み、原依頼の目的、担当範囲、DoD、spec、証拠、承認の参照を Worker / Advisor に渡す。
再開時は既に決まった方針と理由、失敗した方法、未解決事項、直前の advisor response も回収する。前回の助言で元の契約を置き換えない。
承認済み可逆作業は再確認せず進める。不足は読み取りで補い、軽微な仮定と仕様・権限の判断を区別する。未承認の保護操作や STOP は既定の停止条件を守る。
必要なチェックとレビューを満たした task に追加機能や無条件の再テストを足さない。起動、実行中、検証済み完了を分けて報告する。
wake-up
│
▼
[Step 0] plugin bundle root を HARNESS_PLUGIN_ROOT に解決
CLAUDE_PLUGIN_ROOT が有効ならそれを使用
なければ CLAUDE_SKILL_DIR から plugin bundle root を逆算
※ host project cwd の scripts/ は参照しない
│
▼
[Step 1] Plans.md を先に読む
cc:WIP / cc:TODO の先頭タスクを特定(task_id を得る)
※ 未完了タスクなし → ループ終了(正常完了)
│
▼
[Step 2] sprint-contract 存在確認 & 生成
.claude/state/contracts/${task_id}.sprint-contract.json の有無を確認
無ければ node "${HARNESS_PLUGIN_ROOT}/scripts/generate-sprint-contract.js" ${task_id} で生成
生成直後(初回のみ): bash "${HARNESS_PLUGIN_ROOT}/scripts/enrich-sprint-contract.sh" <contract-path> \
--check "wake-up 自動承認(harness-loop のため DoD を reviewer 観点で確認)" \
--approve ← draft → approved に昇格
(既存 contract は approved 済みのためスキップ)
│
▼
[Step 3] contract readiness チェック
bash "${HARNESS_PLUGIN_ROOT}/scripts/ensure-sprint-contract-ready.sh" <contract-path>
│
▼
[Step 4] Resume pack 再読込
harness-mem resume-pack(コンテキスト再注入)
│
▼
[Step 4.5] Advisor consult(必要時のみ)
高リスク task の初回実行前 / 同じ原因の 2 回目失敗後 / plateau 直前で
`advisor-request.v1` を組み立てて相談する
│
├── PLAN → 次回 executor prompt に advice を prepend
├── CORRECTION → 局所修正の指示として再実行
└── STOP → その場で loop を停止し、理由を残す
│
▼
[Step 5] 1 タスクサイクル実行
worker_result = Agent(
subagent_type="claude-code-harness:worker", # worker エージェント(harness-work ではない)
prompt="タスク: ${task_id}\n内容と目的: <選択済み Plans.md の内容・理由>\n担当範囲: <owned paths と除外範囲>\nDoD: <Plans.md から抽出>\nplan/spec: <選択済みパス>\ncontract_path: ${CONTRACT_PATH}\n証拠と前回結果: <実行結果・失敗履歴・advisor response>\n原依頼と承認の参照: <適用範囲と参照先>\nmode: breezing\n担当範囲で方法を選び、他担当の変更を戻さず完了してください。判断理由、検証コマンドの実結果と証拠、未確認点を返してください。",
isolation="worktree",
run_in_background=false
)
# worker_result: { commit, branch, worktreePath, files_changed, summary }
│
▼
[Step 5.5] Lead レビュー実行
diff_text = git show worker_result.commit
verdict = codex_exec_review(diff_text) or reviewer_agent_review(diff_text)
※ 詳細は flow.md 参照
│
▼
[Step 5.6] APPROVE → main に cherry-pick / REQUEST_CHANGES → 修正ループ(contract の max_iterations 回、デフォルト 3)
APPROVE: git cherry-pick → Plans.md を cc:完了 [{hash}] に更新 → feature branch 削除
REQUEST_CHANGES x MAX_REVIEWS 後も否決: エスカレーション
※ 詳細は flow.md 参照
│
▼
[Step 6] plateau 判定
bash "${HARNESS_PLUGIN_ROOT}/scripts/detect-review-plateau.sh" ${current_task_id}
│
├── PIVOT_REQUIRED(exit 2) → ループ停止 + ユーザーエスカレーション
├── INSUFFICIENT_DATA(exit 1)→ 続行
└── PIVOT_NOT_REQUIRED(exit 0)→ 続行
│
▼
[Step 7] サイクル数チェック
│
├── cycles >= max_cycles → ループ停止(上限到達)
│
▼
[Step 8] checkpoint 記録
harness_mem_record_checkpoint(
session_id, title, content=サイクル結果サマリ
)
│
▼
[Step 9] 次 wake-up 予約
ScheduleWakeup(
delaySeconds=<pacing値>,
prompt="/harness-loop <同じ引数>",
reason="サイクル {N}/{max} 完了 — 次タスクへ"
)| 条件 | 停止種別 | 対応 |
|---|---|---|
cycles >= max_cycles | 正常停止(上限到達) | ユーザーに報告 |
PIVOT_REQUIRED(exit 2) | 異常停止(エスカレーション) | ユーザーに判断を仰ぐ |
| 未完了タスクなし | 正常停止(全完了) | 完了報告を出力 |
--max-cycles 3 指定時は 3 サイクル完了後に停止する。
default(--max-cycles 8)時は 8 サイクルで停止する。
長時間 loop では、途中報告は「安心のための heartbeat」ではなく「判断が変わった時の通知」として扱う。
Codex 0.123.0 の background agent が transcript delta を受け取れる環境では、delta 到着だけを理由に返答せず、必要ない時は明示的に沈黙する。
報告するもの:
REQUEST_CHANGES、plateau、advisor STOPstatus を求めた時の要約沈黙してよいもの:
default は「1 cycle につき最終報告 1 回」。 ただし Advisor request 未応答、Reviewer result 未到着、plateau 直前の警告は silence policy より優先して報告する。
このスキルは CC の /loop(dynamic mode)と組み合わせて使用する。
/loop を有効にすると CC は自律的な再入実行を継続し、
各サイクルの末尾で ScheduleWakeup を呼ぶことで次回 wake-up を予約する。
/loop のセンチネル: <<autonomous-loop-dynamic>>
各 wake-up は fresh context で開始されるため、前サイクルのコンテキスト汚染を防ぐ。
harness-mem resume-pack による resume pack 再読込が必須(Step 2)。
harness_mem_record_checkpoint スキーマ:
{
"session_id": "<セッション ID>",
"title": "harness-loop cycle {N}/{max}: {タスク名}",
"content": "cycle_result の 1 行サマリ + commit hash"
}この skill の主役は executor で、advisor は必要な時だけ呼ぶ。 たとえると、担当者が普段は自走し、難所だけベテランに相談する形。
相談条件は固定で、自然言語の「自信が低い」判定は使わない。
| 条件 | 相談するか |
|---|---|
needs-spike / security-sensitive / state-migration | する |
<!-- advisor:required --> | する |
| 同じ原因の 2 回目失敗 | する |
| plateau で停止する直前 | する |
同じ trigger は 1 回しか相談しない。
その判定には trigger_hash = task_id + reason_code + normalized_error_signature を使う。
harness-work — 各サイクルで実行されるタスク実装スキルharness-plan — ループ対象タスクの計画harness-review — 個別タスクのレビューsession-control — セッション状態管理© Chachamaru127, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in skills/harness-loop of Chachamaru127/claude-code-harness.
Open the folder on GitHubat commit 2b2b748
Harness Long-Running Task Loop next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Harness Long-Running Task Loop this skillChachamaru127/claude-code-harness | 3.2k | — | ~2.3k | Automated safety check: Notes | MIT | |
| Harness 24hthu-nmrc/OpenHarness | 116 | — | ~3.6k | Automated safety check: Pass | Apache-2.0 | |
| Harness Engineering10xChengTu/harness-engineering | 102 | 1 repos | ~1k | Automated safety check: Pass | None | |
| Loop Engineeringhuytieu/COG-second-brain | 1.3k | — | ~1.5k | Automated safety check: Pass | MIT | |
| Autonomous Agent Harnessaffaan-m/ECC | 275k | 2 repos | ~2.9k | Automated safety check: Pass | MIT | |
| Session Handoffdavila7/claude-code-templates | 32k | 2 repos | ~1.6k | Automated safety check: Pass | MIT |
thu-nmrc/OpenHarness
A production-grade framework for long-running, autonomous agents based on Harness Engineering principles.
10xChengTu/harness-engineering
Set up and improve harness engineering (AGENTS.md, docs/, lint rules, eval systems, project-level prompt engineering) for AI-agent-friendly codebases.
huytieu/COG-second-brain
Shared loop-engineering reference for COG skills - the agent loop, deterministic verifiers, termination conditions, in-loop context management, and named patterns.
affaan-m/ECC
Transform Claude Code into a fully autonomous agent system with persistent memory, scheduled operations, computer use, and task queuing.
davila7/claude-code-templates
Creates comprehensive handoff documents for seamless AI agent session transfers.
QwenLM/qwen-code
Runs a prompt now and repeats it on a fixed interval or through self-paced wakeups, with subcommands to list or clear scheduled loop jobs.
Chachamaru127/claude-code-harness
Diagnoses failing CI pipelines and tests, deciding first whether the test or the implementation is at fault, and hands hard cases to a dedicated fixer subagent.
Chachamaru127/claude-code-harness
Hands one implementation task to Cursor Composer in an isolated git worktree, then reviews its diff and cherry-picks the result into the main branch.
Chachamaru127/claude-code-harness
Renders a single HTML page showing each acceptance criterion as verified or not, with a ship, wait, or reject recommendation for non-engineers.
Chachamaru127/claude-code-harness
Creates and maintains Plans.md task plans with a spec delta, updates task markers and syncs plan progress with the implementation.
Chachamaru127/claude-code-harness
Runs a release for any project that keeps a Keep a Changelog file on GitHub, from version bump to merge, tag and GitHub Release after a single approval.
Chachamaru127/claude-code-harness
Routes a review request to the right mode and reference file in the claude-code-harness project: code, plan or scope review, a quick closeout, a dual Claude-and-Codex opinion, or a security-only pass.
Categories
Repeats a long task as a series of scheduled wake-ups, each re-entering with fresh context and calling harness-work for one task per cycle. md is written in Japanese. This meta skill combines Claude Code's `/loop` dynamic mode with `ScheduleWakeup`.
Harness Long-Running Task Loop fits situations like: running a long backlog of tasks autonomously over many wake-ups; waiting on CI between cycles with a short pacing interval; overnight batch runs with a long interval between wake-ups; checking on or stopping a running harness loop.
Run `npx skills add Chachamaru127/claude-code-harness --skill harness-loop -a claude-code`. Or copy the skill folder (skills/harness-loop in Chachamaru127/claude-code-harness) into .claude/skills/harness-loop in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Chachamaru127/claude-code-harness --skill harness-loop -a codex`. Or copy the skill folder (skills/harness-loop in Chachamaru127/claude-code-harness) into .agents/skills/harness-loop in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Chachamaru127/claude-code-harness --skill harness-loop -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/harness-loop, .gemini/skills/harness-loop, .github/skills/harness-loop and .opencode/skills/harness-loop in your project.
Going by SKILL.md and its folder, Harness Long-Running Task Loop needs the command-line tools its instructions call (bash). Our summary lists: Claude Code with /loop and ScheduleWakeup; The harness-work skill from the same plugin; A plans/manifest.json file when using named plans. Its frontmatter pre-approves these tools: Read, Edit, Bash, Task, ScheduleWakeup, mcp__harness__harness_mem_resume_pack, mcp__harness__harness_mem_record_checkpoint.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Harness Long-Running Task Loop is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 7.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Harness Long-Running Task Loop: Harness 24h (thu-nmrc/OpenHarness, 116 stars), Harness Engineering (10xChengTu/harness-engineering, 102 stars), Loop Engineering (huytieu/COG-second-brain, 1.3k stars) and Autonomous Agent Harness (affaan-m/ECC, 275k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Chachamaru127 (a GitHub user) maintains it in Chachamaru127/claude-code-harness, which has 3,154 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on October 5, 2026.
Source: Chachamaru127/claude-code-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.