{/ Эта страница автоматически создается на основе файла SKILL.md навыка с помощью сайта site/scripts/generate-skill-docs.py. Редактируйте исходный код SKILL.md, а не эту страницу. /}
Автор Excel
Создавайте проверяемые книги Excel в автономном режиме с помощью openpyxl — условные обозначения синих/черных/зеленых ячеек, формулы поверх жестких кодов, именованные диапазоны, проверки баланса, таблицы чувствительности. Используется для финансовых моделей, результатов аудита, сверок.
Метаданные навыков
Источник
Необязательно — установите с помощью hermesskills installofficial/finance/excel-author
Ниже приведено полное определение навыка, которое Гермес загружает при активации этого навыка. Это то, что агент видит в качестве инструкций, когда навык активен.
автор Excel
Создайте файл.xlsx на диске, используя openpyxl. Следуйте приведенным ниже соглашениям банковского уровня, чтобы модель была проверяемой, гибкой и доступной для проверки кем-то, кроме человека, который ее построил.
Адаптировано на основе навыков Anthropic xlsx-author и audit-xls в репозитории anthropics/financial-services. Ветки оригиналов, специфичные для MCP/Office-JS/Cowork, удалены — этот навык предполагает безголовый Python.
Выходной контракт
Запишите в ./out/<имя>.xlsx. Создайте ./out/, если он не существует.
Верните относительный путь в окончательное сообщение, чтобы последующие инструменты могли его уловить.
Одна логическая модель на файл. Не добавляйте данные в существующую книгу, если об этом явно не попросят.
Черный (по умолчанию) — формула. Каждая производная ячейка представляет собой живую формулу Excel.
Зеленый (Font(color="006100")) — ссылка на другой лист или внешний файл.
Затем рецензент может отсканировать лист и сразу увидеть, что является предположением, а что вычислено.
Формулы в жестком коде
Каждая ячейка расчета ДОЛЖНА быть строкой формулы, а не числом, вычисленным в Python и вставленным как значение.
# WRONG — silent bug waiting to happenws["D20"]=revenue_prior_year*(1+growth)# CORRECT — flexes when the user changes the assumptionws["D20"]="=D19*(1+$B$8)"
Разрешены только жестко запрограммированные числа:
1. Исходные исторические данные (фактическая выручка, заявленная EBITDA и т. д.)
2. Факторы допущений, которые пользователь должен гибко изменять (темпы роста, входные данные WACC, терминал g)
3. Текущие рыночные данные (цена акций, баланс долга) — с комментарием к ячейке, документирующим источник + дату.
Если вы поймаете себя на том, что вычисляете значение на Python и записываете результат, остановитесь.
Именованные диапазоны для межтабличных ссылок
Используйте именованные диапазоны для любого рисунка, на который есть ссылка из другого листа, колоды или заметки.
fromopenpyxl.workbook.defined_nameimportDefinedNamewb.defined_names["WACC"]=DefinedName("WACC",attr_text="Inputs!$C$8")# then elsewhere:calc["D30"]="=D29/WACC"
Вкладка «Проверки баланса»
Включите вкладку «Проверки», которая связывает все и отображает ИСТИНА/ЛОЖЬ:
- Балансовые остатки (активы = обязательства + собственный капитал)
- Денежный поток связан с изменением денежных средств за период в BS.
- Привязка суммы частей к консолидированным итогам
- Никаких мошеннических жестких кодов внутри диапазонов вычислений.
Создавайте с помощью циклов, а не жестко запрограммированных формул для каждой ячейки. Правила:
Нечетное количество строк/столбцов (5×5 или 7×7) — гарантирует наличие истинной центральной ячейки.
Центральная ячейка = базовый случай. Заголовок средней строки/столбца должен равняться фактической WACC модели и терминалу g, чтобы центральный результат равнялся подразумеваемой цене акций в базовом случае. Это проверка здравомыслия.
Выделите центральную ячейку синей заливкой («BDD7EE») и жирным шрифтом.
Заполните каждую ячейку полной формулой пересчета, а не приближением.
# 5x5 WACC (rows) x terminal growth (cols) sensitivitywacc_axis=[0.08,0.085,0.09,0.095,0.10]# center row = base 9.0%term_axis=[0.02,0.025,0.03,0.035,0.04]# center col = base 3.0%start_row=40ws.cell(row=start_row,column=1).value="Implied Share Price ($)"ws.cell(row=start_row,column=1).font=BOLDforj,ginenumerate(term_axis):ws.cell(row=start_row+1,column=2+j).value=gws.cell(row=start_row+1,column=2+j).font=BLUEfori,winenumerate(wacc_axis):r=start_row+2+iws.cell(row=r,column=1).value=wws.cell(row=r,column=1).font=BLUEforj,ginenumerate(term_axis):c=2+j# Full DCF recalc formula (simplified for illustration).# In a real model this references the full projection block.ws.cell(row=r,column=c).value=(f"=SUMPRODUCT(FCF_range,1/(1+{w})^year_offset) + "f"FCF_terminal*(1+{g})/({w}-{g})/(1+{w})^terminal_year")# Highlight center cell (base case)center=ws.cell(row=start_row+2+len(wacc_axis)//2,column=2+len(term_axis)//2)center.fill=PatternFill("solid",fgColor="BDD7EE")center.font=BOLD
Перерасчет перед доставкой
openpyxl записывает строки формул, но не вычисляет их. Excel выполняет перерасчет при открытии, но последующим потребителям (скрипты автоматической проверки, CI) нужны вычисленные значения.
Запустите LibreOffice или специальный этап пересчета перед доставкой:
Или используйте помощник пересчета Python (см. scripts/recalc.py в этом навыке).
Планирование компоновки модели
Прежде чем писать какую-либо формулу:
1. Определите ВСЕ позиции строк раздела.
2. Напишите ВСЕ заголовки и метки.
3. Напишите ВСЕ разделители разделов и пустые строки.
4. ЗАТЕМ напишите формулы, используя заблокированные позиции строк.
Это предотвращает шаблон разрушения каскадных формул, при котором вставка строки заголовка после записи формул смещает все последующие ссылки.
Пошаговое согласование с пользователем
Для больших моделей (DCF, 3 оператора, LBO) перед продолжением остановитесь и покажите пользователю промежуточные артефакты. Выявление неправильного предположения о марже до того, как вы построите таблицы чувствительности последующих этапов, сэкономит час.
Схема контрольной точки:
- После блока «Входы» → показать необработанные входные данные, подтвердить перед проецированием
- После прогноза выручки → подтвердить выручку + рост
- После построения FCF → подтвердите полный график
- После WACC → подтвердить ввод
- После оценки → подтвердить мост долевого участия
- ЗАТЕМ постройте таблицы чувствительности
Когда НЕ использовать этот навык
Пользователи в реальном сеансе Excel с доступным Office MCP — вместо этого управляйте своей активной книгой.
— Чистый экспорт табличных данных без формул — проще использовать «csv» или «pandas.to_excel».
Панели мониторинга/диаграммы с высокой степенью интерактивности — используйте настоящий инструмент BI.
Атрибуция
Условные обозначения (синий/черный/зеленый, формулы поверх жестких кодов, именованные диапазоны, правила чувствительности), адаптированные из пакета плагинов Anthropic Claude for Financial Services, лицензия Apache-2.0. Оригинал: https://github.com/anthropics/financial-services/tree/main/plugins/vertical-plugins/financial-anaанализ/skills/xlsx-author