Skip to content
Development
Skill

/doctor

Самодиагностика enforcement — живы ли сторожа (хуки) в этом проекте. Проверяет профиль/heartbeat/краши/plugin. Триггеры — "/doctor", "проверь харнес", "хуки работают?", "почему сторожа молчат", "диагностика плагина".

From plugin
vibe-dev
529 skills24 agents7 hooks
Install
$ npx -y skills add andrewcigan/vibe-dev-plugin --skill doctor --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/doctor

Context preview

The summary Claude sees to decide when to auto-load this skill.

Самодиагностика enforcement — живы ли сторожа (хуки) в этом проекте. Проверяет профиль/heartbeat/краши/plugin. Триггеры — "/doctor", "проверь харнес", "хуки работают?", "почему сторожа молчат", "диагностика плагина".

SKILL.md

doctor.SKILL.md
name: doctor
description: Самодиагностика enforcement — живы ли сторожа (хуки) в этом проекте. Проверяет профиль/heartbeat/краши/plugin. Триггеры — "/doctor", "проверь харнес", "хуки работают?", "почему сторожа молчат", "диагностика плагина".
when_to_use: Когда есть подозрение, что enforcement не активен (профиль pending, нет подтверждения активации после bootstrap, pre-commit заблокировал коммит, сторожа падали) или просто для проверки здоровья harness перед важной работой.

/doctor — жив ли enforcement

Профиль строгости в файле — это заявление. Этот скилл проверяет ФАКТЫ: работают ли хуки физически. Запускай диагностику сам (правило 8: не отправляй пользователя в терминал).

Шаг 1: Снять показания (одним bash-блоком)

echo "=== Vibe Dev /doctor ==="
echo "— Папка: $(pwd)"
echo "— Vibe-проект: $([ -d .harness ] || [ -f feature_list.json ] && echo да || echo НЕТ)"
echo "— Профиль: $(cat .harness/profile 2>/dev/null || echo '(нет файла)')"
echo "— Движок проекта (пин): $(cat .harness/engine-version 2>/dev/null || echo '(нет — legacy)')"
PV=$(jq -r '.version // "?"' "${CLAUDE_PLUGIN_ROOT}/.claude-plugin/plugin.json" 2>/dev/null)
echo "— Установлен плагин: ${PV:-?} ($(git -C "${CLAUDE_PLUGIN_ROOT}" log -1 --format='%h %cd' --date=short 2>/dev/null || echo 'не git-копия'))"
PIN=$(tr -d '[:space:]' < .harness/engine-version 2>/dev/null); PINMAJ="${PIN%%.*}"
SOFT=0; [ -z "$PIN" ] && SOFT=1
case "$PINMAJ" in ''|*[!0-9]*) : ;; *) [ "$PINMAJ" -lt 6 ] 2>/dev/null && SOFT=1 ;; esac
[ "$SOFT" = 1 ] && echo "— ⚠️ Проект в МЯГКОМ режиме (движок не закреплён/устарел, major<6) → /upgrade-project для полной строгости. Пин 6.x/7.x уже строгий — апгрейд не нужен (новые механизмы v7 работают и так)."
if [ -f .harness/hooks-heartbeat ]; then
  HB_TS=$(awk '{print $1; exit}' .harness/hooks-heartbeat); NOW=$(date +%s)
  echo "— Heartbeat: $((NOW - HB_TS))с назад ($(cat .harness/hooks-heartbeat))"
else
  echo "— Heartbeat: НЕТ (ни один хук ни разу не сработал в этом проекте)"
