Autonomous iterative improvement loop for writing and thinking tasks — Karpathy autoresearch pattern applied to ideas
SaferSkills independently audited autoresearch-skill (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Autonomous improvement loop for writing and thinking tasks. Human provides the problem. Agent designs the oracle, iterates, evaluates, keeps or discards, repeats until convergence.
Based on Andrej Karpathy's autoresearch pattern (2026-03-07): the insight is that any domain with a scalar oracle and fast feedback can be optimised. The oracle quality determines everything.
/autoresearch "problem statement" [--oracle-hint "what matters"] [--iterations N] [--auto]Examples:
/autoresearch "sharpen the positioning for Orbit's enterprise pitch"
/autoresearch "iterate on this Substack intro" --oracle-hint "boldness and hook matter most"
/autoresearch "find the best frame for my WEF paper abstract" --iterations 15
/autoresearch igb-thesis ← resume named loop
/autoresearch igb-title ← resume named loopFlags:
--oracle-hint "X" — incorporate X as a named dimension or evaluator constraint--iterations N — hard cap (default: run to convergence, max 30)--auto — skip oracle approval, run immediately with auto-designed oracleDefault: always show oracle for approval before looping.
When invoked with a new problem:
Determine:
orbit-pitch, wef-abstract)references/oracle-design.md for patterns by type)Read references/oracle-design.md. Select 3–4 scoring dimensions appropriate to the problem type. If --oracle-hint was passed, incorporate as a named dimension. Produce a draft evaluate.md from templates/evaluate.md.tmpl.
Oracle must have:
Read references/personas.md. Match to problem domain:
Default panel size: 3. Add a skeptic (incumbent-adversary or vc-stress-tester) for strategy/pitch loops.
From templates/experiment_v0.md.tmpl. Create starting state from the problem statement. If the user pasted draft content, use it as v0.
Present the following for confirmation (unless --auto):
ORACLE DESIGN — [task slug]
Problem: [restate]
Experiment: [what will be iterated]
Loop dir: ~/clawd/[task-slug]-autoresearch/
PANEL: [persona 1] / [persona 2] / [persona 3]
DIMENSIONS:
D1 — [Name]: [Question]
D2 — [Name]: [Question]
D3 — [Name]: [Question]
[D4 — Name: Question]
SCORING: geometric mean per persona → arithmetic mean across panel
Hard constraints: [list]
Direction of travel: [bolder/sharper/more specific/etc.]
Reply ✅ to start, or give corrections.Do NOT proceed to Phase 2 until confirmed (or --auto was passed).
mkdir -p ~/clawd/[task-slug]-autoresearch/
# Write program.md, evaluate.md, [experiment]_v0.mdSpawn with: program.md contents + current best experiment file. Instruction: generate ONE iteration — change ONE element per the priority order. Output the full new version.
Spawn with: evaluate.md contents + new experiment file + "previous best score was X.XX". Returns: FINAL SCORE, KEEP/DISCARD, WEAKEST ELEMENT, SUGGESTED DIRECTION.
[experiment]_vN.md (increment N), update current best score, append to run log--iterations N)After every 5 iterations, post to #autoresearch (1480667040174833878):
[Task] Batch update: iterations 1–5
Best score: X.XX (vN)
Kept: N | Discarded: N
Weakest element: [X]
Next direction: [Y]When convergence is reached:
/autoresearch [task] CONVERGED after [N] iterations
Best candidate: [experiment]_vN.md
Final score: X.XX
Score history: [v0: X.XX → vN: X.XX]
Winning changes: [list of kept changes]
What didn't move the score: [list of discarded directions]
Files: ~/clawd/[task-slug]-autoresearch/
Run log: run-log-[date].md
Recommend: review [experiment]_vN.md and decide if score is sufficient or restart with modified oracle.These are running instances of the pattern — do not delete or modify their program.md/evaluate.md.
| Name | Directory | Status | Best score |
|---|---|---|---|
igb-thesis | ~/clawd/igb-autoresearch/ | Active | ~8.5+ (v18) |
igb-title | ~/clawd/igb-title-autoresearch/ | Converged | 9.66 — "The Cage and the Curve" |
To resume: /autoresearch igb-thesis reads the existing program.md, evaluate.md, and latest thesis_frame_vN.md, then continues the loop.
Append to run-log-[YYMMDD].md after each iteration:
## [YYMMDD HH:MM] Iteration [N]
Changed: [what element was changed]
Score: [new] vs [previous best]
Decision: KEEP / DISCARD
Reason: [1 sentence]
Next direction: [1 sentence]~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.