auto-deep-researcher-24x7
```markdown
What this skill does
```markdown
---
name: auto-deep-researcher-24x7
description: Autonomous AI agent that runs deep learning experiments 24/7 using a Leader-Worker architecture with zero-cost monitoring and constant-size memory.
triggers:
- "run my deep learning experiments automatically"
- "set up autonomous experiment agent"
- "automate hyperparameter tuning overnight"
- "run experiments while I sleep"
- "set up 24/7 ML experiment loop"
- "autonomous deep learning research agent"
- "auto experiment with GPU monitoring"
- "continuous experiment iteration with LLM"
---
# Auto Deep Researcher 24x7
> Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection.
An autonomous AI agent that runs your deep learning experiments 24/7. It follows a **THINK → EXECUTE → REFLECT** loop: plans the next experiment, launches training on GPU, monitors at zero LLM cost (just process checks + log reads), then reflects and iterates — all without human intervention.
**Key properties:**
- Zero-cost monitoring during training (no LLM calls while GPU trains)
- Constant-size memory via rolling `MEMORY_LOG.md`
- Leader-Worker architecture for multi-GPU / multi-project
- ~$0.08/day average LLM cost
- Human stays in control via `PROJECT_BRIEF.md` and `HUMAN_DIRECTIVE.md`
---
## Installation
### Prerequisites
- Python 3.10+
- 1+ NVIDIA GPU
- Anthropic or OpenAI API key
- Claude Code, Codex CLI, or similar AI coding agent
### Clone and Install
```bash
git clone https://github.com/Xiangyue-Zhang/auto-deep-researcher-24x7.git
cd auto-deep-researcher-24x7
pip install -r requirements.txt
```
### Set API Key
```bash
# For Anthropic (Claude)
export ANTHROPIC_API_KEY=your_key_here
# For OpenAI (Codex)
export OPENAI_API_KEY=your_key_here
```
---
## Quickstart (3 Steps)
### Step 1 — Create your project folder
```bash
mkdir my-experiment
cd my-experiment
```
### Step 2 — Write `PROJECT_BRIEF.md`
This is the only required file. It defines the goal, constraints, and search strategy.
```markdown
# Goal
Train a ResNet-50 on CIFAR-100 to reach 80%+ top-1 accuracy.
# Codebase
Create the training code from scratch in PyTorch.
# What to Try
- Start with a basic ResNet-50 baseline (lr=0.1, SGD, cosine schedule).
- If accuracy < 75%, improve optimizer and learning rate schedule.
- If accuracy is 75-80%, try data augmentation (CutMix, AutoAugment).
- If accuracy > 80%, stop and write final report.
# Constraints
- Use GPU 0 only.
- Max 100 epochs per run.
- Do not change the backbone architecture.
```
### Step 3 — Launch the agent
```bash
# Inside Claude Code or Codex CLI:
/auto-experiment --project /path/to/my-experiment --gpu 0
```
The `workspace/` directory is auto-created. The agent starts its loop immediately.
---
## Project Structure
```
my-experiment/
├── PROJECT_BRIEF.md # ← You write this (required)
├── HUMAN_DIRECTIVE.md # ← Optional: override next cycle direction
├── config.yaml # ← Optional: override defaults
└── workspace/ # ← Auto-created by agent
├── MEMORY_LOG.md # Rolling memory of results and decisions
├── experiments/ # Per-run code, configs, logs
├── progress_tracking/ # Local text notes (if no Obsidian)
│ ├── Dashboard.txt
│ └── Daily/YYYY-MM-DD.txt
└── results/ # Parsed results per experiment
```
---
## Key CLI Commands
```bash
# Start autonomous experiment loop
/auto-experiment --project /path/to/project --gpu 0
# Check current status (goal, best result, cycle count, running jobs)
/experiment-status
# Generate structured progress report
/progress-report
# Manually sync Obsidian notes (if configured)
/obsidian-sync
# Run a single THINK-EXECUTE-REFLECT cycle (manual trigger)
/run-cycle --project /path/to/project
```
---
## Configuration (`config.yaml`)
All fields are optional. The agent runs with defaults if this file is absent.
```yaml
# config.yaml — place in your project root
agent:
model: "claude-opus-4-5" # or "gpt-4o", "claude-sonnet-4-5"
max_cycles: 50 # stop after N cycles (0 = unlimited)
cycle_timeout_hours: 6 # max hours per experiment before abort
reflect_on_failure: true # still call REFLECT if training crashes
gpu:
devices: [0] # list of GPU IDs to use
memory_fraction: 0.9 # reserved VRAM fraction per job
monitoring:
poll_interval_seconds: 60 # how often to check process + logs
log_tail_lines: 50 # lines from training log to read
memory:
max_log_entries: 20 # rolling window size in MEMORY_LOG.md
summarize_on_overflow: true # summarize old entries instead of delete
obsidian:
enabled: false # set true to sync to Obsidian vault
vault_path: "~/Documents/MyVault" # path to vault root
auto_append_daily: true # append to daily note each cycle
safety:
dry_run_before_launch: true # always do a quick dry-run first
block_path_traversal: true # harden tool execution
block_shell_injection: true
```
---
## Controlling the Agent at Runtime
### Stable direction — `PROJECT_BRIEF.md`
Edit this to change the overall goal or constraints. Takes effect at the next THINK phase.
### Temporary redirect — `HUMAN_DIRECTIVE.md`
Create or edit this file to override the next cycle only. The agent reads it, acts on it, then clears it.
```markdown
# HUMAN_DIRECTIVE.md (temporary — agent will clear after reading)
- Stop exploring augmentation for now.
- Return to the last baseline and try a different learning rate schedule.
- Do not change batch size this cycle.
```
### Common directive patterns
```markdown
# Narrow the search space
- Only tune learning rate and weight decay this cycle.
- Do not modify the model architecture.
# Prevent thrashing on a weak branch
- If accuracy gain is below 0.3 points for 3 consecutive runs, abandon this direction.
- Return to the best checkpoint and try a new idea.
# Force result verification
- If a result is more than 2 points above the previous best, rerun with a new seed.
- Do not record improvement until both runs agree within 0.5 points.
# Emergency stop
- Stop all new launches after the current run finishes.
- Write a summary of results so far.
```
---
## Code Examples
### Minimal training script the agent can generate and iterate on
The agent writes and modifies this itself, but knowing the pattern helps you write `PROJECT_BRIEF.md` clearly:
```python
# workspace/experiments/run_003/train.py
import torch
import torch.nn as nn
import torchvision
import torchvision.transforms as transforms
from torchvision.models import resnet50
import argparse, json, time, pathlib
def main(args):
device = torch.device(f"cuda:{args.gpu}")
transform_train = transforms.Compose([
transforms.RandomCrop(32, padding=4),
transforms.RandomHorizontalFlip(),
transforms.AutoAugment(transforms.AutoAugmentPolicy.CIFAR10),
transforms.ToTensor(),
transforms.Normalize((0.5071, 0.4867, 0.4408),
(0.2675, 0.2565, 0.2761)),
])
transform_val = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize((0.5071, 0.4867, 0.4408),
(0.2675, 0.2565, 0.2761)),
])
train_ds = torchvision.datasets.CIFAR100("./data", train=True,
download=True, transform=transform_train)
val_ds = torchvision.datasets.CIFAR100("./data", train=False,
transform=transform_val)
train_loader = torch.utils.data.DataLoader(train_ds, batch_size=args.batch_size,
shuffle=True, num_workers=4)
val_loader = torch.utils.data.DataLoader(val_ds, batch_size=256,
shuffle=False, num_workers=4)
model = resnet50(num_classes=100).to(deviRelated in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.