fi
echo "— Краши сторожей: $(ls .harness/hook-crashes/ 2>/dev/null | tr '\n' ' ' || echo нет)"
[ -f .harness/last-checkpoint.md ] && echo "— Слепок сжатия (M2): есть ($(awk -F'trigger=' '/trigger=/{print $2; exit}' .harness/last-checkpoint.md 2>/dev/null))"
# Аудит журнала (read-only, G5 + дешёвый дедуп): только отчёт, без правок.
bash "${CLAUDE_PLUGIN_ROOT}/scripts/journal-audit.sh" "$(pwd)" 2>/dev/null
[ -f .harness/hooks-disabled ] && echo "— ⚠️ hooks-disabled: backstop ОСОЗНАННО выключен"
[ -f .git/hooks/pre-commit ] && grep -q "Vibe Dev" .git/hooks/pre-commit 2>/dev/null \
  && echo "— pre-commit backstop: установлен" || echo "— pre-commit backstop: НЕ установлен"
echo "— Claude Code: $(claude --version 2>/dev/null || echo '(CLI не найден)')"
claude plugin list 2>/dev/null | grep -i vibe || echo "— Плагин: не виден в claude plugin list (или команда недоступна)"

Шаг 2: Диагноз по таблице

| Симптом | Диагноз | Лечение | |---|---|---| | Профиль `pending-*` + heartbeat НЕТ | Хуки не работали ни разу: плагин не установлен/не включён, или сессия не в этой папке | `claude plugin list` → установить/включить; перезапустить сессию В папке проекта; первое сообщение активирует | | Профиль `strict/standard` + heartbeat старше 30 мин | В ТЕКУЩЕЙ сессии хуки не работают (плагин выключили? `--safe-mode`? сессия в другой папке?) | Перезапустить сессию в папке проекта; проверить, что плагин enabled | | Краши сторожей в `.harness/hook-crashes/` | Сторож падал — его проверки в те моменты НЕ выполнялись | Открыть лог, починить причину (или сообщить о баге плагина), удалить лог | | pre-commit backstop НЕ установлен | Независимого канала нет — «театр строгости» не ловится на коммитах | `bash "${CLAUDE_PLUGIN_ROOT}/scripts/install-precommit.sh" "$(pwd)"` | | `hooks-disabled` существует | Backstop выключен осознанно | Если работа в Claude Code возобновилась — удалить файл | | Проект в мягком режиме (нет пина движка / major<6) | Структурные проверки только предупреждают, не блокируют. Пин 6.x/7.x уже строгий — не нудим | `/upgrade-project` (dry-run → пин на текущий мажор + strict). Новые механизмы v7 работают независимо от пина | | Всё зелёное | Enforcement жив | Ничего не делать |

Шаг 3: Доложить пользователю

Одной короткой сводкой без жаргона: «сторожа работают» / «сторожа НЕ работают, причина — X, чиню так-то». Если чинится командой — выполни сам и перепроверь Шаг 1, потом докладывай.

Границы честности

  • Heartbeat пишут SessionStart и UserPromptSubmit: свежий heartbeat = хуки этих событий живы.

Это сильное свидетельство и для остальных (один hooks.json), но не прямой тест каждого.

  • Диагностика читает артефакты; она не может «включить» плагин сама — включение делает

пользователь/рестарт сессии. Команды для этого давай готовыми, выполняй что можешь сам.

Read more
Ships withvibe-dev

🌐 English: this file · Русский: README.ru.md A harness-first plugin that turns a business idea into a shipped product — for founders who build with Codex and Claude Code.

Get the whole plugin

Other skills on vibe-dev.

architecture
Skill

architecture

V0 архитектура с TOC bottleneck-анализом. Запускает architect (Fable 5.1). ≤10 компонентов, Mermaid диаграмма, invariants как constraints, top-3 риска. FAST +…

checkpoint
Skill

checkpoint

Управляемый чекпоинт состояния в файлы посреди работы — вместо авто-сжатия («рулетки»). Перезаписывает Current State, синхронизирует статусы, ротирует…

critique
Skill

critique

FULL этап 5 — автономный critique long-list идей. Запускает idea-critic (Sonnet), который отсеивает hard-filters и оставляет Top-3-5 по score. Триггеры —…