# Autorag Doctor

Diagnose and repair a broken or half-working AutoRAG install so every configured source...

- Repository: https://github.com/Marker-Inc-Korea/AutoRAG (5251 stars)
- Category: AI and agents
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Marker-Inc-Korea/AutoRAG --skill autorag-doctor -g -a claude-code -y`
Codex: `npx skills add Marker-Inc-Korea/AutoRAG --skill autorag-doctor -g -a codex -y`
Cursor: `npx skills add Marker-Inc-Korea/AutoRAG --skill autorag-doctor -g -a cursor -y`
Gemini CLI: `npx skills add Marker-Inc-Korea/AutoRAG --skill autorag-doctor -g -a gemini-cli -y`

## Description

Diagnose and repair a broken or half-working AutoRAG install so every configured source is both indexed and searchable. Checks AutoRAG, MinSync, Jikji, the embedding backend, and every CLI-backed datasource (lazykatok, discrawl, slacrawl, wacrawl, telecrawl, notcrawl, mailcrawl), then fixes orphan locks, orphan processes, embedding dimension or identity mismatches, stale indexes, and missing setup. Use when search returns nothing or too little, refresh hangs or fails, a datasource disappeared from results, indexes look stale, the embedder is unavailable, or the user asks to check, diagnose, verify, or repair AutoRAG.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# AutoRAG doctor

Goal: every configured datasource is **indexed** *and* **actually returns
hits**. A green `status` is not enough, the run is done only when a real query
returns a real hit per datasource, or the datasource is reported as genuinely
empty or not configured.

Always finish with the status table in [Report](#report).

## Safety

- Diagnosis and repair never delete, move, or edit source documents; a doctor
  run changes only AutoRAG-owned state.
- Never delete a datasource's **native** store (`~/Library/Application Support/katok`, `~/.discrawl`,
  `~/.mailcrawl`, Telegram/WhatsApp/Notion archives). AutoRAG only
  reads them; rebuilding them is the owning CLI's job.
- Only AutoRAG-owned state under `AUTORAG_HOME` and the workspace `.autorag`
  directory may be reset.
- Never print token or password values. Report credential **names** only.
- Kill a process only after confirming it is an AutoRAG-owned orphan.

## 1. Triage the core

```bash
autorag status --json
autorag health --json
autorag setup --format json
```

- `status` reports `state`, `stale`, `diagnostics`, and per-component state for
  `minsync`, `jikji`, and `datasources`. `stale: true` or any `stale-index`
  diagnostic means the corpus changed since the last successful refresh.
- `health` resolves the single search model and does one live completion probe.
  `--skip-probes` only proves config shape, never live access; do not claim a
  healthy model from it.
- `setup --format json` reports `embedding.backend` (`remote`, `daemon`, or
  `in-process`) and the resolved `provider`/`model`/`dimension` when a backend
  is alive, or `embedding.reason` and a `remediation` when none is. It only
  probes; it never starts a daemon. Semantic search needs the daemon (or a
  remote endpoint) to be running: a backend that is absent is a real
  `embedding-unavailable` state, not normal.

The rest: https://github.com/Marker-Inc-Korea/AutoRAG/blob/HEAD/skills/autorag-doctor/SKILL.md
