autoresearch
Autonomous iteration loop: modify, verify, keep/discard against any metric
5 expert personas debate proposed changes before implementation
> /plugin marketplace add uditgoenka/autoresearch > /plugin install autoresearch@autoresearch
How it fires
How this command gets triggered: by you, by Claude, or both.
/predictContext preview
What this command does when you run it.
5 expert personas debate proposed changes before implementation
name: autoresearch:predict description: "5 expert personas debate proposed changes before implementation" argument-hint: "[Scope: <glob>] [Goal: <text>] [--depth shallow|standard|deep] [--adversarial] [--chain <targets>]"
EXECUTE IMMEDIATELY.
Extract from $ARGUMENTS:
Remaining text not matching flags = goal description.
AskUserQuestion (single batch): Q1 (Scope): "Which files to analyze?" — suggested globs + entire codebase Q2 (Goal): "What should personas focus on?" — code quality, security, performance, architecture, all Q3 (Depth): "How deep?" — shallow (3 personas, 1 round), standard (5, 2 — recommended), deep (8, 3) Q4 (Chain): "After analysis, chain to?" — debug, security, fix, ship, scenario, no chain If all provided → skip.
Scan all in-scope files. Build structured knowledge:
Load `references/predict-personas.md` for persona definitions.
**Default set (5):** Architect, Security Analyst, Performance Engineer, Reliability Engineer, Devil's Advocate. **Adversarial set (--adversarial):** Breaker, Cheater, Scaler, Newbie, Malicious Insider.
Each persona receives: task description + codebase knowledge + their specific evaluation criteria. Personas are isolated — no shared context between them.
Each persona analyzes the codebase independently:
For each debate round: 1. Present all personas' findings to each other 2. Each persona can: challenge findings, raise new issues, change confidence 3. Cross-examination: personas must respond to challenges with evidence 4. No persona can dismiss without counter-evidence
Synthesizer aggregates all findings: 1. Deduplicate (same file:line + same issue = merge, keep highest severity) 2. Resolve conflicts (if personas disagree, note dissent) 3. **Anti-herd check:** if all personas agree on everything, synthesizer MUST find at least 1 counter-argument 4. Rank by: severity × average confidence × persona agreement count
Create output directory: `autoresearch/predict-{YYMMDD}-{HHMM}/`
Write:
Print to console: top 10 findings ranked by severity × confidence.
If `--fail-on` set: check findings against threshold. Exit non-zero if exceeded.
Write handoff.json: version "2.1.0", source "predict", timestamp, status (COMPLETE|ERROR), findings = consensus findings with severity + confidence + file:line, config{scope, goal, depth}. Invoke next target in --chain order.
Turn Claude Code, OpenCode, or OpenAI Codex into a relentless improvement engine. Based on Karpathy's autoresearch — constraint + mechanical metric + autonomous iteration = compounding gains.
Repo: uditgoenka/autoresearch
Autonomous iteration loop: modify, verify, keep/discard against any metric
Analyze iteration results: trends, plateaus, regressions, recommendations
Scout codebase and auto-generate docs — or a navigable wiki knowledge base — with validation-fix loop