Syntic
← All skills
EngineeringFreeCommunityv1.0.0

loop

Use when the user runs /ar:loop or asks to run an autoresearch experiment continuously on a schedule, with a user-selected interval: 10min, 1h, daily, weekly, or monthly.

About this skill

Use when the user runs /ar:loop or asks to run an autoresearch experiment continuously on a schedule, with a user-selected interval: 10min, 1h, daily, weekly, or monthly.

SKILL.md

loop.SKILL.md

Place it in your Syntic skills folder. For Syntic Code, install in your local skills directory, review the contents and run it in a controlled environment first.

SKILL.md
---
name: loop
description: Use when the user runs /ar:loop or asks to run an autoresearch experiment continuously on a schedule, with a user-selected interval: 10min, 1h, daily, weekly, or monthly.
category: Engineering
version: 1.0.0
tools: []
---

# /ar:loop — Autonomous Experiment Loop

Start a recurring experiment loop that runs at a user-selected interval.

## Usage

- `/ar:loop <experiment>` — start a loop (prompts for interval)
- `/ar:loop <experiment> 10m` — every 10 minutes
- `/ar:loop <experiment> 1h` — every hour
- `/ar:loop <experiment> daily` — daily at ~9am
- `/ar:loop <experiment> weekly` — weekly on Monday ~9am
- `/ar:loop <experiment> monthly` — monthly on the 1st ~9am
- `/ar:loop stop <experiment>` — stop an active loop

## What It Does

### Step 1: Resolve experiment

If no experiment is specified, list the available experiments and let the user pick.

### Step 2: Select interval

If the interval isn't provided, present the options and map to a schedule:

| Interval | Cron Expression | Shorthand |
|----------|----------------|-----------|
| 10 minutes | `*/10 * * * *` | `10m` |
| 1 hour | `7 * * * *` | `1h` |
| Daily | `57 8 * * *` | `daily` |
| Weekly | `57 8 * * 1` | `weekly` |
| Monthly | `57 8 1 * *` | `monthly` |

### Step 3: Create the recurring job

Schedule a job that, on each run, does exactly ONE iteration:

- Review the experiment's results history: what worked, what failed, what hasn't been tried
- Make ONE change to the target based on a strategy escalation tied to the run count
- Record the change with a clear description
- Evaluate the change against the experiment's metric and direction
- Read the outcome (KEEP/DISCARD/CRASH)

Rules for each iteration:

- Only ONE change per experiment run
- NEVER modify the evaluator itself
- If 5 consecutive crashes appear in the results history, stop the loop and alert
- After every 10 experiments, update the strategy summary with what's been learned

### Step 4: Track loop metadata

Record the schedule ID, interval, start time, and experiment name so the loop can be checked or stopped later.

### Step 5: Confirm to the user

Report the interval, that recurring jobs auto-expire after 3 days, and how to check progress or stop the loop.

## Stopping a Loop

When asked to stop a loop: cancel the recurring job, clear its metadata, and confirm how many experiments completed.

## Important Limitations

- **3-day auto-expiry**: recurring jobs expire after 3 days. For longer experiments, restart the loop — results persist and the new loop picks up where the old one left off.
- **One loop per experiment**: don't start multiple loops for the same experiment.
- **Concurrent experiments**: multiple experiments can loop simultaneously only if they're isolated from each other (e.g., on separate branches), which they are by default.

Install

Syntic App

  1. 1Create a dedicated folder for this skill in your local skills library.
  2. 2Place SKILL.md into that folder.
  3. 3Restart Syntic and invoke this skill on matching tasks.

Syntic Code (CLI)

  1. 1Save SKILL.md in your local Syntic Code skills directory.
  2. 2Keep related files in the same skill folder.
  3. 3Run in a safe environment and validate outputs.