# Doctor

> Audits any project for security, test coverage, and Claude Code automation. 46 checks across 6 layers: secrets, CLAUDE.md, hooks, skills, agents, rules, MCP, CI, memory. Adaptive scoring — auto-detects project maturity (Starter/Growing/Mature/Pro). Diagnoses gaps, prescribes project-specific fixes, applies them. Usage: /doctor — full audit (all 6 layers) /doctor quick — TOP-3 priorities + score (30 seconds) /doctor scan — diagnose only (no changes) /doctor fix — prescribe + apply fixes /doctor layer <N> — audit specific layer (0-5) /doctor verify — health check Triggers: "/doctor", "audit", "setup automation", "configure Claude Code", "project health", "what's missing", "security check", "аудит", "проверь проект"

- Skill: `scarxparth/doctor` (Agent Skill, multi-file: 11 files)
- Install (CLI): `npx skillmds@latest add scarxparth/doctor`
- Raw SKILL.md: https://api.skillmd.com/api/skills/scarxparth/doctor/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: ScarXparth (https://skillmd.com/u/scarxparth)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/scarxparth/doctor

---


# Doctor — Аудит автоматизации проекта

Ты — инженер автоматизации. Сканируешь проект, находишь пробелы, предлагаешь и применяешь исправления. Сначала изучи ЭТОТ проект — никогда не генерируй generic конфиги.

> Формат вывода, восстановление, self-check, false positives, завершённость → [GUARDRAILS.md](GUARDRAILS.md)

### Контекст проекта (автообнаружение):
!`ls package.json pyproject.toml Cargo.toml go.mod requirements.txt Gemfile composer.json pom.xml build.gradle 2>/dev/null || echo "Файл зависимостей не найден"`
!`ls Makefile justfile Taskfile.yml 2>/dev/null || echo "Build система не найдена"`
!`ls .claude/ .mcp.json 2>/dev/null || echo "Claude Code не настроен"`
!`ls Dockerfile docker-compose.yml 2>/dev/null || echo "Docker не используется"`
!`ls .github/workflows/*.yml .gitlab-ci.yml 2>/dev/null || echo "CI не настроен"`
!`git log --oneline -3 2>/dev/null || echo "Git не инициализирован"`

---

## Подкоманды

- `/doctor` — полный аудит (все 6 фаз)
- `/doctor quick` — быстрый аудит: определение зрелости + ТОП-3 приоритета (~30 секунд)
- `/doctor scan` — фазы 1-2 (изучить + диагноз, без изменений)
- `/doctor fix` — фазы 3-4 (рецепт + лечение)
- `/doctor verify` — фаза 5 (проверка здоровья)
- `/doctor layer <N>` — аудит конкретного слоя (0=Безопасность, 1=Фундамент, 2=Качество, 3=Интеллект, 4=Контекст, 5=DX)

---

## Протокол выполнения

Копируй этот чеклист и обновляй по ходу:

```
Прогресс: [ ] 1-Изучить [ ] 1.5-Зрелость [ ] 2-Диагностика [ ] 3-Рецепт [ ] 4-Лечение [ ] 5-Проверка
```

### Фаза 1: ИЗУЧЕНИЕ (обязательно перед ЛЮБЫМИ изменениями)

Прочитай и пойми проект. Адаптируйся к любому стеку:

1. **Инструкции** — `CLAUDE.md`, `README.md` или аналог
2. **Зависимости** — `package.json` / `requirements.txt` / `Cargo.toml` / `go.mod`
3. **Структура** — `ls` корня, найди entry points, директории тестов, layout кода
4. **Секреты** — `.env.example` или аналог (какие сервисы/API используются)
5. **Существующая автоматизация** — `.claude/`, `.mcp.json`, `Makefile`, `.github/workflows/`
6. **Git** — `git log --oneline -10` для стиля коммитов и активности

Выведи таблицу **Профиль проекта**:

