Skip to main content

skl doctor

Print a diagnostic report. Doctor reads and never changes skills, projects, or state.db.

Synopsis​

skl doctor

Flags​

None beyond the global flags.

Output​

The report has five sections.

  • == API. api_base and the result of GET /v1/health, with a 3 second timeout.
  • == Auth. Whether a token is present, absent, or in error, which store holds it, and whether SKL_TOKEN or SKL_TOKEN_FILE overrides it.
  • == State. The config.toml and state.db paths, whether each exists and is writable, the skill count, and the last sync.
  • == Agent skill roots. Every home agent directory skl scans, with missing or a skill count.
  • == Linking. Whether this machine can create directory symlinks, the current project's skills.toml with the mode of each skill, and warn lines.

Doctor warns about:

  • An old project layout with .claude or .cursor links. Fix with skl migrate targets.
  • Absolute paths in skills.toml. Fix with skl use --all.
  • Symlinks that a remote agent cannot follow. Fix with skl use --all.
  • Project copies whose content differs from this machine's library.

On Windows, a failed symlink check prints symlink unavailable and explains that directory symlinks need Developer Mode or the SeCreateSymbolicLink privilege.

What it writes​

Nothing, except that in a terminal it may show the extras checklist once and write the answer to [targets] in config.toml. The checklist is skipped when CI, SKL_NO_PROMPT, or SKL_YES is set, or when stdin is not a terminal.

Errors​

Doctor exits 0 after printing its report, including when the API is unreachable.