Раздел 05 из 08
Три готовых skill под твои задачи
Три рабочие заготовки под твои боли: PayEm → ERP, проверка зарплаты и универсальный каркас «импорт → проверка → экспорт». Это стартовые шаблоны — каркас правильный, но твои реальные правила, форматы и пороги мы вставляем на hands-on и обкатываем на твоих файлах.
Каждый skill — папка внутри проекта: .claude/skills/имя-skill/SKILL.md. Кладёшь туда SKILL.md с текстом ниже — Claude Code сам подхватывает его под подходящую задачу. Никаких кнопок: пишешь «разнеси выгрузку PayEm», agent видит skill и идёт по твоей инструкции, а не импровизирует.
📦 Работа только на копии, оригинал не трогаем. ⚠️ Спорное не угадываем — показываем тебе. ✅ Финальный файл и проводки — только после твоего явного «да».
Анатомия SKILL.md (одинаковая у всех трёх)
.claude/skills/
└── payem-to-erp/
├── SKILL.md ← инструкция + guardrails (то, что ниже)
├── rules.csv ← ТВОЯ таблица правил keyword→категория→FR
└── logs/ ← сюда агент пишет лог решений (история)
Блок между --- — frontmatter: name и description. description — не текст для людей, а условие срабатывания: по нему agent решает, его это задача или нет. Поэтому формулируй конкретно.
1 · payem-to-erp
PayEm → SAP по таблице правил
2 · payroll-anomalies
Зарплата: поиск аномалий
3 · import-export-verify
Универсальный каркас
📦 Skill 1 — payem-to-erp
Что делает
Берёт экспорт PayEm (CSV/Excel по картам), по твоей таблице keyword → категория → FR присваивает каждой строке категорию и FR, проверяет условия, помечает неуверенные строки и спрашивает тебя. На выходе — файл импорта в формате SAP Business One плюс лог решений.
Как пользоваться
- Положи выгрузку PayEm в проект (например
in/payem-june.xlsx). - Заполни таблицу правил в
.claude/skills/payem-to-erp/rules.csv. - Напиши: «разнеси payem-june.xlsx по правилам».
- Agent найдёт skill, прогонит строки, остановится на спорных и спросит. Ты отвечаешь — он дописывает решение в лог.
Полный SKILL.md
---
name: payem-to-erp
description: Разнести экспорт транзакций PayEm в формат импорта SAP
Business One. Применять, когда речь о выгрузке PayEm по кредитным
картам, присвоении категории и FR, или подготовке файла импорта в ERP.
---
# PayEm → SAP Business One
Ты — внимательный помощник бухгалтера. Твоя задача: превратить экспорт
PayEm в файл импорта для SAP Business One, присвоив каждой транзакции
категорию и корректный FR по таблице правил. Ты НЕ финансовый
руководитель — спорное ты показываешь Рене, а не решаешь сам.
## Входные данные
- Файл экспорта PayEm (CSV или Excel) в папке `in/`.
- Таблица правил: `.claude/skills/payem-to-erp/rules.csv`
с колонками: keyword, category, FR, condition (опционально).
## Шаги
1. Сделай рабочую КОПИЮ входного файла. Оригинал не изменяй.
2. Прочитай таблицу правил. Если её нет или она пустая — остановись
и попроси Рену её заполнить. Не выдумывай категории.
3. Для каждой строки транзакции:
a. Найди keyword из правил в описании/мерчанте (без учёта регистра).
b. Если совпадение одно и однозначное — присвой category и FR.
c. Проверь condition, если он задан (например сумма > 0,
валюта, дата в периоде). Нарушение условия = строка спорная.
4. Спорные строки (нет совпадения, несколько совпадений, нарушено
условие, сумма выглядит нетипично) НЕ угадывай.
Собери их в список и покажи Рене с вопросом: какой FR/категория?
Дождись ответа, затем примени и запиши решение в правила-лог.
5. Сформируй файл импорта SAP в `out/` в нужном формате
(структуру колонок уточни у Рены на первом запуске и сохрани
как пример в `assets/sap-format-example.csv`).
6. Запиши лог решений в `logs/run-YYYY-MM-DD.md`: сколько строк,
сколько авто, сколько спрашивал, какие правила сработали.
## Guardrails (не нарушать)
- Работай только на копии. Оригинал PayEm не трогай.
- Спорное не угадывай — показывай Рене и жди ответа.
- Итоговый файл импорта считается готовым ТОЛЬКО после явного
подтверждения Рены ("да, выгружай" / "ок"). До этого — черновик.
- Никогда не пиши напрямую в SAP. Ты готовишь файл, импорт делает Рена.
## Gotchas (дополняй по мере находок)
- PayEm иногда отдаёт суммы с запятой как разделителем — нормализуй.
- Один мерчант может маппиться на разные FR в зависимости от условия —
читай condition внимательно.
- Возвраты (отрицательные суммы) — это отдельная категория, не путай.
rules.csv — твой реестр правил «мерчант → счёт». Чем точнее заполнишь на hands-on, тем меньше agent переспрашивает. Каждый ответ на спорную строку дописываешь в правила — в следующий раз он уже знает.
⚙️ Skill 2 — payroll-anomalies
Что делает
Берёт выгрузки зарплаты из Michpal/Oketz за текущий и прошлые месяцы, сравнивает по сотрудникам и статьям, флагует аномалии: резкие отклонения сумм, новые и исчезнувшие сотрудники, нетипичные ניכויים, нарушения сроков проводок. На выходе — отчёт «что проверить» с приоритетами. В зарплате agent ничего не меняет — только сигналит.
Как пользоваться
- Положи выгрузки в
in/payroll/: текущий месяц + 2–3 прошлых для базы сравнения. - Напиши: «проверь зарплату за июнь на аномалии».
- Получи отчёт с приоритетами 🔴 / 🟡 / 🟢 — что смотреть в первую очередь.
- Решения за тобой. Agent показал, где пахнет ошибкой.
Полный SKILL.md
---
name: payroll-anomalies
description: Проверка выгрузок зарплаты (Michpal/Oketz) на аномалии —
отклонения по сотрудникам и статьям, новые/исчезнувшие сотрудники,
нетипичные удержания, нарушения сроков. Применять для контроля
зарплаты перед проводками. Только сигнал, изменений не вносит.
---
# Проверка зарплаты на аномалии
Ты — второй глаз бухгалтера на зарплатной ведомости. Ты НИЧЕГО не
меняешь и НЕ считаешь зарплату заново. Твоя работа — найти и показать
то, что стоит перепроверить человеку, с приоритетами.
## Входные данные
- Выгрузка текущего месяца: `in/payroll/current.*`
- Выгрузки прошлых месяцев (база сравнения): `in/payroll/prev-*.*`
Минимум 1, лучше 2-3 месяца.
## Шаги
1. Сделай рабочие КОПИИ всех файлов. Оригиналы не трогай.
2. Построй таблицу по сотрудникам: ID/имя × статья (брутто, нетто,
ניכויים, налоги, бонусы) за каждый месяц.
3. Сравнение и флаги:
a. Резкое отклонение суммы по сотруднику/статье месяц-к-месяцу
(по умолчанию порог > 15%, уточни у Рены) → 🟡 или 🔴.
b. Новый сотрудник (есть сейчас, не было раньше) → 🟡 проверить.
c. Исчезнувший сотрудник (был, пропал) → 🟡 уволен или ошибка?
d. Нетипичные ניכויים: появилось новое удержание, или сумма
удержания не похожа на исторические → 🔴.
e. Сроки: если в данных есть дата проводки/выплаты — проверь,
что она в допустимом окне. Просрочка/будущая дата → 🔴.
4. Не делай выводов "это ошибка". Формулируй как ВОПРОС:
"у Х нетто упало на 30% vs средн. за 3 мес — проверить почему".
5. Отчёт в `out/payroll-check-YYYY-MM.md`:
- Сводка: сколько сотрудников, сколько флагов.
- Секции по приоритету 🔴 высокий / 🟡 средний / 🟢 инфо.
- Для каждого флага: сотрудник, статья, что насторожило, числа.
## Guardrails (не нарушать)
- Работай только на копиях. Ничего в выгрузках не меняй.
- НЕ вноси проводки, НЕ правь суммы, НЕ пиши в Michpal/Oketz.
- Не маскируй сомнение под факт: пиши "проверить", а не "ошибка".
- Спорные пороги (что считать "резким") согласуй с Реной, не
придумывай свои нормы молча.
## Gotchas (дополняй)
- 13-я зарплата / премии дают законный всплеск — не путай с аномалией,
спроси Рену про сезонные выплаты периода.
- Сотрудник в декрете/на части ставки: падение суммы нормально.
- Разные написания имени в Michpal и Oketz — матчи по ID, не по имени.
Этот skill никогда не трогает зарплату и не делает проводки — только читает и сигналит. Любое изменение в Michpal/Oketz и любую проводку делаешь ты, после того как сама посмотрела флаги.
🔌 Skill 3 — import-export-verify
Что делает
Универсальный каркас под твою боль №1: импорт из программы A → нормализация → проверка ошибок и аномалий → классификация операций → подготовка экспорта в ERP → лог расхождений. Параметризуемый: ты задаёшь, откуда и куда, а структура работы и guardrails одни и те же. Из этого шаблона на hands-on отпочковываешь новый skill под любую связку программ.
Как пользоваться
- Заполни
config.json: источник, формат, целевой ERP, путь к правилам. - Положи входной файл в
in/. - Напиши: «прогони импорт через verify» и укажи файл.
- Если чего-то не хватает (нет config, нет правил) — agent остановится и спросит, а не пойдёт наугад.
Полный SKILL.md
---
name: import-export-verify
description: Универсальный каркас "импорт A → нормализация → проверка
ошибок и аномалий → классификация → экспорт в ERP → лог расхождений".
Применять для любой связки программа-источник → ERP, когда нужен
контролируемый перенос данных с проверкой.
---
# Импорт → Проверка → Экспорт (каркас)
Параметризуемый рабочий процесс переноса данных между системами с
обязательным контролем. Конкретные источник/приёмник/правила берутся
из config.json. Если config нет — спроси и помоги его собрать.
## Конфигурация
Читай `.claude/skills/import-export-verify/config.json`:
{
"source": "PayEm | SAP | Michpal | ...",
"in_format": "csv | xlsx",
"target_erp": "SAP Business One | חשבשבת | ...",
"rules_file": "путь к таблице правил классификации",
"out_format_example": "путь к примеру целевого формата"
}
Если файла нет или поля пустые — остановись и спроси Рену.
## Шаги
1. КОПИЯ входного файла. Оригинал неприкосновенен.
2. Нормализация: привести числа, даты, валюты, разделители к
единому виду. Зафиксировать, что было приведено.
3. Проверка ошибок и аномалий:
- пустые/битые обязательные поля,
- дубли строк,
- суммы вне ожидаемого диапазона,
- даты вне периода,
- חשבונית без номера / без суммы.
Всё подозрительное → в список расхождений, НЕ чинить молча.
4. Классификация операций по rules_file (keyword → категория → счёт).
Спорное (нет правила / несколько правил) → показать Рене, спросить.
5. Подготовка экспорта в target_erp по out_format_example в `out/`.
6. Лог расхождений в `logs/verify-YYYY-MM-DD.md`:
что нормализовано, какие ошибки, какие строки спрашивал,
итоговые решения.
## Guardrails (не нарушать)
- Только копия. Источник не изменяй.
- Спорное и подозрительное не угадывай — показывай Рене.
- Файл экспорта — черновик до явного подтверждения Рены.
- Не пиши напрямую в ERP. Готовишь файл, импорт — за человеком.
- Каждый запуск оставляет лог. Без лога задача не закрыта.
## Gotchas (дополняй под конкретную связку)
- У каждого ERP свой формат импорта — храни рабочий пример в assets/.
- Кодировка иврита (UTF-8 vs Windows-1255) — проверяй на выгрузке.
- Период закрыт? Не готовь проводки задним числом без отмашки.
Skill 1 — частный случай этого каркаса под PayEm. Каркас держим как материнский шаблон: появится новая связка (например חשבשבת вместо SAP) — копируешь папку, меняешь config.json, и новый skill готов за пять минут, а не с нуля.
| Принцип | Как выглядит в SKILL.md |
|---|---|
| 📦 Копия, не оригинал | Шаг 1 всегда «сделай рабочую копию» |
| ⚠️ Спорное — тебе | Отдельный шаг «не угадывай, спроси Рену» |
| ✅ Итог по подтверждению | Guardrail «черновик до явного да» |
| 🗂 Лог решений | Финальный шаг пишет logs/ |
| 🧱 Место под твои правила | rules.csv / config.json |
Точные форматы импорта SAP и חשבשבת, твои пороги аномалий, структура выгрузок Michpal/Oketz — всё это вставляем и проверяем на hands-on на твоих настоящих файлах. Сейчас задача — увидеть логику: agent идёт по твоей инструкции, решения и подпись остаются за тобой. доработка на hands-on