PyOD 3.1.0 — Skill install UX + agent stack detection
Minor release focused on making the Claude Code od-expert skill install flow self-discoverable, extending agent support to Codex, and tightening the packaging layer. No breaking changes.
What's new
Unified pyod CLI
A new top-level command with three subcommands:
pyod install skill # Claude Code / Claude Desktop
pyod install skill --project # Codex (project-local)
pyod info # self-diagnostic
pyod mcp serve # alias for `python -m pyod.mcp_server`The legacy pyod-install-skill console script from v3.0.0 still works as an alias and now shares a single code path with pyod install skill.
pyod info self-diagnostic
PyOD version: 3.1.0
Detectors (ADEngine): 61 total (44 tabular, 7 time-series, 8 graph, 3 text, 2 image, 1 multimodal)
Classic API: OK
ADEngine (Layer 2): OK
MCP extra: NOT INSTALLED (install: pip install pyod[mcp])
od-expert skill: INSTALLED (user-global) at /Users/you/.claude/skills/od-expert/SKILL.md
Detected agents: Claude Code, Codex
Detector counts come directly from pyod.utils.knowledge.algorithms (no hardcoded modality list). Agent stack detection checks both ~/.claude/ (Claude Code) and ~/.codex/ (Codex) and prints actionable install commands if the skill is missing.
Codex support
Codex does not have a user-global skill directory like Claude Code. Instead, it reads shared skills from ./skills/<name>/ per project. pyod install skill --project writes exactly there, so a single command enables od-expert for Codex in any project. pyod info reports both Claude Code and Codex when both are detected, with modality-aware install recommendations.
pyod.mcp_server is now safe to import
In v3.0.0, import pyod.mcp_server called sys.exit(1) at import time if the optional mcp extra was missing — this killed any parent process that tried to probe MCP availability. v3.1.0 refactors the module to defer the FastMCP check into a new main() entry point. import pyod.mcp_server is now safe in every install, and pyod info uses this to report MCP availability reliably.
Documentation refactored
The full installation guide is now in docs/install.rst (core install, conda, source, agentic activation paths for Claude Code + Codex + MCP, verification via pyod info). README.rst has a lean quickstart block that links to the full guide instead of duplicating content.
CI hardening
packaging-smoke-testjob now verifies the unifiedpyodCLI end-to-end:pyod --help,pyod info,pyod install skill --help/--list/--target/--skill od_expert(with canonical-name assertion that underscore input → hyphen output), and a regression guard thatimport pyod.mcp_serverdoes not exit in a core install withoutmcp.- 4 rounds of Codex review (
/implement-review) on the development branch before merge. All findings addressed.
Install
pip install --upgrade pyod
pyod install skill # Claude Code / Claude Desktop: enable the od-expert skill
pyod info # verify everything is wired upFor Codex users:
pip install --upgrade pyod
pyod install skill --project # writes to ./skills/od-expert/ for project-local pickup
pyod info # should show "Detected agents: Codex"For MCP-compatible agents:
pip install --upgrade pyod[mcp]
pyod mcp serveFull changelog
See CHANGES.txt for the full v3.1.0 entry.