---
name: rigor-doctor
description: >-
  Validate that a project's Rigor configuration, plugins, paths, and baseline are actually healthy. Use
  when diagnostics are suspicious or setup behavior is wrong; not for first-time onboarding or reducing
  ordinary diagnostics.
license: MPL-2.0
metadata:
  version: 0.1.0
  homepage: https://github.com/rigortype/rigor
---

# Rigor Doctor

`rigor skill describe` reports what *exists* (presence checks). This skill
goes a level deeper: `rigor doctor` *runs* Rigor's own setup validators
(config audit, RBS environment, plugin loading, baseline drift, plugin
gaps, install layout) and this skill interprets the result — the
difference between "a `.rigor.yml` is present" and "it parses, loads its
plugins, and analyses the right files." Reach for it when the diagnostics
look wrong (suspiciously zero, or suspiciously many) or after editing the
config.

## First: load the version-current copy

This skill's exact commands, flags, and config keys drift between Rigor
releases, so follow the copy that ships with the **installed** Rigor rather
than any vendored or frozen copy of this file. Get the complete current
procedure in one call:

```sh
rigor skill --full rigor-doctor   # this body + all its references/, inline
```

If you already loaded this skill *via* `rigor skill` you have the current
copy — just proceed (read any `references/NN-*.md` from the directory the
header names). If `rigor` is not on `PATH`, this task needs it: run
**`rigor-next-steps`** to install Rigor first, then come back.

## When to use

- After editing `.rigor.yml` / `.rigor.dist.yml`.
- When `rigor check` reports suspiciously few or suspiciously many
  diagnostics, or the config feels like it isn't taking effect.
- NOT for first-time setup (→ `rigor-project-init`) or working real
  diagnostics down (→ `rigor-baseline-reduce`).

## What it validates

`rigor doctor` runs the setup checks in one pass (`--format json` gives
each finding's `checks[].id` and `status`) and exits non-zero when any
check fails. It does not check whether the analysis sees the right
files; that is a separate look at `stats.target_files` in
`rigor check --format json`. What each check id means and how to act on
it live in the version-current
[`references/01-checks.md`](references/01-checks.md) (loaded per the
directive above).

## Interpreting the result

- **All clean** (no `fail` or `warn` finding, and the file count matches
  the project) → the setup is healthy; any diagnostics are about the code,
  not the configuration. Move on to `rigor-baseline-reduce` or
  `rigor-protection-uplift`.
- **A `config_audit`, `rbs_environment`, or `plugins` failure** → that is
  the real problem; fixing it usually clears a whole cluster of confusing
  downstream diagnostics at once.

For deeper symptoms (hover shows `untyped` everywhere, completion empty,
LSP silent) read the manual's troubleshooting chapter — offline and
version-matched:

```sh
rigor docs troubleshooting
```

## Next step

Re-run `rigor skill describe` for the recommended next move.
