- name
- xgaida-x-nixi-pipeline
- description
- Разбор собственного рабочего пайплайна Никси: что мешает ЕЙ на постоянной основе — информация, которую она раз за разом не находит или находит поздно, готчи, о которые спотыкается повторно, правила, существующие только на словах. Ищет корень по архиву сессий и по механической сверке правил с диском, предлагает варианты решения и отдаёт правку владельцу участка. Зови по команде /pipeline или на «разберём, что тебе мешает работать». НЕ применять к: аудиту кода проекта (/audit и агент auditor), разовой готче — её место в памяти или в журнале без скилла, чистке памяти как таковой (consolidate-memory — он лечит, этот ставит диагноз).
# Pipeline — почему я спотыкаюсь второй раз о то же самое
Скилл смотрит **на инструмент, а не на игру**. Предмет — работа агента: память, правила, скиллы,
скрипты, тулинг, доки, которыми агент пользуется каждую сессию. Дефект здесь стоит дорого, потому
что платится он не один раз, а каждой сессией, и незаметно: время уходит в поиск, а выглядит как
обычная работа.
**Заказ Макса дословно** (02.08.2026, сессия `1b17f2b1`): «то, что мешает не мне, а именно ТЕБЕ
на постояне, то, инфу чего ты постоянно не находила и она вашная, всякое такое — да». И про форму
решения: «Ищем самые удобный вариант "на века"», «самый правильный, простой (не в плане скорости,
а в плане самим не запустаться и не переусложнить)».
**Не предмет этого скилла:** накладки между параллельными сессиями. Проверено с Максом 02.08.2026 —
это его личный режим работы («я лаганул с просонья»), а не болезнь пайплайна. Не тащить сюда.
## Роль: диагност, а не лекарь (HARD)
Скилл **ставит диагноз и предлагает варианты**. Саму правку делает владелец участка:
`consolidate-memory` — память, `xgaida-x-nixi-tech-scribe` — тех-вика, `xgaida-x-nixi-gdd-scribe` —
ГДД, контурные скиллы — код. Так же, как аудиторам запрещено чинить по ходу: правка в момент
диагностики смешивает две работы и лишает Макса выбора, что делать с находкой.
**Устройство хранения скилл менять вправе, но только через добро Макса** (решено 02.08.2026).
Перекладка — новый владелец факта, индекс, перенос из памяти в код или в `CLAUDE.md` — трогает
HARD-правила о том, где живёт правда. Предлагать обязан, решать — нет.
## Два входа, и второй важнее, чем кажется
### Вход 1. Архив сессий — где я буксовала
Читается через агента `session-scout` (он умеет транскрипты; сам скилл в них не лезет). Ищем
**не жалобы, а след поиска** — жалуюсь я редко, а буксую молча. Сигнатуры, все механические:
| След в транскрипте | Что он значит |
|---|---|
| 3+ `Grep`/`Glob` подряд без `Read` между ними | искала и не нашла с первого захода |
| поиск, а следом вопрос Максу «где / как называется» | не нашла вообще, заплатил он |
| одна и та же строка поиска в разных сессиях | факт не осел никуда, ищется заново каждый раз |
| один и тот же файл читается в N сессиях ради одной строки | кандидат в память или в `CLAUDE.md` |
| сделала → откатила → сделала иначе | правило узналось после нарушения, а не до |
| «оказывается», «а, это уже есть», «не знала, что» | позднее обнаружение готовой вещи |
Порог: **повтор в двух и более независимых сессиях**. Один раз — это не пайплайн, это вторник.
### Вход 2. Сверка правила с диском — где правило только на словах
Этот вход ловит класс, который архив **не видит в принципе**: правило записано, агент его знает, а
на диске всё равно не так. Прецедент, ради которого вход и заведён: правило «PS-скрипты пишем с BOM»
лежало в памяти с 01.08.2026, а 02.08.2026 замер показал девять файлов из одиннадцати без BOM —
включая `compile-check.ps1`, которым по HARD-правилу проверяется каждая правка `.cs`. В архиве
следов не было: ломалось у Макса, а агент гонял через pwsh 7 и не видел.
Что сверяется, всё дёшево и механически:
1. **Каждое HARD-правило — есть ли у него механическая проверка?** Нет проверки — правило держится
на внимании, то есть уже наполовину не работает. Кандидат на гейт.
2. **Ссылки памяти и скиллов на реальность.** Файл, скрипт, флаг, меню, названные в записи, —
существуют ли ещё. Память отражает момент написания и тихо устаревает.
3. **Команда из доков реально запускается?** Взять команду, которую `CLAUDE.md` или скилл предлагает
как рабочую, и выполнить её. Ровно так 02.08.2026 нашлось, что документированный узкий прогон
тестов без `-Mode EditMode` всегда красный, хотя тест под ним проходит.
4. **Правило против правила.** Два дома для одного факта, взаимно противоречащие формулировки в
памяти и в `CLAUDE.md`.
## Порядок решений: снизу вверх по цене памяти
Найдя корень, идти по лестнице **сверху вниз** и брать первое возможное. Это и есть «на века»:
| Ступень | Форма | Почему выше предыдущей |
|---|---|---|
| 1 | **убрать необходимость помнить** | нет факта — нечему устаревать и нечего забывать |
| 2 | **гейт: тест, компилятор, CI** | падает сам; не зависит от того, читал ли кто правило |
| 3 | **запись в `CLAUDE.md` или в память** | работает, пока агент прочитал и вспомнил вовремя |
| 4 | **явный отказ чинить** | вердикт «живём так» с причиной — тоже результат |
Ступень 1 недооценена и почти всегда проверяется последней, хотя должна первой. Пример формы:
переименовать так, чтобы неверный вызов не компилировался; удалить опцию, о которой надо помнить;
свести две команды в одну. **Если факт надо помнить — он уже проигрывает.**
Ступень 4 обязательна к использованию, а не для вида. `check-journal-quotes.ps1` не работает в 5.1
осознанно — у него `#Requires -Version 7.0`, Макс его руками не гоняет, падает он внятно. Записать
такое как решённое дешевле, чем возвращаться к нему каждый проход.
## Порядок работы
**1. Возьми участок.** Весь пайплайн разом не разбирается — заход получится длинный и мелкий.
Участок задаёт Макс аргументом либо выбирается по свежему споткновению.
**2. Собери сигналы обоих входов.** `session-scout` по архиву — и параллельно механическая сверка
своими руками (`Grep`, запуск команд, чтение памяти против диска). Оба входа независимы, и
совпадение по одному корню из двух входов — сильнейший сигнал в этом скилле.
**3. Группируй по корню, а не по симптому.** Пять разных «скрипт не сработал» с одним корнем —
одна находка, а не пять. Корень формулируется как утверждение о причине, не как список случаев.
**4. На каждый корень — варианты со ступенями.** Обязательно: рекомендация одна, ступень названа,
цена сказана. Если решение ниже второй ступени — объясни, почему верхние не подошли: обычно они не
подошли лениво, а не по существу.
**5. Отдай правку владельцу.** Диагноз — свой, лечение — чужое. Перекладку хранения — на добро Макса.
**6. Закрой найденное записью** в `docs/wiki/tech/00-meta/journal/` по шаблону из `CLAUDE.md`, если
решение принято. Отказы чинить — туда же: иначе та же мысль всплывёт через месяц как новая.
## Чего не делать
- **Не превращать в отчёт о состоянии.** Скилл отвечает «что мешает и что с этим сделать», а не
«вот срез нашего тулинга». Находка без предложенной ступени — не находка.
- **Не чинить по ходу.** Даже мелочь: правка в момент диагностики съедает выбор Макса и путает
диагноз с лечением.
- **Не считать частоту важностью.** Затык, случившийся дважды, но стоивший часа, весит больше
десяти секундных. Мерить временем и последствием, а не счётчиком.
- **Не заводить гейт там, где хватает удаления.** Тест на правило, которое можно было упразднить, —
это законсервированная сложность, а не защита.
- **Не звать на разовую готчу.** Записать её в память дешевле, чем открывать заход.
在 GitHub 查看