Installs into .claude/skills of the current project.
Sponsors
SSkills DirectorySkills Directory
Know which skills are safe — weekly.
SSkills DirectorySkills Directory
Is that skill safe to install?
Are you the author of Decomposition 2026 11 05?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/siririn77-decomposition-2026-11-05)
Сначала посчитайте, сколько файлов вызывают модуль: `grep -rn "import.*<модуль>" src | wc -l`. Число вызывающих — главный множитель, не 400 строк.
## Граф (4 узла)
1. **Форма модуля: чистые функции или граница ввода-вывода**
- what: есть ли внутри сеть, диск, БД, время, случайность.
- why: чистая логика переводится механически; граница требует решений о библиотеках Python.
- anchor: `grep -nE "fetch|axios|fs\.|Date|Math\.random|process\." <файл>`.
- when: до оценки.
2. **Число вызывающих**
- what: сколько мест зависят от поведения.
- why: тестов нет — поведение зафиксировано только в вызывающих; каждый вызывающий — источник примеров входа/выхода.
- anchor: команда выше.
- when: до оценки.
3. **TS-специфика, у которой нет прямого аналога в Python**
- what: `enum`, декораторы, generics с ограничениями, conditional/mapped types, DI-контейнер, перегрузки.
- why: это не перевод, а проектирование заново; типы в Python надо переизобрести.
- anchor: `grep -nE "enum |@[A-Za-z]+\(|<T extends|infer |implements " <файл>`.
- when: до оценки.
4. **Способ проверки без тестов**
- what: дифференциальный прогон: старый TS и новый Python на одних и тех же реальных входах, сравнение выходов.
- why: единственный способ поймать расхождение; без него «переписано» = «компилируется».
- anchor: набор сохранённых входов (лог, фикстуры, дампы).
- when: параллельно с переводом.
## Оценка, по возрастанию риска
| Сценарий | Время |
|---|---|
| Механический перевод, чистые функции, без TS-хитростей, проверка «глазами» | **4–8 часов** |
| То же + чтение модуля и вызывающих, карта поведения (замена тестов) | **+4–8 часов** |
| То же + дифференциальный прогон на реальных данных | **+4–16 часов** |
| Есть TS-специфика из узла 3 | **+1–2 рабочих дня** на решения, отдельно от перевода |
| Есть I/O-граница без сохранённых входов (нечем проверить) | **+1–3 дня** на сбор входов |
**Итог: 1 рабочий день** — версия, которая работает на счастливом пути, с непроверенными краями. **3–5 рабочих дней** — версия, про которую можно сказать «ведёт себя как старая».
Дорогая часть — не 400 строк. Дорогая часть — восстановить поведение, которое раньше держалось только на коде и вызывающих.
Один вопрос: модуль — чистые функции или граница ввода-вывода, и есть ли в нём TS-специфика из узла 3? Без ответа оценка остаётся вилкой 1–5 дней.
Следующее действие: выполните три `grep` из узлов 1 и 3 и пришлите число вызывающих — вилка сузится до одной строки таблицы.