# simulation-validator

Три стадии проверки численных симуляций: предполётная проверка конфига, мониторинг лога и валидация результатов. Плюс разбор упавших запусков.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · ★ 83
- Автор: HeshamFS
- Лицензия: Apache-2.0 · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/HeshamFS/materials-simulation-skills/tree/HEAD/skills/simulation-workflow/simulation-validator/SKILL.md
- Обновлён: 2026-10-21
- HTML: https://affpapa.org/nevibecode/skills/simulation-validator

## Что делает

Скилл закрывает три момента: до запуска, во время и после. На старте `preflight_checker.py` смотрит конфиг — обязательные ключи, диапазоны параметров, доступ к каталогу вывода и свободное место. Статус `BLOCK` означает, что запускать нельзя; `WARN` — можно, если риски приняты и записаны.

Во время работы `runtime_monitor.py` читает лог и ловит рост невязки, NaN/Inf, переполнение и обвал адаптивного шага по времени. Пороги задаются флагами `--residual-growth` и `--dt-drop`. После прогона `result_validator.py` проверяет физические границы, сохранение массы и сходимость, а для моделей Аллена — Кана и Кана — Хилларда с флагом `--variational` требует монотонного невозрастания энергии. Если проверки провалились, `failure_diagnoser.py` выдаёт вероятные причины и что поправить.

Нужен Python 3.10+, внешних зависимостей нет — только стандартная библиотека. Важная оговорка: `preflight_checker.py` не считает численную устойчивость. Условия CFL и диффузионно-фурье лимит он не проверяет, для этого в репозитории есть отдельный `cfl_checker.py` в `skills/core-numerical/numerical-stability/scripts/`. Так что устойчивость придётся гейтить отдельно, иначе предполётный `PASS` создаст ложное спокойствие.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add HeshamFS/materials-simulation-skills --skill simulation-validator -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/simulation-validator/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/simulation-validator/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add HeshamFS/materials-simulation-skills --skill simulation-validator -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/simulation-validator/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add HeshamFS/materials-simulation-skills --skill simulation-validator -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/simulation-validator/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install HeshamFS/materials-simulation-skills simulation-validator
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/simulation-validator/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add HeshamFS/materials-simulation-skills --skill simulation-validator -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/HeshamFS/materials-simulation-skills --path skills/simulation-workflow/simulation-validator
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/simulation-validator/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add HeshamFS/materials-simulation-skills --skill simulation-validator -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/HeshamFS/materials-simulation-skills/tree/HEAD/skills/simulation-workflow/simulation-validator/SKILL.md

## Когда брать
- проверить конфиг перед запуском и не тратить ночь на заведомо битый прогон
- поймать NaN или Inf в логе, пока задача ещё идёт
- убедиться, что масса и энергия не уехали за время расчёта
- разобраться, почему симуляция упала на тысячном шаге
- отделить сошедшийся результат от мусора перед анализом

## Примеры запросов агенту
- Проверь `simulation.json` перед запуском: обязательные `dt,dx,kappa`, диапазоны `dt:1e-6:1e-2` и хотя бы 1 ГБ свободного места
- Посмотри `simulation.log` — не растёт ли невязка и не посыпался ли шаг по времени
- Валидируй `results.json`: границы от 0 до 1, допуск по массе 1e-3, для модели Аллена — Кана добавь `--variational`

## Похожие
- [anysearch](https://affpapa.org/nevibecode/skills/anysearch.md) — скилл · 38500 установок
- [academic-paper](https://affpapa.org/nevibecode/skills/academic-paper.md) — скилл · 10900 установок
- [nature-figure](https://affpapa.org/nevibecode/skills/nature-figure.md) — скилл · 18800 установок
- [academic-paper-reviewer](https://affpapa.org/nevibecode/skills/academic-paper-reviewer.md) — скилл · 9900 установок
- [nature-polishing](https://affpapa.org/nevibecode/skills/nature-polishing.md) — скилл · 17500 установок
- [nature-citation](https://affpapa.org/nevibecode/skills/nature-citation.md) — скилл · 15600 установок

Из того же набора: [heshamfs/materials-simulation-skills](https://affpapa.org/nevibecode/by/heshamfs/materials-simulation-skills.md) — 8 карточек

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
