Claude Info
DevOps

snakehug

Anaconda-Sandbox/snakehug

Скилл для Claude Code, решающий проблему активации conda/mamba/pixi в неинтерактивных оболочках. Один раз настраивает окружение, сохраняет конфигурацию в CLAUDE.md и автоматически применяет её в последующих сессиях.

Установка

terminal
bash
git clone https://github.com/Anaconda-Sandbox/snakehug.git

README

snakehug 🐍🦀🤗

Автоматическая активация conda/mamba/pixi окружений для Claude Code. Никаких ошибок conda activate в неинтерактивных оболочках — Claude спрашивает один раз и запоминает навсегда.

Claude Code Skill License: MIT

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

AI-ассистенты запускают неинтерактивные оболочки, которые не загружают конфигурацию shell. Из-за этого conda activate завершается ошибкой «Run 'conda init' first», Python-команды выполняются в неправильном окружении, а тесты падают из-за отсутствующих зависимостей.

Этот скилл обучает Claude корректным паттернам активации и запоминает выбор пользователя:

Без snakehugС snakehug
conda activate завершается ошибкойРаботает автоматически
Неправильное Python-окружениеПравильное окружение каждый раз
Ручная настройка в каждой сессииОднократная интерактивная настройка
Забывает между сессиямиСохраняется в CLAUDE.md проекта

Как это работает

  1. Первый запуск — Claude определяет доступные менеджеры окружений, спрашивает какой использовать, выводит список окружений и уточняет нужное
  2. Сохранение конфигурации — полная рабочая команда активации сохраняется в CLAUDE.md проекта
  3. Последующие запуски — автоматически использует сохранённый паттерн

Ключевая идея: сохранять полную команду активации, работающую в чистой оболочке, а не просто имя окружения.

Установка

Глобальный скилл

bash
mkdir -p ~/.claude/skills
git clone https://github.com/Anaconda-Sandbox/snakehug ~/.claude/skills/snakehug

Пример сессии

Вы: run pytest Claude: Сначала нужно настроить Python-окружение. Проверяю доступные варианты... Какой менеджер окружений вы используете? ○ conda ○ mamba ○ micromamba ○ none Вы: [выбирает conda] Claude: Найдены следующие окружения. Какое использовать для этого проекта? ○ weather-dashboard (/Users/you/miniconda3/envs/weather-dashboard) ○ data-science (/Users/you/miniconda3/envs/data-science) ○ Создать новое окружение Вы: [выбирает weather-dashboard] Claude: Проверяю активацию... ✓ Python 3.11.14 Сохранено в CLAUDE.md. Запускаю pytest... ===== test session starts ===== collected 6 items test_weather.py ✓✓✓✓✓✓ ===== 6 passed in 0.03s =====

В последующих сессиях сохранённое окружение используется автоматически.

Поддерживаемые инструменты

МенеджерМетод активации
condasource <prefix>/etc/profile.d/conda.sh && conda run
mambaeval "$(mamba shell hook --shell bash)" && mamba run
micromambaeval "$(micromamba shell hook --shell bash)" && micromamba run
pixipixi run (на основе проекта)

Автоматически оборачиваемые команды

  • Python: python, python3
  • Менеджеры пакетов: pip, pip3
  • Тестирование: pytest, py.test, tox, nox
  • Линтинг: mypy, ruff, black, isort, flake8, pylint
  • Ноутбуки: jupyter, ipython, jlpm
  • Инструменты сборки: poetry, pdm, hatch, flit
  • Веб-фреймворки: uvicorn, gunicorn, flask, django-admin, celery
  • Прочее: pre-commit

Структура файлов

snakehug/ ├── .claude/skills/snakehug/ │ ├── SKILL.md # Основные инструкции скилла │ └── activation-patterns.md # Справочник паттернов для разных платформ и оболочек ├── README.md ├── BLOG_POST.md # История разработки и извлечённые уроки └── LICENSE

Устранение неполадок

Если активация перестала работать:

  1. Удалите раздел «Python Environment» из CLAUDE.md вашего проекта
  2. Попросите Claude выполнить любую Python-команду
  3. Claude повторно запустит процесс настройки

Совместимость

Скилл использует открытый стандарт Agent Skills и должен работать с:

  • Claude Code (~/.claude/skills/)
  • Cursor (.cursor/skills/)
  • VS Code, GitHub Copilot и другими совместимыми агентами

Лицензия

MIT

Похожие скиллы