Почему таблица больше, чем набор ячеек

Запрос «собери отчёт в Excel» редко означает простой перенос данных. Обычно нужно использовать конкретный шаблон, сохранить названия листов, не нарушить стили, оставить расчёты редактируемыми, соблюсти принятые форматы и объяснить допущения. Если агент создаёт внешне аккуратную, но непригодную для дальнейшей работы книгу, сотрудникам приходится вручную восстанавливать модель или проверять её заново.

Набор skills/xlsx чётко очерчивает область применения. Он предназначен для задач, где электронная таблица является основным входным материалом или итоговым результатом: при работе с форматами .xlsx, .xlsm, .xltx, .csv и .tsv. Если файл нужен только как промежуточный материал, а пользователю требуется HTML-отчёт, отдельная программа или работа через Google Sheets API, этот процесс не должен автоматически становиться главным.

В этом состоит различие между промптом и Skill. Промпт фиксирует пожелание в пределах одного разговора. Skill переносит правила в файл, который можно хранить рядом с шаблоном и скриптами, обсуждать на code review и менять через Git вместе с бизнес-правилами. Markdown-файл сам по себе не гарантирует качество, но важные условия перестают зависеть только от памяти автора удачного запроса.

Для регулярных документов такая дисциплина зачастую важнее удачной разовой демонстрации. Нужен не просто ответ модели с формулой, а файл, который откроет аналитик, финансист или руководитель и сможет продолжить использовать без ручного восстановления структуры.

  • Промпт описывает желаемый ответ в рамках конкретного разговора.
  • Skill задаёт область применения, инструкции, вспомогательные файлы и допустимые инструменты.
  • Версионирование позволяет отслеживать изменение правил и формата результата.
  • Техническая проверка снижает риск части дефектов, но не подтверждает экономический смысл расчёта.

Как Skill работает в Claude Code и Agent SDK

В документации Anthropic Skill описан как каталог с инструкциями, скриптами и ресурсами, которые агент может обнаружить и загрузить по мере необходимости. Типичная точка входа называется SKILL.md. В YAML-frontmatter указываются метаданные, включая имя и описание, а затем следуют рабочие правила. Рядом могут лежать шаблоны, примеры, валидаторы и исполняемые сценарии.

Описание Skill не является формальностью. Оно помогает агенту сопоставить задачу с нужной процедурой. Слишком широкая формулировка повышает риск ложного срабатывания: табличный навык будет выбираться там, где он не нужен. Слишком узкая формулировка, наоборот, способна привести к пропуску подходящего сценария.

В Claude Code навыки можно вызывать командами, либо агент может подобрать их по описанию задачи. В Agent SDK разработчик подключает Skills к собственному приложению и может разрешить все обнаруженные навыки либо ограничить список конкретными именами.

При этом наличие Skill не даёт автоматического доступа к данным. Чтение файлов, запись результата и запуск команд зависят от отдельно предоставленных инструментов и разрешений, в том числе Read, Write и Bash. Skill не следует путать с Claude API или самостоятельной средой выполнения: это переносимый слой предметной процедуры. Итог зависит от инструкции, возможностей модели, доступных библиотек, прав агента и проверки артефакта после выполнения.

Что предписывает xlsx: разделять обработку данных и работу с книгой

Техническая логика xlsx не строится вокруг одной универсальной библиотеки. Для работы со структурой книги, ячейками, формулами и стилями инструкция ориентирует агента на openpyxl. Для импорта, экспорта и обработки табличных массивов предлагается pandas. Быстрый просмотр содержимого листов вынесен в отдельную операцию через markitdown.

Такое разделение соответствует реальному устройству задачи. DataFrame удобен для преобразования выгрузки, но Excel-книга содержит не только данные. В ней могут быть формулы, форматирование, именованные диапазоны, защищённые области и макросы. Попытка обработать всё как обычную таблицу может незаметно разрушить элементы, которые пользователи считают частью отчёта.

Отдельное внимание уделено редактируемым расчётам. Когда пользователю нужна изменяемая модель, недостаточно вычислить итог в Python и записать в книгу одно число. Следует сохранить формулу Excel, чтобы пользователь видел зависимость, мог изменить вводную и получить новый результат в привычной среде.

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

  • openpyxl: работа с листами, формулами, ячейками, стилями и структурой книги.
  • pandas: преобразование выгрузок и обработка табличных наборов.
  • markitdown: быстрый просмотр содержимого.
  • recalc.py и LibreOffice: пересчёт и техническая диагностика формул.
