aradotso/trending-skills/autoagent-harness-engineering
Claude Code and agent skill by aradotso/trending-skills
- community
Checking that the SKILL.md file is still in the repository.
Install
npx vskill@latest install aradotso/trending-skills/autoagent-harness-engineeringSKILL.md
Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
Clone and install dependencies
git clone https://github.com/kevinrgu/autoagent cd autoagent uv sync
Configure environment variables
cat > .env << 'EOF' OPENAI_API_KEY=$OPENAI_API_KEY
Add other provider keys as needed
EOF
Build the base Docker image
docker build -f Dockerfile.base -t autoagent-base .
autoagent/ ├── agent.py # Single-file harness under test (primary edit surface) ├── program.md # Meta-agent instructions + directive (human edits this) ├── Dockerfile.base # Base Docker image for task containers ├── tasks/ # Benchmark tasks in Harbor format │ └── my-task/ │ ├── task.toml │ ├── instruction.md │ ├── tests/ │ │ ├── test.sh │ │ └── test.py │ ├── environment/ │ │ └── Dockerfile │ └── files/ ├── jobs/ # Harbor job outputs (auto-generated) ├── results.tsv # Experiment log (created by meta-agent, gitignored) ├── run.log # Latest run output └── .agent/ # Optional workspace artifacts
meta-agent reads program.md → inspects current agent.py → runs benchmark → diagnoses failures → modifies agent.py (prompt, tools, config, orchestration) → runs benchmark again → keeps change if score improves, discards if not → repeats
rm -rf jobs mkdir -p jobs uv run harbor run \ -p tasks/ \ --task-name "<task-name>" \ -l 1 \ -n 1 \ --agent-import-path agent:AutoAgent \ -o jobs \ --job-name latest > run.log 2>&1
rm -rf jobs mkdir -p jobs uv run harbor run \ -p tasks/ \ -n 100 \ --agent-import-path agent:AutoAgent \ -o jobs \ --job-name latest > run.log 2>&1
Read program.md and let's kick off a new experiment!
tasks/my-task/ ├── task.toml # Config (timeouts, metadata) ├── instruction.md # Prompt sent to the agent ├── tests/ │ ├── test.sh # Entry point — writes /logs/reward.txt │ └── test.py # Verification logic ├── environment/ │ └── Dockerfile # FROM autoagent-base └── files/ # Reference files mounted into container
[task] name = "my-task" description = "A sample benchmark task" timeout = 300
[task.metadata] category = "reasoning" difficulty = "medium"
You are given a dataset of customer reviews. Your task is to:
- Classify each review as positive, negative, or neutral
- Extract the main topic of each review
- Output a JSON file at /output/results.json
The reviews are located at /files/reviews.csv
#!/bin/bash set -e
Run verification and write score to /logs/reward.txt
python /tests/test.py
import json import os
EXPECTED_COUNT = 50 reward_path = "/logs/reward.txt" output_path = "/output/results.json"
try: with open(output_path) as f: results = json.load(f)
# Score based on completeness and format score = 0.0
if isinstance(results, list): score += 0.3 # correct format
correct = sum(1 for r in results if "label" in r and "topic" in r) score += 0.7 * (correct / EXPECTED_COUNT)
score = min(1.0, max(0.0, score))
except Exception as e: score = 0.0
os.makedirs("/logs", exist_ok=True) with open(reward_path, "w") as f: f.write(str(score))
FROM autoagent-base
Add any task-specific dependencies
RUN pip install pandas scikit-learn
Copy reference files
COPY files/ /files/
── CONFIG ──────────────────────────────────────────────────────────────────
MODEL = "gpt-4o" TEMPERATURE = 0.0 MAX_TOKENS = 4096 SYSTEM_PROMPT = """You are a helpful AI assistant..."""
── TOOL DEFINITIONS ─────────────────────────────────────────────────────────
TOOLS = [ { "type": "function", "function": { "name": "read_file", "description": "Read a file from the filesystem", "parameters": { "type": "object", "properties": { "path": {"type": "string", "description": "File path to read"} }, "required": ["path"] } } }, # ... more tools ]
── AGENT REGISTRY ───────────────────────────────────────────────────────────
AGENTS = { "default": { "model": MODEL, "system_prompt": SYSTEM_PROMPT, "tools": TOOLS, "temperature": TEMPERATURE, } }
── ROUTING / ORCHESTRATION ──────────────────────────────────────────────────
def route(task: dict) -> str: """Return agent name based on task properties.""" return "default"
── HARBOR ADAPTER (FIXED — DO NOT EDIT) ─────────────────────────────────────
class AutoAgent: """Harbor-compatible agent entry point.""" # ... Harbor integration + trajectory serialization
Meta-Agent Program
Context
This repo implements an autonomous harness engineering loop. The meta-agent reads this file, inspects agent.py, runs benchmarks, modifies the harness, and iterates to maximize benchmark score.
Directive
Build an agent that can [DESCRIBE YOUR TASK HERE].
Constraints
- Focus on [specific capabilities]
- The agent should prioritize [accuracy/speed/cost]
- Target benchmark: [task name]
Current Status
- Baseline score: [X.X]
- Last experiment: [description]
- Next hypothesis: [what to try]
Experiment Log
| Run | Change | Score | Delta | |
|---|---|---|---|---|
| 1 | baseline | 0.42 | - |
In agent.py editable section
AGENTS = { "classifier": { "model": "gpt-4o-mini", "system_prompt": "You classify tasks by type. Output JSON.", "tools": [], "temperature": 0.0, }, "executor": { "model": "gpt-4o", "system_prompt": "You execute complex tasks with tools.", "tools": TOOLS, "temperature": 0.1, }, "verifier": { "model": "gpt-4o", "system_prompt": "You verify outputs for correctness.", "tools": [], "temperature": 0.0, } }
def route(task: dict) -> str: instruction = task.get("instruction", "").lower() if "verify" in instruction or "check" in instruction: return "verifier" elif len(instruction) < 100: return "classifier" return "executor"
TOOLS = [ { "type": "function", "function": { "name": "bash", "description": "Run a bash command and return output", "parameters": { "type": "object", "properties": { "command": {"type": "string"} }, "required": ["command"] } } }, { "type": "function", "function": { "name": "write_file", "description": "Write content to a file", "parameters": { "type": "object", "properties": { "path": {"type": "string"}, "content": {"type": "string"} }, "required": ["path", "content"] } } }, ]
SYSTEM_PROMPT = """You are an expert AI assistant.
Before answering, always:
- Restate the task in your own words
- Break it into subtasks
- Execute each subtask step by step
- Verify your output
Use tools liberally. If a tool fails, retry with different parameters. Always write final outputs to the specified output path. """
Clean Harbor's cached task images and task cache
uv run harbor cache clean -f
Full Docker cleanup (all unused images, build cache)
docker system prune -a -f
Lighter: just dead containers
docker container prune -f
If Docker becomes unresponsive after many concurrent runs
killall Docker && open -a Docker
Ensure base image exists
docker images | grep autoagent-base
Rebuild if missing
docker build -f Dockerfile.base -t autoagent-base .
Verify agent.py exports AutoAgent
python -c "from agent import AutoAgent; print('OK')"
Check import path flag matches
--agent-import-path agent:AutoAgent
Reduce concurrency
uv run harbor run -p tasks/ -n 4 --agent-import-path agent:AutoAgent -o jobs --job-name latest
Clean up between runs
rm -rf jobs && mkdir -p jobs
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 78 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/autoagent-harness-engineering/SKILL.md
Popularity
- Repository stars
- 45
- Repository forks
- 10
- 7-day trend score
- 19
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 19 Jun 2026, 4 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/aradotso/trending-skills/autoagent-harness-engineering)