# Source Command New Case

> Новое дело — маршрутизация по _clients.md, перенос инбокса группой, структура папок, три реестра

- Skill: `zarubinvibe/source-command-new-case` (Agent Skill)
- Install (CLI): `npx skillmds@latest add zarubinvibe/source-command-new-case`
- Raw SKILL.md: https://api.skillmd.com/api/skills/zarubinvibe/source-command-new-case/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: zarubinvibe (https://skillmd.com/u/zarubinvibe)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/zarubinvibe/source-command-new-case

---


# source-command-new-case

Use this skill when the user asks to run the migrated source command `new-case`.

## Command Template

# /new-case

`$ARGUMENTS` = `{клиент} {дело-год}`, латиница-дефисы (`razvod-2026`); кириллицу транслитерировать, показать. Клиент не определяется → СПРОСИТЬ, имя не выдумывать. Механика — grep/скрипт, не Read; один Read на файл; реквизиты — из `<sha>.requisites.json`. Даты `ДД.ММ.ГГГГ`, без «е с точками».

## 0. Конфликт интересов — ПЕРВЫМ ДЕЙСТВИЕМ, до всякой папки

`python3 scripts/registry_check.py --conflict "{ФИО или наименование}"`

| Вердикт | Действие |
|---|---|
| `КОНФЛИКТ` — мы вели ПРОТИВ этого лица | **СТОП, к владельцу.** Дело не заводить до его решения |
| `СВЯЗЬ` — лицо связано с нашим доверителем | **СТОП, к владельцу.** Проверить стороны названных дел |
| `КЛИЕНТ` | его каноническая папка, дальше шаг 0.1 |
| `СОВПАДЕНИЙ НЕТ` | новый доверитель, дальше шаг 0.1 |

Строка `ДАННЫХ НЕТ: у N дел из M поле оппонента не заполнено` печатается всегда и означает, что проверка покрыла не всю практику. Это НЕ «конфликта нет»: незаполненное поле — незнание, а не отсутствие. Растет покрытие только заполнением поля «Оппонент» в `_case.md` заводимых дел — поэтому шаг 3 требует его заполнить.

## 0.1. Маршрутизация — `cases/_clients.md` читать ПЕРВЫМ (файла нет → СТОП)

| В реестре | Действие |
|---|---|
| Найден (ФИО/псевдоним/ИНН) | Его каноническая папка, новую НЕ создавать |
| Компания, владелец известен | Папка ВЛАДЕЛЬЦА: компания = сущность, клиент = владелец |
| Владелец неизвестен / два кандидата | СПРОСИТЬ |
| Не найден | Новая папка + строка в `_clients.md` (шаг 4) |

Клиент существует → один Read его `_client.md` (данные в `_case.md`).

## 1. Структура

Дом готовых файлов брать из `python3 scripts/case_paths.py --document-contract cases/{клиент}/{дело}`; литерал ниже только создает всю раскладку нового дела.

`mkdir -p cases/{клиент}/{дело}/{00_intake,.agent/context/_working,.agent/context/_practice,.agent/context/_council,02_hearings,.agent/drafts,.agent/archive,GOTOVO}`

Папка дела уже существует → СТОП, спросить: дубль или продолжение. `knowledge-map.md` / `practice.md` / `positions.md` НЕ создавать — только агенты конвейера после консенсуса.

## 2. Инбокс `$HOME/Desktop/inbox/` — только группа нового дела

Инбокс мультидельный (прецедент ~100 файлов разных дел). `unsorted/` и `_processed/` не трогать; пусто → пропустить.

1. Окно: `stat -f '%m %N' $HOME/Desktop/inbox/*` → группа = файлы в 3600 с от свежайшего mtime.
2. Тематическая сверка КАЖДОГО файла ДО mv: `scripts/markdown_extract.py FILE --json-meta` → `<sha>.requisites.json` (ФИО/ИНН/№ дела) против дела; `.md` — напрямую.
3. В окне + тема совпадает → mv в `00_intake/`. Тема чужая/неясная, вне окна, сбой экстракции, ЛЮБОЕ сомнение → НЕ переносить, в вопрос пользователю списком. Директория → `diff -rq` вложенных дублей; различаются → спросить.

## 3. `_case.md`

По `cases/_templates/_case.md`; данные из `_client.md`; дата открытия — сегодня; неизвестное — `—`.

## 4. Три реестра — все три

`cases/_index.md` (клиент, предмет, папка, ИНН, № дела, суд, Активно) · `_client.md` → «Активные Дела» (новый клиент → из `_client_template.md`) · `cases/_clients.md` (новый клиент).

## Самопроверка по диску

`ls` папок дела · grep строк во всех трех реестрах · инбокс: неперемещенное на месте · итог: `✓ Дело создано · перенесено N (список) · оставлено M · далее case-mapper`.