Цитата в переводе

«Если расчёт должен оставаться изменяемым, используйте формулы, а не вычисляйте значения в Python.»

AnthropicИнструкция в skills/xlsx/SKILL.md

Проверка после сохранения: формула должна не только выглядеть правильно

Самая прикладная часть xlsx начинается после записи файла. Инструкция предписывает пересчитать книгу скриптом recalc.py, который использует LibreOffice, а затем разобрать возвращаемый JSON. Диагностика содержит статус, количество формул, количество ошибок и проблемные ячейки.

Книгу нельзя передавать пользователю при обнаружении ошибок #REF!, #DIV/0!, #VALUE!, #N/A или #NAME?. В автоматизации имеет значение интерпретация результата, а не только успешный запуск команды. Поле errors_found в JSON следует считать провалом контроля качества, даже если процесс завершился с кодом 0. Иначе pipeline будет формально успешным, хотя файл уже содержит дефекты.

Отсутствие ошибок формул не гарантирует бизнес-корректность отчёта. Диапазон может быть сдвинут, в знаменатель может попасть неверная метрика, а ссылка может вести на устаревший лист. Табличный движок корректно вычислит синтаксически валидную, но методологически неверную формулу.

Поэтому разумно разделить ответственность на три уровня. Валидатор ищет типовые технические ошибки. Контрольные кейсы сверяют известные результаты. Владелец процесса подтверждает методику и допустимость применения файла. Подменять один уровень другим рискованно: технически чистый файл не равен принятому финансовому или управленческому решению.

Цитата в переводе

«Не передавайте пользователю электронную таблицу, если обнаружены ошибки формул.»

AnthropicИнструкция в skills/xlsx/SKILL.md

Ограничения LibreOffice и совместимость с Excel

Связка openpyxl, LibreOffice и recalc.py формирует воспроизводимый технический контур, но у неё есть ограничения. В xlsx рекомендуются более широко поддерживаемые формулы, включая SUMIFS, INDEX, MATCH, IFERROR и SUMPRODUCT. Для части новых функций может потребоваться префикс _xlfn.

Функций XLOOKUP, XMATCH, SORT, FILTER, UNIQUE и SEQUENCE инструкция предлагает избегать из-за рисков пересчёта и неполной поддержки динамических массивов в используемой среде. Это не означает, что Excel или Claude не работают с современными функциями. Речь идёт о конкретной среде headless-валидации, где обновлённую книгу должен пересчитать LibreOffice без графического интерфейса.

Компании стоит заранее определить, в чём пользователи будут открывать итоговый документ и в какой среде система проверит его до выдачи. Возможности Excel и среды автоматического пересчёта не всегда совпадают, особенно при использовании новых функций и динамических массивов.

Skill отдельно предупреждает о рисках обработки существующих файлов. При загрузке .xlsm без параметра keep_vba=True можно потерять макросы. Если открыть книгу с data_only=True, а затем сохранить, формулы могут быть заменены вычисленными значениями. Внешние ссылки на другие книги после обработки и пересчёта могут перестать разрешаться, что, в частности, способно привести к #NAME?.

Это не довод против автоматизации. Перечень ограничений объясняет ценность Skills: условия становятся обязательными шагами процедуры, а не случайным советом, который модель может не повторить в следующем диалоге.

Как превратить регулярный отчёт в воспроизводимый сценарий

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

В собственном файле sales-report-xlsx/SKILL.md можно зафиксировать, для какого шаблона предназначен навык, какие листы обязательны, какие диапазоны нельзя менять, где отражаются допущения, как задаются период, валюта и правила округления. Рядом стоит хранить шаблон, входные выгрузки, справочник полей и, если требуется, сценарии проверок.

Далее агент может нормализовать выгрузку через pandas, обновить книгу через openpyxl, сохранить формулы в ячейках и запустить пересчёт. После этого нужны проверки, относящиеся к конкретному процессу: число строк, итоги периода, границы дат, допустимость отрицательных значений, отсутствие нулевых знаменателей.