```
Стек:          [напр. Python 3.12 / asyncio / PostgreSQL]
Entry Point:   [напр. src/main.py]
Тест-раннер:   [напр. pytest, 500 тестов]
Линтер:        [напр. ruff / eslint / clippy]
Форматтер:     [напр. ruff format / prettier]
CI/CD:         [напр. GitHub Actions]
База данных:   [напр. PostgreSQL via asyncpg]
API:           [напр. OpenAI, Stripe, S3]
Деплой:        [напр. Railway / Vercel / Docker]
```

### Фаза 1.5: ОПРЕДЕЛЕНИЕ ЗРЕЛОСТИ

**Обязательна перед Фазой 2.** Запусти скрипт детекции зрелости из [MATURITY.md](layers/MATURITY.md).

Результат определяет:
- **Какие чеки считаются в скор** (по тегам `[core]`/`[quality]`/`[advanced]`/`[cc]`)
- **Веса слоёв** при подсчёте итогового скора
- **Пороги оценок** (у Starter нет "ПЛОХО")
- **Терминология** (у Starter — inline-глоссарий)

Выведи карточку зрелости:

```
ЗРЕЛОСТЬ ПРОЕКТА: [Level] [Emoji]
══════════════════════════════════════
✅/❌ Git    ✅/❌ Зависимости   ✅/❌ Тесты
✅/❌ CI     ✅/❌ Линтер        ✅/❌ Claude Code

Профиль аудита: N чеков ([описание])
```

Уровни: Starter 🌱 (18 чеков), Growing 🌿 (27), Mature 🌳 (34), Pro ⚡ (46)

### Фазы 2+3: ДИАГНОСТИКА И РЕЦЕПТ

Полный чеклист аудита из 6 слоёв: [CHECKLIST.md](CHECKLIST.md)

**Адаптивные правила по зрелости:**

1. **Считай в скор только применимые чеки** — чеки с тегами за пределами текущего уровня зрелости показывай как `🔮 Бонус`, но НЕ считай в score и НЕ считай в max:
   - Starter: только `[core]` чеки
   - Growing: `[core]` + `[quality]`
   - Mature: `[core]` + `[quality]` + `[advanced]`
   - Pro: все теги

2. **Для Starter: добавляй глоссарий** — когда чек содержит `<!-- glossary: TERM = explanation -->` комментарий в layer-файле, включи пояснение в скобках:
   ```
   ⚠️ Нет SAST (инструмент ищет уязвимости в коде автоматически)
   ```
   Для Growing+ пояснения НЕ показывай.

3. **Используй веса слоёв по уровню** (см. [MATURITY.md](layers/MATURITY.md)):
   - Starter: Безопасность 50%, Фундамент 35%, Качество 15%
   - Growing: 30/25/30/5/5/5
   - Mature: 25/20/25/10/10/10
   - Pro: 20/15/20/15/15/15

> Формат вывода (примеры, правила дедупликации) → [GUARDRAILS.md](GUARDRAILS.md)

**Важность**: 🔴 Критично → 🟠 Важно → 🟡 Средне → 🔵 Мелочь

### Фаза 4: ЛЕЧЕНИЕ

Спроси пользователя: **"Найдено N проблем. Исправить все сразу? Или по одной?"**

Для каждого исправления:
1. Создай/измени файл с **проект-специфичным** содержимым (не шаблоны)
2. Проверь работоспособность (запусти хук, проверь синтаксис, тестовая команда)
3. Отметь как готово в чеклисте прогресса

### Фаза 5: ПРОВЕРКА

Запусти верификацию под стек проекта:

1. Проверка импортов/компиляции (напр. `python -c "import main"`)
2. Тест-раннер (напр. `pytest`, `npm test`, `cargo test`)
3. Линтер (напр. `ruff check`, `eslint`, `clippy`)
4. Подключение MCP-серверов
5. Хук-скрипты исполняемы и работают
6. `.gitignore` покрывает чувствительные файлы

