/nio-doctor — validate config + connectivity.
Catch config issues before they cause silent failures: schema validation, a real probe of every enabled external scoring endpoint, and LLM-key sanity checks.
Invoke: /nio-doctor (Claude Code) · $nio-doctor or natural language (Codex) · or via the umbrella /nio doctor on any platform (incl. OpenClaw / Hermes). See Focused skills.
doctor
Validate the current configuration end-to-end. Doctor catches issues before they cause silent failures during real tool calls. No arguments.
What doctor does:
- Configuration — re-runs Zod schema validation against the on-disk
~/.nio/config.yaml. - External analysers — for every enabled entry, builds the same
ExternalAnalyserthe orchestrator uses (auth strategy, custom headers) and issues a real GET against the configured URL. On success, prints the parsedscore; on failure, prints HTTP status / response body preview / hint. This catches typos, missing query params, auth failures, AND response-contract violations like the endpoint returning a different shape. - LLM analyser — flags
guard.llm_analyser.enabled=truepaired with an emptyapi_key.
Doctor does not probe collector.endpoint reachability — its config correctness is covered by the schema check above, and bare HTTP probes would skip the routing headers (e.g. x-event-pipeline-id) that gateways often require, producing misleading 401/403 reports. Export failures surface at runtime via collector / otlp_export_failed.
Output is a markdown checklist with ✓ / ✗ / · per check and an inline hint: line pointing at the specific config path to fix. Doctor's own probes use a scoped diagnostic collector that's discarded after the command returns, so repeated doctor runs do not pollute /nio report.
See the Diagnostics page for a full example output and a walkthrough.