Сам xlsx не поставляет универсальную бизнес-методику. Эти критерии должна сформулировать команда, использующая отчёт. Финальное решение остаётся за владельцем отчёта: он принимает не просто отсутствие #REF!, а соответствие документа шаблону и методике. Для финансовых, кадровых и других чувствительных процессов это понятное распределение ролей между автоматизацией и человеком.

  • Вход: шаблон, выгрузка, справочник полей и версия Skill.
  • Преобразование: очистка данных, обновление книги и запись формул.
  • Автопроверка: пересчёт, разбор JSON и поиск ошибок формул.
  • Регрессионные тесты: контрольные ячейки и пограничные случаи.
  • Приёмка: подтверждение владельцем бизнес-процесса.

Как оценивать качество Skill, а не один удачный файл

Один красивый пример не показывает, будет ли навык надёжно работать в регулярном процессе. Проверять нужно как минимум три свойства: срабатывает ли Skill на подходящем запросе, не перехватывает ли нерелевантные задачи и проходит ли итоговый файл заранее определённые проверки. Без этого система может периодически впечатлять и столь же периодически создавать незаметные сбои.

Отдельный skill-creator в репозитории Anthropic демонстрирует подход к созданию и улучшению Skills: описать ожидаемое поведение, собрать задачи для проверки, изучить результаты, затем доработать инструкции или вспомогательные файлы. Такой подход ближе к развитию программного компонента, чем к бесконечному поиску «идеального промпта».

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

Это редакционный вывод из механики Skills и ограничений xlsx, а не готовый тестовый пакет Anthropic. Полезно хранить версию Skill, исходные файлы и результаты валидаторов рядом с итоговой книгой. Тогда спорное значение можно разобрать по цепочке: какая выгрузка использовалась, какие правила действовали и на каком этапе возникло расхождение.

Права, лицензия и доступы

Публичная доступность репозитория не означает свободную лицензию. Anthropic характеризует document creation & editing skills как source-available, а в xlsx/SKILL.md указана proprietary-лицензия. Материалы можно рассматривать как референс архитектуры, но возможность свободно форкать, переупаковывать или включать их в коммерческий продукт нельзя предполагать без проверки условий лицензии и внутренней юридической оценки.

Есть и операционная сторона. Права стоит выстраивать по принципу минимальной достаточности. Агенту, который собирает один отчёт, не требуется неограниченный доступ ко всей файловой системе. Agent SDK позволяет ограничивать Skills и инструменты; тот же принцип применим к рабочим каталогам, командам оболочки, сетевым обращениям и учётным данным.

Прежде чем переносить сценарий в рабочий контур, нужно отдельно решить, какие данные допустимо передавать внешнему AI-провайдеру. Для кадровых, финансовых и персональных сведений особенно важны классификация данных, согласованный маршрут обработки и назначенный владелец результата. Дисциплина работы с книгой не заменяет политику информационной безопасности.

Российский контекст: локализовать нужно регламент

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

Источники данных также нужно описывать явно. Это могут быть выгрузки из ERP, управленческой системы, бухгалтерской базы или внутренней витрины. В правилах и тестах стоит определить первичные поля, порядок обработки расхождений и ответственного за обновление справочника. Иначе автоматизация лишь быстрее распространит устаревшие или ошибочные правила.

В результате агент работает не с абстрактным «отчётом», а по описанной процедуре конкретной организации. Именно эта процедура определяет, какой результат можно принять, что нужно проверить дополнительно и кто принимает итоговое решение.

Не Excel-автопилот, а схема контролируемой автоматизации

Набор anthropics/skills/xlsx не доказывает, что Claude способен автономно и безошибочно строить любые финансовые модели. В предоставленных материалах нет независимого публичного бенчмарка, который сравнивал бы этот набор с работой без Skill или с альтернативными продуктами. Поэтому заявления о гарантированной точности, превосходстве или измеримой экономии времени были бы преждевременными.

Вместо этого репозиторий предлагает применимую схему: разделять обработку данных и редактирование книги, сохранять формулы редактируемыми, пересчитывать файл в контролируемой среде, анализировать результат проверки, учитывать макросы и внешние ссылки, а бизнес-смысл подтверждать отдельно.