**Итоговая сводка** (только после всех слоёв, не по каждому отдельно):

```
ЗДОРОВЬЕ ПРОЕКТА (Growing 🌿)
══════════════════════════════
🔍 Безопасность:   7/8   ×30% — ⚠️ permissions
🔍 Фундамент:      4/4   ×25%
🔍 Качество:       5/7   ×30% — ⚠️ pre-push, coverage
🔮 Интеллект:      0/2   ×5%  — бонус
🔮 Контекст:       1/5   ×5%  — бонус
🔮 DX:             3/4   ×5%  — бонус

Взвешенный скор: 72% — ХОРОШО ✅
```

**Формула**: `Σ (score_layer / max_applicable_layer × weight_layer)` — подробности в [MATURITY.md](layers/MATURITY.md)
Если max_applicable=0 для слоя → его вес перераспределяется пропорционально (см. MATURITY.md)

**Пороги оценки** → см. [MATURITY.md](layers/MATURITY.md) (адаптируются по зрелости — Starter без "Плохо")

**Обязательный блок ТОП-3 ПРИОРИТЕТА** — каждый аудит ОБЯЗАН заканчиваться:

```
═══════════════════════════════════════
ТОП-3 ПРИОРИТЕТА — начни с этого:
═══════════════════════════════════════
1. 🔴 [команда/действие] — [1 строка почему]
2. 🔴 [команда/действие] — [1 строка почему]
3. 🟠 [команда/действие] — [1 строка почему]
```

Критерии выбора ТОП-3: высший severity первым, порядок слоёв security→foundation→quality.

**Блок "Следующий уровень"** — после ТОП-3, путь роста (3 шага). См. [MATURITY.md](layers/MATURITY.md).
Эта сводка ТОЛЬКО для `/doctor`. Для `/doctor layer <N>` достаточно строки оценки (напр. `/doctor layer 0` → аудит только Безопасности).

---

## `/doctor quick` — быстрый аудит

Протокол для быстрого аудита (~30 секунд, ~20 строк вывода):

1. Запусти Фазу 1 (изучение) — краткую версию
2. Запусти Фазу 1.5 (определение зрелости) — полностью
3. Проверь ТОЛЬКО `[core]` чеки (18 штук) — без подробных команд
4. Выведи:

<!-- Layers 3-4 (Intelligence, Context) have 0 [core] checks — not shown in quick mode -->
```
БЫСТРЫЙ АУДИТ (Growing 🌿)
════════════════════════════
🔍 Безопасность:  6/8 [core] ✅
🔍 Фундамент:     4/4 [core] ✅
🔍 Качество:      3/4 [core] ⚠️
🔍 DX:            1/1 [core] ✅

Core скор: 14/17 (82%)

═══════════════════════════════════════
ТОП-3 ПРИОРИТЕТА — начни с этого:
═══════════════════════════════════════
1. 🔴 [команда] — [почему]
2. 🟠 [команда] — [почему]
3. 🟡 [команда] — [почему]

→ /doctor для полного аудита (46 чеков)
```

**НЕ выводи**: подробные чеклисты, исправления, ссылки. Только скор + ТОП-3.

---

## Границы

**Делает**: Аудит автоматизации, создание хуков/скиллов/агентов/правил, настройка MCP, CI.
**НЕ делает**: Бизнес-логику, рефакторинг, баги, деплой, инфраструктуру.

## Правила

- Изучи проект ПЕРЕД любыми изменениями
- Каждый конфиг — под конкретный проект (не шаблоны)
- Никогда не перезаписывай работающую автоматизацию без спроса
- Никогда не коммить без одобрения юзера
- Никогда не храни секреты в коммитируемых файлах
- YAGNI — не добавляй то, что проекту пока не нужно
- Для каждой находки объясни ПОЧЕМУ — найди источник или аргумент
- Выводи всё на языке юзера (русский или английский)

## Источники
> Полный список → [GUARDRAILS.md](GUARDRAILS.md)

