Community Скиллы Российские сервисы

Российская госстатистика

Установка
git clone (см. README)

Описание

ru-stats — скилл сбора официальной статистики для Claude Code: источники — Росстат, ЕМИСС, ЦБ РФ и региональные порталы, только curl — без SDK и зависимостей, результат — Markdown-таблица готовая для вставки в отчёт, ссылка на источник — каждая цифра привязана к первоисточнику. Для аналитиков, консультантов и журналистов, работающих с официальными данными РФ.

Что умеет:
— тянуть данные Росстата и ЕМИСС;
— брать цифры ЦБ РФ и регионов;
— отдавать Markdown-таблицы;
— ссылаться на источник каждой цифры.

Полная документация ниже — автоматически из репозитория bogemadumb/ru-stats (ветка main). Оригинальные материалы проекта распространяются на условиях его лицензии.

ru-stats

Это мой скилл для Claude Code. Он лезет в российские госисточники (Росстат, ЕМИСС/fedstat, ЦБ РФ, региональные стат-управления, министерства), достаёт оттуда нужные цифры и отдаёт их готовой Markdown-таблицей со ссылкой на источник. Вставляешь прямо в эссе, курсовую, реферат или доклад, и не надо руками копаться в сборниках.

Зачем это нужно

Я пишу учебные работы, и в них постоянно нужны реальные цифры по России — ВВП, инфляция, население, доходы. Просишь Claude «дай ВВП регионов за 2020–2024», а он идёт в веб через встроенный WebFetch и упирается. Российские госсайты почти поголовно режут серверные IP, с которых ходят эти инструменты, и в ответ прилетает 403 или таймаут.

А дальше самое противное. Модель не говорит «не смог» — она выдаёт цифру «по памяти». Правдоподобную, но выдуманную. И вот у тебя в курсовой красивое число, которого нет ни в одном сборнике. Меня это достало, поэтому я и собрал скилл. Держится он на трёх вещах:

  1. Правильный транспорт. Все запросы к .ru идут через локальный curl — с моего IP, а не с серверного, и блокировка отваливается сама собой.
  2. Карта источников. Заранее прописано, какой показатель где лежит, в каком порядке его искать и по каким URL. Не гуглит наугад.
  3. Дисциплина цитирования. Формат ответа жёстко зафиксирован: таблица, название публикации, URL, дата обращения. Не нашлось — так и пишет, а не сочиняет.

Плюс сюда зашито знание местных граблей, на которые иначе уходит час: сертификат Минцифры, cp1251, DDoS-Guard на fedstat, .rar вместо .zip.

Что умеет

  • Идёт по карте источников с приоритетом — сначала ЕМИСС, потом тематический портал (ЦБ РФ / Минфин), потом Росстат, региональные управления, и веб-архив в самом конце. Сверху вниз, а не наугад.
  • Обходит типовые препятствия госсайтов:
    • SSL-сертификат Минцифры (российский корневой CA, которому система не доверяет);
    • блокировку пустого или curl-ового User-Agent;
    • DDoS-Guard с JS-челленджем на fedstat.ru — через браузерную автоматизацию.
  • Парсит всё, что эти сайты отдают: .xlsx, .xls, .csv в cp1251 с разделителем ;, XML Банка России, HTML-таблицы, .rar-сборники.
  • Кеширует локально. Сборники весят десятки мегабайт и обновляются раз в год, так что качаю один раз и больше не дёргаю сайт.
  • Отдаёт готовый вывод — Markdown-таблицу с числами по правому краю и оформленной ссылкой на источник.
  • Честно говорит про лаги данных. Знает, что годовой ВВП выходит только к апрелю следующего года, а регионы отстают почти на год, и не делает вид, что цифра уже есть.

