Разработка пакетов XSOAR
mdrobniu/xsoar-pack-dev-skillClaude Code skill для разработки контент-пакетов Cortex XSOAR: скаффолдинг, написание интеграций, тестирование, валидация и деплой через demisto-sdk. Следует официальным стандартам Palo Alto Networks.
Установка
git clone https://github.com/mdrobniu/xsoar-pack-dev-skill.gitREADME
xsoar-pack-dev
Claude Code skill для полного цикла разработки контент-пакетов Cortex XSOAR.
Создавайте, тестируйте, валидируйте и деплойте контент-пакеты XSOAR на естественном языке — от скаффолдинга нового пакета до загрузки на ваш инстанс XSOAR.
Что умеет скилл
Скилл превращает Claude Code в эксперта по разработке контента XSOAR, следующего официальным стандартам Palo Alto Networks. Он проведёт вас через весь рабочий процесс:
| Фаза | Что происходит |
|---|---|
| Survey | Уточняет конфигурацию: локальная или marketplace, параметры инстанса XSOAR 6.x |
| Repo Setup | Клонирует форк content или ci-cd-template, создаёт feature-ветки |
| Create | Скаффолдит пакеты через demisto-sdk init с корректными метаданными |
| Develop | Пишет интеграции, скрипты, плейбуки — код и тесты вместе |
| Document | Генерирует README.md, release notes, _description.md |
| Test | Запускает pytest, копирует тестовые зависимости (CommonServerPython, demistomock) |
| Lint | Запускает flake8/ruff или demisto-sdk pre-commit |
| Validate | Запускает demisto-sdk validate для проверки структурных ошибок |
| Commit | Только после прохождения всех проверок — не раньше |
| Build/Deploy | demisto-sdk zip-packs с обходом бага Lists, загрузка на XSOAR |
Быстрый старт
Установка
Скопируйте папку скилла в директорию Claude Code skills:
# Клонируйте репозиторий
git clone git@github.com:mdrobniu/xsoar-pack-dev-skill.git
# Скопируйте в директорию Claude Code skills
cp -r xsoar-pack-dev-skill ~/.claude/skills/xsoar-pack-devИли установите напрямую:
mkdir -p ~/.claude/skills/xsoar-pack-dev
curl -sL https://github.com/mdrobniu/xsoar-pack-dev-skill/archive/refs/heads/main.tar.gz \
| tar -xz --strip-components=1 -C ~/.claude/skills/xsoar-pack-devИспользование
В любой сессии Claude Code:
/xsoar-pack-dev create MyNewPack
/xsoar-pack-dev add-integration MyNewPack
/xsoar-pack-dev test MyNewPack
/xsoar-pack-dev build MyNewPack
Файлы скилла
| Файл | Строк | Назначение |
|---|---|---|
SKILL.md | ~2 080 | Основной скилл — полный 8-фазный воркфлоу, паттерны кода, восстановление после ошибок |
yaml-templates.md | ~235 | YAML-шаблоны для интеграций, скриптов и плейбуков |
test-patterns.md | ~262 | Паттерны юнит-тестов, фикстуры, примеры моков |
ci-cd-reference.md | ~164 | GitHub Actions воркфлоу, pre-commit хуки |
pack-metadata-reference.md | ~107 | Схема pack_metadata.json, категории, типы поддержки |
Итого: ~2 850 строк проверенных в бою знаний по разработке XSOAR.
Что можно создать
- Integrations — подключение XSOAR к внешним сервисам (REST API, базы данных, SIEM)
- Scripts — скрипты автоматизации для задач плейбуков
- Playbooks — YAML-воркфлоу реагирования на инциденты
- Classifiers/Mappers — приём инцидентов и маппинг полей
- Lists — общие списки данных (allow/deny-листы, конфигурационные данные)
- Incident Fields/Types — кастомная схема инцидентов
Ключевые возможности
- Строгое соблюдение воркфлоу — не позволит закоммитить непротестированный код
- Интеграция с demisto-sdk — validate, pre-commit, zip-packs с обходом известных багов
- Готовность к Marketplace — следует официальным соглашениям контент-репозитория Palo Alto
- Поддержка локальных пакетов — работает и с репозиториями content-ci-cd-template
- Управление версиями — автоматическое семантическое версионирование и release notes
- Контроль ASCII — обнаруживает UTF-8 символы, ломающие загрузку через demisto-sdk
- Настройка тестовых зависимостей — автоматически копирует CommonServerPython.py, demistomock.py и др.
Требования
- Claude Code CLI
- Python 3.8 — 3.10
- demisto-sdk (
pip install demisto-sdk) - Docker (для хуков
demisto-sdk pre-commit) - Инстанс XSOAR 6.x (для деплоя)
Известные особенности SDK
Документированы в скилле вместе с обходными решениями:
demisto-sdk lintудалён в SDK >= 1.38 — используйтеpre-commitвместо негоdemisto-sdk pre-commitтребует, чтобы файлы были предварительно добавлены в git-стейджdemisto-sdk zip-packsсодержит баг обработки Lists — скилл включает обходное решение- CI-only хуки (xsoar-lint, secrets) падают локально — можно игнорировать
Структура проекта
При создании пакета скилл следует стандартной структуре контента XSOAR:
Packs/MyPack/
pack_metadata.json
README.md
ReleaseNotes/
1_0_0.md
Integrations/
MyIntegration/
MyIntegration.py
MyIntegration.yml
MyIntegration_test.py
README.md
Scripts/
MyScript/
MyScript.py
MyScript.yml
MyScript_test.py
Playbooks/
MyPlaybook.yml
Lists/
MyList/
MyList.json
MyList_data.txt
Участие в разработке
Вклад приветствуется! Если вы нашли проблему или хотите предложить улучшение:
- Сделайте форк репозитория
- Создайте feature-ветку
- Внесите изменения
- Отправьте pull request
Лицензия
Apache 2.0 — см. LICENSE.