[OMX] Diagnose and fix oh-my-codex installation issues. An agent skill from yangyuan-zhen/PolyWeather.

AGPL-3.0Auto-check passed

Install Doctor

skills CLI
$ npx skills add yangyuan-zhen/PolyWeather --skill doctor -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install yangyuan-zhen/PolyWeather doctor --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/yangyuan-zhen/PolyWeather.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/doctor .claude/skills/doctor && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
doctor
GitHub stars
316
Token cost
~2.4k tokens
SKILL.md length
650 words
Files
1
Skills in repo
26
Repo updated
First seen
Licence
AGPL-3.0

At a glance

[OMX] Diagnose and fix oh-my-codex installation issues. An agent skill from yangyuan-zhen/PolyWeather.

  • Works in 6 steps: Check Plugin Version → Check Hook Configuration (config.toml +… → Check for Legacy Bash Hook Scripts → …
  • SKILL.md covers Canonical skill root, Task: Run Installation…, Report Format and Auto-Fix (if user confirms), plus 1 more section
  • Calls bash and npm; reaches raw.githubusercontent.com

What it does

Doctor is an agent skill from yangyuan-zhen/PolyWeather. [OMX] Diagnose and fix oh-my-codex installation issues

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: polymarket Intelligent Weather Quant Analysis Bot. The licence is AGPL-3.0.

Example prompts

  • “/doctor”

Requirements

  • Node.js

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Check Plugin Version
  2. Check Hook Configuration (config.toml + legacy settings.json)
  3. Check for Legacy Bash Hook Scripts
  4. Check AGENTS.md
  5. Check for Stale Plugin Cache
  6. Check for Legacy Curl-Installed Content

What it can do on your machine

Read from SKILL.md and the folder at commit 43e658b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • bash
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • raw.githubusercontent.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Doctor loads about 2.4k tokens when it runs. Until then it costs about 15 tokens; SKILL.md has 650 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~15
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from yangyuan-zhen/PolyWeather at commit 43e658b, republished under its AGPL-3.0 licence (© yangyuan-zhen). 650 words, ~2,394 tokens.

Download SKILL.mdSave it as .claude/skills/doctor/SKILL.md (or your agent's skills folder).
name
doctor
description
[OMX] Diagnose and fix oh-my-codex installation issues

Doctor Skill

Note: All ~/.codex/... paths in this guide respect CODEX_HOME when that environment variable is set.

Canonical skill root

OMX installs skills to ${CODEX_HOME:-~/.codex}/skills/ — this is the path current Codex CLI natively loads as its skill root.

~/.agents/skills/ is a historical legacy path from an older Codex CLI release, before Codex settled on ~/.codex as its home directory. Current Codex CLI and OMX no longer write there.

In a mixed OMX + plain Codex environment:

  • Use: ${CODEX_HOME:-~/.codex}/skills/ (user scope) or .codex/skills/ (project scope)
  • Clean up if present: ~/.agents/skills/ — if this still exists alongside the canonical root, Codex's Enable/Disable Skills UI will show duplicate entries for any skill present in both trees
  • Interop rule: OMX writes only to the canonical path; archive or remove ~/.agents/skills/ once you have confirmed ${CODEX_HOME:-~/.codex}/skills/ is your active root

Task: Run Installation Diagnostics

You are the OMX Doctor - diagnose and fix installation issues.

Step 1: Check Plugin Version

Official Codex plugin caches are marketplace- and version-scoped, for example ${CODEX_HOME:-~/.codex}/plugins/cache/$MARKETPLACE_NAME/oh-my-codex/$VERSION/. Local installs may use local as the version identifier.

bash
# Get installed plugin cache versions across marketplaces.
# Cache shape: $PLUGIN_CACHE_ROOT/$MARKETPLACE_NAME/oh-my-codex/$PLUGIN_VERSION/
PLUGIN_CACHE_ROOT="${CODEX_HOME:-$HOME/.codex}/plugins/cache"
CACHE_ENTRIES=$(find "$PLUGIN_CACHE_ROOT" -path "*/oh-my-codex/*" -mindepth 3 -maxdepth 3 -type d 2>/dev/null)

if [[ -z "$CACHE_ENTRIES" ]]; then
  echo "Installed plugin cache: none"
else
  while IFS= read -r VERSION_DIR; do
    MARKETPLACE_NAME=$(basename "$(dirname "$(dirname "$VERSION_DIR")")")
    PLUGIN_VERSION=$(basename "$VERSION_DIR")
    printf 'Installed plugin cache: marketplace=%s version=%s path=%s\n' "$MARKETPLACE_NAME" "$PLUGIN_VERSION" "$VERSION_DIR"
  done <<< "$CACHE_ENTRIES"
fi

# Get latest from npm
LATEST=$(npm view oh-my-codex version 2>/dev/null)
echo "Latest npm: $LATEST"

Diagnosis:

  • If no cache entry exists: INFO - plugin marketplace artifact not cached; this may be normal when OMX was installed only through npm/setup
  • Compare each printed PLUGIN_VERSION with LATEST; if it differs and is not local: WARN - outdated plugin cache
  • If one marketplace has multiple version directories: WARN - stale cache for that marketplace/plugin pair
  • Remember: plugin install/discovery is not a replacement for npm install -g oh-my-codex plus omx setup; the packaged plugin carries plugin-scoped companion metadata for optional MCP compatibility servers and apps, with first-party MCP disabled by default, while native/runtime hooks and the rest of OMX runtime wiring stay setup-owned
Step 2: Check Hook Configuration (config.toml + legacy settings.json)

Check ~/.codex/config.toml first (current Codex config), then check legacy ~/.codex/settings.json only if it exists.

Look for hook entries pointing to removed scripts like:

  • bash $HOME/.codex/hooks/keyword-detector.sh
  • bash $HOME/.codex/hooks/persistent-mode.sh
  • bash $HOME/.codex/hooks/session-start.sh

Diagnosis:

  • If found: CRITICAL - legacy hooks causing duplicates
Step 3: Check for Legacy Bash Hook Scripts
bash
ls -la ~/.codex/hooks/*.sh 2>/dev/null

Diagnosis:

  • If keyword-detector.sh, persistent-mode.sh, session-start.sh, or stop-continuation.sh exist: WARN - legacy scripts (can cause confusion)
Step 4: Check AGENTS.md
bash
# Check if AGENTS.md exists
ls -la ~/.codex/AGENTS.md 2>/dev/null

# Check for OMX marker
grep -q "oh-my-codex Multi-Agent System" ~/.codex/AGENTS.md 2>/dev/null && echo "Has OMX config" || echo "Missing OMX config"

Diagnosis:

  • If missing: CRITICAL - AGENTS.md not configured
  • If missing OMX marker: WARN - outdated AGENTS.md
Step 5: Check for Stale Plugin Cache
bash
# List marketplace/version cache entries for this plugin
PLUGIN_CACHE_ROOT="${CODEX_HOME:-$HOME/.codex}/plugins/cache"
find "$PLUGIN_CACHE_ROOT" -path "*/oh-my-codex/*" -mindepth 3 -maxdepth 3 -type d 2>/dev/null \
  | while IFS= read -r VERSION_DIR; do
      MARKETPLACE_NAME=$(basename "$(dirname "$(dirname "$VERSION_DIR")")")
      PLUGIN_VERSION=$(basename "$VERSION_DIR")
      printf '%s\t%s\n' "$MARKETPLACE_NAME" "$PLUGIN_VERSION"
    done

Diagnosis:

  • If a single marketplace lists multiple versions: WARN - multiple cached versions for that marketplace/plugin pair (cleanup recommended)
Show full SKILL.md (267 more words)Show less
Step 6: Check for Legacy Curl-Installed Content

Check for legacy agents, commands, and historical legacy skill roots from older installs/migrations:

bash
# Check for legacy agents directory
ls -la ~/.codex/agents/ 2>/dev/null

# Check for legacy commands directory
ls -la ~/.codex/commands/ 2>/dev/null

# Check canonical current skills directory
ls -la ${CODEX_HOME:-~/.codex}/skills/ 2>/dev/null

# Check historical legacy skill directory
ls -la ~/.agents/skills/ 2>/dev/null

Diagnosis:

  • If ~/.codex/agents/ exists with oh-my-codex-related files: WARN - legacy generated agents or hand-installed role files. The Codex plugin can package reusable workflows plus plugin-scoped companion metadata for optional MCP/apps; legacy setup installs native agents, while plugin setup archives stale legacy native-agent files and keeps config/hooks current.
  • If ~/.codex/commands/ exists with oh-my-codex-related files: WARN - legacy command files from older installs. Current OMX uses skills/workflows plus setup-managed native surfaces.
  • If ${CODEX_HOME:-~/.codex}/skills/ exists with OMX skills: OK - canonical current user skill root
  • If ~/.agents/skills/ exists: WARN - historical legacy skill root that can overlap with ${CODEX_HOME:-~/.codex}/skills/ and cause duplicate Enable/Disable Skills entries

Look for files like:

  • architect.md, researcher.md, explore.md, executor.md, etc. in agents/
  • ultrawork.md, deepsearch.md, etc. in commands/
  • Any oh-my-codex-related .md files in skills/

Report Format

After running all checks, output a report:

## OMX Doctor Report

### Summary
[HEALTHY / ISSUES FOUND]

### Checks

| Check | Status | Details |
|-------|--------|---------|
| Plugin Version | OK/WARN/CRITICAL | ... |
| Hook Config (config.toml / legacy settings.json) | OK/CRITICAL | ... |
| Legacy Scripts (~/.codex/hooks/) | OK/WARN | ... |
| AGENTS.md | OK/WARN/CRITICAL | ... |
| Plugin Cache | OK/WARN | ... |
| Legacy Agents (~/.codex/agents/) | OK/WARN | ... |
| Legacy Commands (~/.codex/commands/) | OK/WARN | ... |
| Skills (${CODEX_HOME:-~/.codex}/skills) | OK/WARN | ... |
| Legacy Skill Root (~/.agents/skills) | OK/WARN | ... |

### Issues Found
1. [Issue description]
2. [Issue description]

### Recommended Fixes
[List fixes based on issues]

Auto-Fix (if user confirms)

If issues found, ask user: "Would you like me to fix these issues automatically?"

If yes, apply fixes:

Fix: Legacy Hooks in legacy settings.json

If ~/.codex/settings.json exists, remove the legacy "hooks" section (keep other settings intact).

Fix: Legacy Bash Scripts
bash
rm -f ~/.codex/hooks/keyword-detector.sh
rm -f ~/.codex/hooks/persistent-mode.sh
rm -f ~/.codex/hooks/session-start.sh
rm -f ~/.codex/hooks/stop-continuation.sh
Fix: Outdated Plugin
bash
# Global cache reset across all marketplaces for this plugin.
# If you only want one marketplace, set MARKETPLACE_NAME and remove just that subtree instead.
PLUGIN_CACHE_ROOT="${CODEX_HOME:-$HOME/.codex}/plugins/cache"
find "$PLUGIN_CACHE_ROOT" -path "*/oh-my-codex" -type d -prune -exec rm -rf {} +
echo "Plugin cache cleared across all marketplaces. Restart Codex CLI to fetch the latest marketplace entry."
Fix: Stale Cache (multiple versions)
bash
# Keep only the newest version inside the selected marketplace/plugin cache.
# Set MARKETPLACE_NAME to the exact marketplace printed in Step 1.
PLUGIN_CACHE_ROOT="${CODEX_HOME:-$HOME/.codex}/plugins/cache"
PLUGIN_CACHE_DIR="$PLUGIN_CACHE_ROOT/$MARKETPLACE_NAME/oh-my-codex"
KEEP_VERSION=$(for dir in "$PLUGIN_CACHE_DIR"/*; do [[ -d "$dir" ]] && basename "$dir"; done | sort -V | tail -1)
if [[ -n "$KEEP_VERSION" ]]; then
  find "$PLUGIN_CACHE_DIR" -mindepth 1 -maxdepth 1 -type d ! -name "$KEEP_VERSION" -exec rm -rf {} +
fi
Fix: Missing/Outdated AGENTS.md

Fetch latest from GitHub and write to ~/.codex/AGENTS.md:

WebFetch(url: "https://raw.githubusercontent.com/Yeachan-Heo/oh-my-codex/main/docs/AGENTS.md", prompt: "Return the complete raw markdown content exactly as-is")
Fix: Legacy Curl-Installed Content

Remove legacy agents/commands plus the historical ~/.agents/skills tree if it overlaps with the canonical ${CODEX_HOME:-~/.codex}/skills install:

bash
# Backup first (optional - ask user)
# mv ~/.codex/agents ~/.codex/agents.bak
# mv ~/.codex/commands ~/.codex/commands.bak
# mv ~/.agents/skills ~/.agents/skills.bak

# Or remove directly
rm -rf ~/.codex/agents
rm -rf ~/.codex/commands
rm -rf ~/.agents/skills

Note: Only remove if these contain oh-my-codex-related files. If user has custom agents/commands/skills, warn them and ask before removing.


Post-Fix

After applying fixes, inform user:

Fixes applied. Restart Codex CLI for changes to take effect.

© yangyuan-zhen, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .codex/skills/doctor of yangyuan-zhen/PolyWeather.

Open the folder on GitHubat commit 43e658b

Compare with similar skills

Doctor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Doctor compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Doctor this skillyangyuan-zhen/PolyWeather316—~2.4kAutomated safety check: PassAGPL-3.0
Muse Code Product Doctorasgeirtj/system_prompts_leaks69k—~3.5kAutomated safety check: PassCC0-1.0
Doctorsuperset-sh/superset15k—~434Automated safety check: PassCustom licence
Diagnose Gatewayopenclaw/openclaw392k—~670Automated safety check: PassMIT
Generating Python Installeraffaan-m/ECC277k1 repos~6.1kAutomated safety check: PassMIT
Diagnosegithub/awesome-copilot40k1 repos~1kAutomated safety check: PassMIT

Similar skills

  • Muse Code Product Doctor

    asgeirtj/system_prompts_leaks

    Diagnoses a Muse Code installation's own failures from binary and session evidence, instead of treating the report as an ordinary repository bug.

    69k GitHub stars~3.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Doctor

    superset-sh/superset

    Diagnose and fix Superset problems such as connection failures, offline hosts, terminals not attaching, auth or update issues.

    15k GitHub stars~434 tokensUpdated today
    Auto-check passed
  • Diagnose Gateway

    openclaw/openclaw

    Diagnose Gateway, config, secrets, channels, and port failures with read-only one-liners.

    392k GitHub stars~670 tokensUpdated today
    Auto-check passed
  • Commercial-grade Python installer expert for Windows: Nuitka extreme compilation, dist slimming, DLL footprint analysis, and Inno Setup packaging to ship the smallest, fastest installers.

    277k GitHub starsUsed in 1 repo~6.1k tokens
    Testing & QAAuto-check passed
  • Diagnose

    github/awesome-copilot

    Official

    Perform a systematic diagnostic scan of an AI workflow across 5 quality dimensions — prompt quality, context efficiency, tool health, architecture fitness, and safety — producing a scored report…

    40k GitHub starsUsed in 1 repo~1k tokens
    Agent WorkflowsAuto-check passed
  • OMC Doctor

    Yeachan-Heo/oh-my-claudecode

    Diagnoses and fixes oh-my-claudecode installation problems by checking plugin versions, legacy hooks, leftover scripts and the CLAUDE.md configuration.

    40k GitHub stars~3.1k tokensUpdated 3 days ago
    Agent WorkflowsAuto-check passed

More from yangyuan-zhen/PolyWeather

All 26 skills in this repo
  • AI Slop Cleaner

    yangyuan-zhen/PolyWeather

    [OMX] Run an anti-slop cleanup/refactor/deslop workflow. An agent skill from yangyuan-zhen/PolyWeather.

    316 GitHub stars~2.2k tokensUpdated 20 days ago
    Auto-check passed
  • Analyze

    yangyuan-zhen/PolyWeather

    [OMX] Run read-only deep repository analysis and return a ranked synthesis with explicit confidence, concrete file references, and clear evidence-vs-inference boundaries.

    316 GitHub stars~1.6k tokensUpdated 20 days ago
    Auto-check passed
  • Autoresearch

    yangyuan-zhen/PolyWeather

    [OMX] Stateful validator-gated research loop with native-hook persistence

    316 GitHub stars~786 tokensUpdated 20 days ago
    Auto-check passed
  • Best Practice Research

    yangyuan-zhen/PolyWeather

    [OMX] Bounded best-practice research wrapper using official/upstream evidence first

    316 GitHub stars~1.4k tokensUpdated 20 days ago
    Auto-check passed
  • Cancel

    yangyuan-zhen/PolyWeather

    [OMX] Cancel any active OMX mode (autopilot, ralph, ultrawork, ecomode, ultraqa, swarm, ultrapilot, pipeline, team)

    316 GitHub stars~3.7k tokensUpdated 20 days ago
    Auto-check passed
  • Configure Notifications

    yangyuan-zhen/PolyWeather

    [OMX] Configure OMX notifications - unified entry point for all platforms

    316 GitHub stars~2.7k tokensUpdated 20 days ago
    Auto-check passed

Questions about Doctor

What does Doctor do?

[OMX] Diagnose and fix oh-my-codex installation issues. An agent skill from yangyuan-zhen/PolyWeather. Doctor is an agent skill from yangyuan-zhen/PolyWeather.

How do I install Doctor in Claude Code?

Run `npx skills add yangyuan-zhen/PolyWeather --skill doctor -a claude-code`. Or copy the skill folder (.codex/skills/doctor in yangyuan-zhen/PolyWeather) into .claude/skills/doctor in your project. Claude Code loads it when a task matches its description.

How do I install Doctor in Codex?

Run `npx skills add yangyuan-zhen/PolyWeather --skill doctor -a codex`. Or copy the skill folder (.codex/skills/doctor in yangyuan-zhen/PolyWeather) into .agents/skills/doctor in your project. Codex loads it when a task matches its description.

Can I use Doctor in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add yangyuan-zhen/PolyWeather --skill doctor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/doctor, .gemini/skills/doctor, .github/skills/doctor and .opencode/skills/doctor in your project.

What does Doctor need to run?

Going by SKILL.md and its folder, Doctor needs the command-line tools its instructions call (bash and npm). Our summary lists: Node.js.

Does Doctor access the network?

SKILL.md names 1 domain. In commands or code: raw.githubusercontent.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Doctor safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Doctor use?

Doctor is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Doctor use?

About 2.4k tokens (SKILL.md is roughly 9.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Doctor?

Skills that share tags, products or a category with Doctor: Muse Code Product Doctor (asgeirtj/system_prompts_leaks, 69k stars), Doctor (superset-sh/superset, 15k stars), Diagnose Gateway (openclaw/openclaw, 392k stars) and Generating Python Installer (affaan-m/ECC, 277k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Doctor?

yangyuan-zhen (a GitHub user) maintains it in yangyuan-zhen/PolyWeather, which has 316 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on September 20, 2026.

Source: yangyuan-zhen/PolyWeather on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.