AI Automation Workflows
NeverSight/learn-skills.dev
Build automated AI workflows combining multiple models and services.
A production-grade framework for long-running, autonomous agents based on Harness Engineering principles.
$ npx skills add thu-nmrc/OpenHarness --skill harness-24h -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install thu-nmrc/OpenHarness harness-24h --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
Claude Code skills documentation · loads skills from .claude/skills/
Install the "harness-24h" agent skill from https://github.com/thu-nmrc/OpenHarness/tree/main into .claude/skills/harness-24h/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harness-24h", 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.
$ npx skills add thu-nmrc/OpenHarness --skill harness-24h -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install thu-nmrc/OpenHarness harness-24h --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "harness-24h" agent skill from https://github.com/thu-nmrc/OpenHarness/tree/main into .agents/skills/harness-24h/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harness-24h", 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 thu-nmrc/OpenHarness --skill harness-24h -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install thu-nmrc/OpenHarness harness-24h --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "harness-24h" agent skill from https://github.com/thu-nmrc/OpenHarness/tree/main into .cursor/skills/harness-24h/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harness-24h", 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.
$ npx skills add thu-nmrc/OpenHarness --skill harness-24h -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install thu-nmrc/OpenHarness harness-24h --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "harness-24h" agent skill from https://github.com/thu-nmrc/OpenHarness/tree/main into .gemini/skills/harness-24h/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harness-24h", 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 thu-nmrc/OpenHarness harness-24hInstalls 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 thu-nmrc/OpenHarness --skill harness-24h -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "harness-24h" agent skill from https://github.com/thu-nmrc/OpenHarness/tree/main into .github/skills/harness-24h/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harness-24h", 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 thu-nmrc/OpenHarness --skill harness-24h -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install thu-nmrc/OpenHarness harness-24h --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "harness-24h" agent skill from https://github.com/thu-nmrc/OpenHarness/tree/main into .opencode/skills/harness-24h/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "harness-24h", 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-24hA production-grade framework for long-running, autonomous agents based on Harness Engineering principles.
Harness 24h is an agent skill from thu-nmrc/OpenHarness. A production-grade framework for long-running, autonomous agents based on Harness Engineering principles. Features three-layer self-healing memory, circuit breaker protection, KAIROS dream-mode consolidation, and multi-agent coordination. When a user describes a task idea, Agent automatically initializes the workspace, fills all template files, sets up the cron schedule, and begins execution immediately.
Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 30 other files, including scripts, reference files and assets (for example `CONTRIBUTING.md`, `README.md` and `UPDATE_LIST.md`).
It sits in Agent Workflows, covering Scheduled and recurring tasks and Autonomous loops. It works with Python. The repository describes itself as: Reliability harness for long-running OpenClaw agents: persistent state, strict task contracts, scheduled execution, and external validation. The licence is Apache-2.0.
10 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 9379c08. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 9 files in scripts/ (Python, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
python3From 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 24h loads about 3.6k tokens when it runs, and up to ~7.1k if it reads all its reference files. Until then it costs about 105 tokens; SKILL.md has 1,204 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 found no risky patterns in SKILL.md.
Automated 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); the scripts in this folder are not scanned.
The full file from thu-nmrc/OpenHarness at commit 9379c08, republished under its Apache-2.0 licence (© thu-nmrc). 1,204 words, ~3,595 tokens.
.claude/skills/harness-24h/SKILL.md (or your agent's skills folder). This skill also uses 27 other files; get the full folder from GitHub.This skill provides a complete framework for executing long-running, autonomous tasks based on the principles of Harness Engineering.
Key principle: The user only describes their task idea. Agent handles everything else — workspace creation, filling all files, setting up the cron schedule, and starting execution.
The framework is built around 10 core components of Harness Engineering:
mission.md and eval_criteria.mdplaybook.mdharness_boot.pyharness_eval.pyharness_cleanup.pyFor detailed architecture, read references/architecture.md.
For common anti-patterns to avoid, read references/anti-patterns.md.
| Layer | File(s) | Purpose | Access Pattern |
|---|---|---|---|
| L1 | heartbeat.md | Compact pointer index (< 2KB) | Always in context |
| L2 | knowledge/*.md | Topic-specific knowledge files | On-demand loading |
| L3 | logs/execution_stream.log | Append-only raw execution log | Grep-only, never read fully |
Strict Write Discipline: Only update L1 pointers AFTER harness_eval.py confirms success.
When a user describes a task idea, follow ALL steps below without asking the user to fill in any files manually.
Choose a workspace path based on the task name. Convention:
~/.openclaw/workspace/harness/{task-slug}/python3 {skill_dir}/scripts/harness_boot.py /path/to/workspace --initThis copies all template files and creates knowledge/, logs/, and output/ directories.
Based on the user's task description, Agent must write the following files completely. Do NOT leave any placeholder text.
File 1 — mission.md: Write the task contract with machine-checkable completion criteria.
File 2 — playbook.md: Write the step-by-step execution guide with explicit tools, URLs, and failure handling.
File 3 — eval_criteria.md: Write the external validation rules with Python code snippets.
File 4 — cron_config.md: Write the scheduling config with cron expression and prompt template.
File 5 — heartbeat.md: Write the initial Layer 1 pointer index.
IMPORTANT: Write to
{workspace}/heartbeat.md(workspace root). Use the three-layer template format with System Status, Execution Pointer, Knowledge Index, and Active Alerts sections. Initial state:idle,Step 0, Circuit Breakeroff.
File 6 — progress.md: Write the initial progress log at {workspace}/progress.md.
mkdir -p /path/to/workspace/output
mkdir -p /path/to/workspace/knowledge
mkdir -p /path/to/workspace/logspython3 {skill_dir}/scripts/harness_boot.py /path/to/workspaceThe output must say "Workspace is ready". If it shows issues, fix them.
Primary Schedule (Main Task Execution):
python3 {skill_dir}/scripts/harness_setup_cron.py /path/to/workspaceRead the output and use the schedule tool with those parameters.
Secondary Schedule (KAIROS Dream Mode — REQUIRED):
Dream mode MUST be scheduled separately to run during off-hours (e.g., 3 AM daily). This is NOT optional — it prevents memory bloat and knowledge fragmentation.
Use the schedule tool with these parameters:
name: {task-name}-dream
type: cron
cron: 0 0 3 * * * (daily at 3 AM, adjust timezone as needed)
repeat: true
prompt: |
Run KAIROS dream mode memory consolidation for the harness task at /path/to/workspace.
Execute:
python3 {skill_dir}/scripts/harness_dream.py /path/to/workspace
This consolidates fragmented knowledge/*.md files, prunes stale Layer 1 pointers,
extracts patterns from logs/execution_stream.log, and updates playbook.md with
distilled best practices. Only runs when the main task is idle.Do NOT wait for the first cron trigger. Begin executing using Workflow B below.
python3 {skill_dir}/scripts/harness_boot.py /path/to/workspaceRead the output carefully:
mission_complete → Stop.blocked or Circuit Breaker tripped → Stop. Wait for human intervention.running) → Boot will auto-recover.python3 {skill_dir}/scripts/harness_heartbeat.py /path/to/workspace startRead in this order to maximize prompt cache hits (static content first):
{workspace}/mission.md — goal and constraints (rarely changes){workspace}/eval_criteria.md — validation rules (rarely changes){workspace}/playbook.md — execution steps (semi-static){workspace}/heartbeat.md — current state pointer (changes each run)knowledge/*.md topic files relevant to the current stepHow to find relevant knowledge topics:
# List all registered topics
python3 {skill_dir}/scripts/harness_memory.py /path/to/workspace topics
# Search execution stream for keywords
python3 {skill_dir}/scripts/harness_memory.py /path/to/workspace search --query "timeout"Then read only the knowledge/{topic}.md files mentioned in heartbeat.md's Knowledge Index section.
Perform the steps defined in playbook.md, starting from the step recorded in heartbeat.md.
During execution, actively use the memory system:
Log significant events (use liberally — this feeds KAIROS dream mode):
python3 {skill_dir}/scripts/harness_memory.py /path/to/workspace stream \
--step "Step 2.3" --event "Fetched 50 articles from API, took 12s"
python3 {skill_dir}/scripts/harness_memory.py /path/to/workspace stream \
--step "Step 3.1" --event "Rate limit hit, waiting 60s" --level WARN
python3 {skill_dir}/scripts/harness_memory.py /path/to/workspace stream \
--step "Step 4" --event "Validation failed: missing required field 'author'" --level ERRORSave reusable knowledge (when you discover a pattern or workaround):
python3 {skill_dir}/scripts/harness_memory.py /path/to/workspace learn \
--topic "api_rate_limits" \
--insight "GitHub API returns 403 after 5000 requests/hour. Wait 60s and retry with exponential backoff."
python3 {skill_dir}/scripts/harness_memory.py /path/to/workspace learn \
--topic "data_validation" \
--insight "Articles from source X often missing 'author' field. Use 'Unknown' as default and log warning."This creates/updates knowledge/api_rate_limits.md and registers the pointer in heartbeat.md.
If succeeded:
python3 {skill_dir}/scripts/harness_heartbeat.py /path/to/workspace done \
--step "Step 4" --summary "Processed 50 articles, 3 validation warnings"If failed:
python3 {skill_dir}/scripts/harness_heartbeat.py /path/to/workspace fail \
--step "Step 3" --error "API timeout after 3 retries"python3 {skill_dir}/scripts/harness_eval.py /path/to/workspacepython3 {skill_dir}/scripts/harness_cleanup.py /path/to/workspaceThis auto-compacts progress.md if it exceeds 2000 lines, archives old execution stream logs, and checks memory integrity.
If all completion criteria met:
python3 {skill_dir}/scripts/harness_heartbeat.py /path/to/workspace mission_completeWhen to run: Automatically via the secondary cron schedule set up in Step A6. Typically runs once daily at 3 AM.
What it does:
logs/execution_stream.log from the last 24 hoursknowledge/*.md filesheartbeat.mdplaybook.md with distilled best practiceslogs/dream_journal.mdManual invocation (for testing or immediate consolidation):
# Full dream cycle
python3 {skill_dir}/scripts/harness_dream.py /path/to/workspace
# Dry run (show what would be done without making changes)
python3 {skill_dir}/scripts/harness_dream.py /path/to/workspace --dry-run
# Only consolidate knowledge, skip playbook update
python3 {skill_dir}/scripts/harness_dream.py /path/to/workspace --skip-playbookCRITICAL: Dream mode should ONLY run when the main task is idle (status != running). The scheduled prompt in Step A6 handles this check automatically.
When to use: When a single step in playbook.md involves processing multiple independent items (e.g., "Scrape 100 product pages", "Analyze 50 PDF documents").
When NOT to use: For sequential steps or when items depend on each other.
python3 {skill_dir}/scripts/harness_coordinator.py /path/to/workspace init --agents 3This creates agents/worker-1/, agents/worker-2/, agents/worker-3/, each with inbox/, outbox/, and manifest.json.
For each independent item, dispatch a subtask:
python3 {skill_dir}/scripts/harness_coordinator.py /path/to/workspace dispatch \
--task "Scrape product page: https://example.com/product/123" \
--step "Step 2.1"
python3 {skill_dir}/scripts/harness_coordinator.py /path/to/workspace dispatch \
--task "Scrape product page: https://example.com/product/456" \
--step "Step 2.1"
python3 {skill_dir}/scripts/harness_coordinator.py /path/to/workspace dispatch \
--task "Scrape product page: https://example.com/product/789" \
--step "Step 2.1"Each task is written as an XML-like Markdown file to an available worker's inbox/.
Important: The coordinator does NOT auto-execute. You must manually process each worker's inbox.
For each worker (1, 2, 3):
# Check if worker has tasks
ls /path/to/workspace/agents/worker-1/inbox/
# Read the task file
cat /path/to/workspace/agents/worker-1/inbox/task_abc123.md
# Execute the task according to its instructions
# ... (your actual scraping/processing logic here)
# Write result to outbox
cat > /path/to/workspace/agents/worker-1/outbox/result_abc123.md << 'EOF'
## Result: task_abc123
**Status**: success
**Output**:
Product title: Example Product
Price: $29.99
Stock: In stock
EOFCheck status:
python3 {skill_dir}/scripts/harness_coordinator.py /path/to/workspace statusCollect all results from worker outboxes:
python3 {skill_dir}/scripts/harness_coordinator.py /path/to/workspace collectThis reads all outbox/result_*.md files, updates worker manifests back to idle, and prints a summary.
Archive all inbox/outbox files to logs/agent_archive/:
python3 {skill_dir}/scripts/harness_coordinator.py /path/to/workspace cleanup| Scenario | Tool | Timing |
|---|---|---|
| Log a significant event during execution | harness_memory.py stream | Every time something notable happens |
| Discover a reusable pattern or workaround | harness_memory.py learn | When you solve a problem that might recur |
| Search past execution logs for debugging | harness_memory.py search | When investigating errors or stuck states |
| Consolidate fragmented knowledge | harness_dream.py | Scheduled off-hours (e.g., 3 AM daily) |
| Process multiple independent items | harness_coordinator.py | Only when parallelization is beneficial |
| Check memory integrity | harness_memory.py check | After manual edits to knowledge files |
{workspace}/ root — not any subdirectory.harness_eval.py as the external validator.harness_memory.py stream for all significant events.© thu-nmrc, Apache-2.0. 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 27 other files (scripts, references, assets) in the repository root of thu-nmrc/OpenHarness.
Open the folder on GitHubat commit 9379c08
Harness 24h 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 24h this skillthu-nmrc/OpenHarness | 118 | — | ~3.6k | Automated safety check: Pass | Apache-2.0 | |
| AI Automation WorkflowsNeverSight/learn-skills.dev | 217 | 1 repos | ~2.6k | Automated safety check: Pass | None | |
| Autonomous Agent Harnessaffaan-m/ECC | 277k | 2 repos | ~2.9k | Automated safety check: Pass | MIT | |
| Recurring Prompt LoopQwenLM/qwen-code | 28k | — | ~2.5k | Automated safety check: Pass | Apache-2.0 | |
| Autonomous Agent Harnessaffaan-m/ECC | 276k | — | ~859 | Automated safety check: Pass | MIT | |
| Golem Custom Snapshot Moonbitgolemcloud/golem | 1.5k | — | ~1.9k | Automated safety check: Pass | Custom licence |
NeverSight/learn-skills.dev
Build automated AI workflows combining multiple models and services.
affaan-m/ECC
Transform Claude Code into a fully autonomous agent system with persistent memory, scheduled operations, computer use, and task queuing.
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.
affaan-m/ECC
Claude Codeを永続的なメモリ、スケジュール済み操作、コンピュータ使用、タスクキューイングを備えた完全自動エージェントシステムに変換します。スタンドアロンエージェントフレームワーク(Hermes、AutoGPT)を、Claude Codeのネイティブcrons、dispatch、MCPツール、メモリを活用して置き換えます。ユーザーが継続的な自動操作、スケジュール済みタスク、または自己指令…
golemcloud/golem
Enabling snapshot-based recovery and implementing custom snapshot save/load functions for MoonBit agents.
golemcloud/golem
Enabling snapshot-based recovery and implementing custom snapshot save/load functions for Rust agents.
Works with
Categories
A production-grade framework for long-running, autonomous agents based on Harness Engineering principles. Harness 24h is an agent skill from thu-nmrc/OpenHarness. A production-grade framework for long-running, autonomous agents based on Harness Engineering principles.
Harness 24h fits situations like: tasks that involve Scheduled and recurring tasks; tasks that involve Autonomous loops.
Run `npx skills add thu-nmrc/OpenHarness --skill harness-24h -a claude-code`. Or copy the skill folder (the thu-nmrc/OpenHarness repository) into .claude/skills/harness-24h in your project. Claude Code loads it when a task matches its description.
Run `npx skills add thu-nmrc/OpenHarness --skill harness-24h -a codex`. Or copy the skill folder (the thu-nmrc/OpenHarness repository) into .agents/skills/harness-24h 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 thu-nmrc/OpenHarness --skill harness-24h -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-24h, .gemini/skills/harness-24h, .github/skills/harness-24h and .opencode/skills/harness-24h in your project.
Going by SKILL.md and its folder, Harness 24h needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.
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 no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Harness 24h is published under the Apache-2.0 licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.6k tokens (SKILL.md is roughly 14k 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 3.5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Harness 24h: AI Automation Workflows (NeverSight/learn-skills.dev, 217 stars), Autonomous Agent Harness (affaan-m/ECC, 277k stars), Recurring Prompt Loop (QwenLM/qwen-code, 28k stars) and Autonomous Agent Harness (affaan-m/ECC, 276k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
thu-nmrc (a GitHub user) maintains it in thu-nmrc/OpenHarness, which has 118 GitHub stars. The repository was last updated on April 1, 2026.
Source: thu-nmrc/OpenHarness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.