Стек

  • Claude Code — среда исполнения скилла.
  • Markdown — скилл целиком представляет собой инструкцию (SKILL.md), кода нет.
  • curl — транспорт до источников.
  • Python 3 + pandas / openpyxl / xlrd / tabulate — парсинг таблиц.
  • Playwright (опционально, через MCP или локально) — только для fedstat.ru с его DDoS-Guard.

Пример вывода

## Ключевая ставка Банка России на конец квартала, 2022–2025 (% годовых)

| Квартал | Ставка |
|---------|-------:|
| I 2022  |   20,0 |
| II 2022 |    9,5 |
| ...     |    ... |

**Источник:** [Банк России, «Ключевая ставка»](https://www.cbr.ru/hd_base/KeyRate/). Дата обращения: 16.07.2026.

Структура

ru-stats/
├── SKILL.md          # сам скилл: карта источников, обходы, парсинг, формат вывода
├── evals/
│   └── evals.json    # три тестовых сценария для проверки скилла
├── README.md
├── SCRUB.md          # чек-лист приватности перед публикацией форка
└── .gitignore        # исключает локальный кеш скачанных данных

Всё содержательное — в SKILL.md. Это не программа, а инструкция, которую читает Claude: он и выполняет описанные шаги своими штатными инструментами (Bash, Read).

Установка

Требования

  • Claude Code — установлен и авторизован (инструкция). Нужна своя подписка Claude или свой API-ключ Anthropic — см. ниже.
  • Python 3.9+ с pandas — для парсинга таблиц.
  • curl — есть из коробки на macOS и в большинстве Linux.
  • unar — для распаковки .rar-сборников Росстата.
  • Доступ к российскому сегменту сети — см. «Настройка сети».

Никаких токенов ботов, серверов и внешних сервисов скилл не требует. Файла .env у проекта нет — настраивать нечего, единственная переменная (путь к кешу) правится прямо в SKILL.md.

Шаг 1. Claude Code и свой доступ к Claude

Скилл работает внутри Claude Code, поэтому нужен свой доступ к модели — один из двух вариантов:

  • Подписка Claude Pro / Max — оформляется на claude.ai, после чего claude логинится по браузеру:
    npm install -g @anthropic-ai/claude-code
    claude          # при первом запуске проведёт через вход в аккаунт
    
  • API-ключ Anthropic — создаётся в Anthropic Console → API Keys → Create Key. Оплата по факту использования:
    export ANTHROPIC_API_KEY='sk-ant-ваш-ключ'   # добавьте в ~/.zshrc или ~/.bashrc
    

Ключ — ваш личный, он не хранится в этом репозитории и не должен в него попадать.

Шаг 2. Установка зависимостей

# Python-библиотеки для парсинга
pip3 install --user pandas openpyxl xlrd tabulate

# Распаковщик .rar
brew install unar              # macOS
sudo apt install unar          # Debian / Ubuntu

openpyxl читает .xlsx, xlrd — старый .xls (Росстат до сих пор его отдаёт), tabulate нужен для .to_markdown().

Шаг 3. Установка скилла

Склонируйте репозиторий в каталог скиллов Claude Code.

Глобально (скилл доступен во всех проектах):

mkdir -p ~/.claude/skills
git clone https://github.com/<ваш-аккаунт>/ru-stats.git ~/.claude/skills/ru-stats

Только для одного проекта (скилл поедет вместе с репозиторием проекта):

mkdir -p .claude/skills
git clone https://github.com/<ваш-аккаунт>/ru-stats.git .claude/skills/ru-stats

Важно: каталог должен называться ru-stats и содержать SKILL.md в корне — Claude Code ищет скиллы именно так.

Шаг 4. Настройка сети

Скилл исходит из того, что домены *.ru, *.su, *.xn--p1ai открываются с вашей машины напрямую.

  • Вы в России — ничего делать не надо, переходите к шагу 5.
  • Вы за пределами РФ — большинство *.gov.ru отдадут 403 на зарубежный IP. Понадобится доступ к российскому сегменту (VPN или прокси с российским выходом).
  • Вы под VPN с зарубежным выходом — включите split-tunneling (раздельное туннелирование: часть трафика идёт мимо VPN-туннеля) и заведите в исключения *.ru, *.su, *.xn--p1ai. Иначе российские источники закроются, хотя интернет в целом работает.

Проверка:

curl -sI https://rosstat.gov.ru | head -3

Ожидаемо HTTP/2 200. Таймаут или 403 — доступа к российскому сегменту нет, вернитесь к настройке.

Шаг 5. Кеш

Скилл складывает скачанное в ~/.cache/ru-stats/. Каталог создастся сам при первом запуске; создать заранее:

mkdir -p ~/.cache/ru-stats

Хотите другой путь — замените ~/.cache/ru-stats в SKILL.md на свой.

Шаг 6. Первый запуск

Запустите claude и попросите что-нибудь простое:

Какой был курс доллара ЦБ РФ на 15 апреля 2026?

Скилл должен подхватиться автоматически (Claude выбирает его по описанию), сходить curl-ом на cbr.ru/scripts/XML_daily.asp и вернуть значение со ссылкой на источник. Можно позвать и явно: /ru-stats курс доллара на 15.04.2026.

Более полная проверка — сценарии из evals/evals.json: ВРП регионов, ключевая ставка по кварталам, население городов-миллионников.

Запуск по расписанию (опционально)

Скилл интерактивный — по расписанию он не нужен. Но если хотите, например, ежемесячно обновлять кеш на своём сервере, подойдёт обычный cron с headless-режимом Claude Code:

crontab -e
# 1-го числа каждого месяца в 09:00 — обновить кеш ключевой ставки
0 9 1 * * cd ~/.claude/skills/ru-stats && /usr/local/bin/claude -p "Обнови кеш ключевой ставки ЦБ РФ за текущий год" >> ~/.cache/ru-stats/cron.log 2>&1

Cron не видит вашего $PATH и переменных окружения — указывайте абсолютный путь к claude (which claude) и задавайте ANTHROPIC_API_KEY прямо в crontab или в скрипте-обёртке. Для systemd — аналогично через .service + .timer с Environment= или EnvironmentFile=.

Траблшутинг

Симптом Причина Решение
curl: (60) SSL certificate problem на *.gov.ru Российский корневой CA Минцифры, системе неизвестен Добавьте -k к curl (для публичной статистики это приемлемо) либо установите сертификат Минцифры в системное хранилище
403 на fedstat.ru даже с User-Agent DDoS-Guard делает JS-челлендж, curl его не проходит Используйте браузерную автоматизацию (Playwright), не curl
403 / таймаут на rosstat.gov.ru Нет доступа к российскому сегменту, либо запрос ушёл через WebFetch Проверьте сеть (шаг 4); убедитесь, что Claude идёт через Bash + curl, а не WebFetch
Скачался «xlsx», а pandas его не читает Сайт отдал HTML-страницу с ошибкой, curl сохранил под именем .xlsx file <файл> покажет реальный тип; проверяйте перед парсингом
Кракозябры вместо русских букв в CSV Кодировка cp1251, а не UTF-8 pd.read_csv(..., sep=';', encoding='cp1251')
ImportError: Missing optional dependency 'xlrd' Старый .xls требует отдельной библиотеки pip3 install --user xlrd
.to_markdown() падает Нет tabulate pip3 install --user tabulate
Claude не подхватывает скилл SKILL.md не в корне ~/.claude/skills/ru-stats/, либо испорчен YAML-заголовок Проверьте путь и что файл начинается с --- + name: + description:
Данных за нужный год нет Лаг публикации: годовой ВВП — к апрелю следующего года, регионы — до года Это нормально; возьмите последний доступный год и укажите его в работе
Цифры не сходятся с прошлогодней версией Росстат пересматривает исторические ряды Берите последнюю ревизию и указывайте дату обращения

Лицензия

MIT — см. LICENSE.

Дисклеймер

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