# Doctor

环境检查与安装向导。检查数学建模工作流所需的全部依赖是否已安装，对缺失项提供安装命令，并在用户确认后执行安装。手动触发。

- Repository: https://github.com/jihe520/MathModelAgent (6271 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-10-26
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add jihe520/MathModelAgent --skill doctor -g -a claude-code -y`
Codex: `npx skills add jihe520/MathModelAgent --skill doctor -g -a codex -y`
Cursor: `npx skills add jihe520/MathModelAgent --skill doctor -g -a cursor -y`
Gemini CLI: `npx skills add jihe520/MathModelAgent --skill doctor -g -a gemini-cli -y`

## Description

环境检查与安装向导。检查数学建模工作流所需的全部依赖是否已安装，对缺失项提供安装命令，并在用户确认后执行安装。手动触发。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Doctor, 环境检查与安装向导

本 skill 检查完整数学建模工作流所需的所有工具是否已就绪，并帮助用户安装缺失项。**本 skill 只在用户显式触发时运行，不自动执行。**

## 检查项清单

### 核心工具

| 工具 | 用途 | 检测命令 |
| --- | --- | --- |
| `typst` | 论文编译（5writing、6verity，Typst 引擎） | `command -v typst` |
| `xelatex` | 论文编译（5writing、6verity，LaTeX 引擎，中文模板必需） | `command -v xelatex` |
| `python3` | 数值计算与图表（3coding-visual） | `command -v python3` |
| `drawio` / `draw.io` | DrawIO 流程图导出 PDF（4drawio） | `command -v drawio \|\| command -v draw.io` |
| `pdftoppm` | PDF 转 PNG 视觉检查（6verity） | `command -v pdftoppm` |
| `mutool` | PDF 转 PNG 备用（6verity） | `command -v mutool` |
| `magick` | PDF 转 PNG 备用（6verity） | `command -v magick` |

### Python 包

| 包 | 用途 |
| --- | --- |
| `numpy` | 数值计算 |
| `scipy` | 科学计算、优化求解 |
| `pandas` | 数据处理 |
| `matplotlib` | 图表生成 |
| `scikit-learn` | 机器学习建模 |
| `openpyxl` | 读写 Excel 数据附件 |

## 工作流程

### Step 1：检测当前平台

```bash
case "$(uname -s)" in
  Darwin) echo "PLATFORM=mac" ;;
  Linux)  echo "PLATFORM=linux" ;;
  MINGW*|MSYS*|CYGWIN*) echo "PLATFORM=windows" ;;
  *)      echo "PLATFORM=unknown" ;;
esac
```

Windows 下优先使用 winget，备用 scoop 或 choco。Linux 下优先使用 apt（Debian/Ubuntu），备用 dnf（Fedora/RHEL）或 pacman（Arch）。  
检测包管理器：

```bash
# Linux 发行版检测
if [ -f /etc/os-release ]; then
  . /etc/os-release
  echo "DISTRO=$ID"
fi
# Windows 包管理器检测（在 Git Bash / PowerShell 中）
command -v winget >/dev/null 2>&1 && echo "PKG=winget"
command -v scoop  >/dev/null 2>&1 && echo "PKG=scoop"
command -v choco  >/dev/null 2>&1 && echo "PKG=choco"
```

### Step 2：检查所有工具

```bash
check_cmd() {
  if command -v "$1" >/dev/null 2>&1; then
    echo "OK  $1 ($(command -v "$1"))"
  else
    echo "MISS $1"
  fi
}

check_cmd typst
check_cmd xelatex
check_cmd python3 || check_cmd python   # Windows 上可能是 python
command -v drawio >/dev/null 2>&1 || command -v draw.io >/dev/null 2>&1 \
  && echo "OK  drawio" || echo "MISS drawio"
check_cmd pdftoppm
check_cmd mutool
check_cmd magick

The rest: https://github.com/jihe520/MathModelAgent/blob/HEAD/skills/doctor/SKILL.md
