popmechanic/autoresearch
> Run the Parallel Autoresearch Engine — massively parallel SKILL.md optimization. Generates 10+ SKILL.md variants per generation, tests each with programmatic harness (no browser needed), scores with triple-run averaging, and iterates autonomously. Use when asked to run autoresearch, improve SKILL.md at scale, or start parallel autoresearch.
npx skills add https://github.com/popmechanic/VibesOS --skill autoresearch
> Plan mode: This skill is ONE plan step: "Invoke /vibes:autoresearch". Do not decompose.
VIBES_ROOT="${CLAUDE_PLUGIN_ROOT:-$(dirname "$(dirname "${CLAUDE_SKILL_DIR}")")}"
echo "Checking autoresearch prerequisites..."
test -f "$VIBES_ROOT/scripts/eval-ssr-check.ts" && echo "✓ Tier 1.5 SSR check" || echo "✗ Missing eval-ssr-check.ts"
test -f "$VIBES_ROOT/scripts/eval-harness.ts" && echo "✓ Tier 2 harness" || echo "✗ Missing eval-harness.ts"
test -f "$VIBES_ROOT/scripts/eval-parallel.ts" && echo "✓ Orchestrator" || echo "✗ Missing eval-parallel.ts"
test -f "$VIBES_ROOT/scripts/eval-scoring.ts" && echo "✓ Scoring" || echo "✗ Missing eval-scoring.ts"
test -f "$VIBES_ROOT/eval/config.md" && echo "✓ Config" || echo "✗ Missing eval/config.md"
test -f "$VIBES_ROOT/eval/napkin.md" && echo "✓ Napkin" || echo "✗ Missing eval/napkin.md"
ls "$VIBES_ROOT/eval/specs/"*.md 2>/dev/null | wc -l | xargs -I{} echo "✓ {} eval specs found"
cd "$VIBES_ROOT/scripts" && bun -e "import React from 'react'; console.log('✓ React available')" 2>/dev/null || echo "✗ React not installed"
If any prerequisite is missing, stop and inform the user.
Dispatch the autoresearch orchestrator agent (.claude/agents/autoresearch-orchestrator.md) with context from eval/config.md, eval/napkin.md, and eval/scoreboard.md.
Pass any CLI arguments from the user (e.g., --variants=5 --generations=10).
VIBES_ROOT="${CLAUDE_PLUGIN_ROOT:-$(dirname "$(dirname "${CLAUDE_SKILL_DIR}")")}"
bun "$VIBES_ROOT/scripts/eval-parallel.ts" --mode=eval-only <app.jsx> <spec.md>
VIBES_ROOT="${CLAUDE_PLUGIN_ROOT:-$(dirname "$(dirname "${CLAUDE_SKILL_DIR}")")}"
bun "$VIBES_ROOT/scripts/eval-scoring.ts" "$VIBES_ROOT/eval/results/gen-N/"
Each generation:
eval/results/gen-N/summary.json — per-generation resultseval/results/summaries.json — cumulative historyeval/scoreboard.md — human-readable scoreboardeval/napkin.md — failure log (grows monotonically)VIBES_ROOT="${CLAUDE_PLUGIN_ROOT:-$(dirname "$(dirname "${CLAUDE_SKILL_DIR}")")}"
bun "$VIBES_ROOT/scripts/eval-report.ts" "$VIBES_ROOT/eval/results/summaries.json"
Take popmechanic/autoresearch from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.