Это переводит разговор от «поручим Claude отчёт» к более полезному вопросу: какой контракт, какие тесты и какие права нужны этому процессу? Skills не отменяют промптинг, собственные инструменты, интеграции и человеческое ревью. Их задача состоит в том, чтобы связать эти элементы в повторяемую процедуру.

Для таблиц, где небольшая ошибка может стать основанием для большого решения, такая процедура ценнее обещаний универсальной автоматизации.

Что это означает на практике

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

  • Начинайте не с запроса «сделай Excel», а с контракта: шаблон, обязательные листы, входные данные, правила округления, формулы и владелец приёмки.
  • Храните Skill, шаблоны, тестовые выгрузки и валидаторы в одной версионируемой структуре, чтобы изменения можно было проверять и воспроизводить.
  • Разделяйте техническую и смысловую проверку: recalc.py и LibreOffice обнаруживают часть ошибок формул, но не подтверждают верность бизнес-методики.
  • Проверяйте итоговые файлы в целевой среде: возможности Excel и headless-пересчёта LibreOffice могут различаться.
  • Для .xlsm, внешних ссылок и чувствительных к форматированию шаблонов задавайте отдельные тесты и не используйте опасные режимы загрузки.
  • Перед коммерческим использованием официальных материалов Anthropic отдельно проверяйте лицензию: source-available не означает open source.
  • Ограничивайте доступ агента к файлам, командам и Skills минимально необходимым набором.

Вывод

Публичный набор xlsx от Anthropic стоит воспринимать как образец производственного подхода к Claude, а не как анонс безошибочного Excel-автопилота. Его сильная сторона заключается в соединении правил результата, инструментов и проверок в одну версионируемую процедуру.

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

Источники

Частые вопросы

Что такое Skill в Claude Code?

Skill представляет собой каталог с инструкциями, ресурсами и при необходимости скриптами, которые агент может обнаружить и применить к подходящей задаче. Он задаёт воспроизводимую процедуру, а не только текст одного промпта.

Зачем Claude при работе с Excel использовать формулы, а не готовые числа?

Если пользователь должен менять исходные данные и пересчитывать модель, в книге следует сохранять формулы Excel. Записанное из Python готовое значение не сохраняет редактируемую логику расчёта.

Гарантирует ли проверка LibreOffice правильность отчёта?

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

Почему при автоматизации Excel важны макросы и внешние ссылки?

При обработке существующих книг можно потерять макросы или нарушить работу внешних ссылок. Для .xlsm, ссылок на другие книги и чувствительных шаблонов нужны отдельные правила загрузки и тесты.

Можно ли свободно использовать опубликованный набор Skills xlsx?

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

Практический чек-лист

Практический чек-лист внедрения табличного Skill

Этот чек-лист можно использовать как основу для внутренней приёмки первого сценария автоматизации регулярного отчёта.

Контракт результата

  • Определён конкретный шаблон книги и его версия.
  • Зафиксированы обязательные листы, диапазоны, формулы, правила округления и формат результата.
  • Назначен владелец процесса, который принимает бизнес-смысл отчёта.

Данные и доступы

  • Описаны входные выгрузки, справочник полей и правила обработки расхождений.
  • Агенту выданы только необходимые доступы к файлам, инструментам и командам.
  • Для чувствительных данных согласован допустимый маршрут обработки.

Проверка

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

Вопросы и ответы

Что такое Skill в Claude Code?

Skill представляет собой каталог с инструкциями, ресурсами и при необходимости скриптами, которые агент может обнаружить и применить к подходящей задаче. Он задаёт воспроизводимую процедуру, а не только текст одного промпта.

Зачем Claude при работе с Excel использовать формулы, а не готовые числа?

Если пользователь должен менять исходные данные и пересчитывать модель, в книге следует сохранять формулы Excel. Записанное из Python готовое значение не сохраняет редактируемую логику расчёта.

Гарантирует ли проверка LibreOffice правильность отчёта?

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

Почему при автоматизации Excel важны макросы и внешние ссылки?

При обработке существующих книг можно потерять макросы или нарушить работу внешних ссылок. Для .xlsm, ссылок на другие книги и чувствительных шаблонов нужны отдельные правила загрузки и тесты.

Можно ли свободно использовать опубликованный набор Skills xlsx?

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