Claude Info
Исследования

Риторический анализ

bastien-gallay/rhetorical-analysis-skill

Claude Skill для риторического и эпистемологического анализа статей, речей и аргументативных текстов. Поддерживает модель Тулмина, тест CRAAP, каталог логических ошибок и экспорт отчётов в XLSX, JSON, Markdown.

Установка

terminal
bash
git clone https://github.com/bastien-gallay/rhetorical-analysis-skill.git

README

Rhetorical Analysis Skill

GitHub Release

Скилл Claude для риторического и эпистемологического анализа статей, речей и аргументативных текстов.

Возможности

  • Анализ по модели Тулмина: декомпозиция аргументов на тезис, основания, гарант, поддержку, квалификатор и опровержение
  • Тест CRAAP: оценка надёжности источника (актуальность, релевантность, авторитетность, точность, цель)
  • Обнаружение логических ошибок: выявление fallacy из расширенного каталога
  • Генерация XLSX-отчётов: экспорт структурированного анализа в формат Excel

Примеры данных

Репозиторий содержит примеры файлов анализа — синтетические (созданные для демонстрации) или материалы из общественного достояния:

ФайлСодержимоеЛицензия
assets/example_analysis.jsonСинтетическая статья об urban mobilityCC0 (Public Domain)
assets/example_ddhc_1789.jsonДекларация прав человека 1789 годаPublic Domain

Эти примеры демонстрируют формат анализа без каких-либо проблем с авторскими правами. Для анализа собственных статей см. документацию по JSON Schema.

Примечание: директория benchmark/ (если присутствует) может содержать анализы материалов, защищённых авторским правом, и исключена из распространяемого пакета и git-трекинга.

Загрузка

Готовые архивы .skill доступны для скачивания на странице GitHub Releases.

Шаги установки

  1. Перейдите на страницу Releases
  2. Скачайте последний файл .skill (например, rhetorical-analysis-0.1.0.skill)
  3. Используйте файл .skill в совместимом с Claude приложении

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

Установка для разработки

uv sync --all-extras

Использование

Генерация отчёта анализа

bash
uv run python scripts/generate_analysis.py input.json output.[xlsx|json|md] --format [xlsx|json|md]

Примеры:

bash
uv run python scripts/generate_analysis.py analysis.json rapport_analyse.xlsx --format xlsx
uv run python scripts/generate_analysis.py analysis.json analysis_output.json --format json
uv run python scripts/generate_analysis.py analysis.json rapport.md --format md

Упаковка скилла

Скрипт package_skill.py валидирует и упаковывает скилл для распространения.

bash
# Создать распространяемый архив .skill
uv run python scripts/package_skill.py

# Предпросмотр файлов без создания архива
uv run python scripts/package_skill.py --dry-run

# Вывод в указанную директорию
uv run python scripts/package_skill.py --output dist/

Валидация

Перед упаковкой скрипт валидирует SKILL.md:

  • Требует YAML frontmatter с полями name и description
  • Ограничение: не более 500 строк

Исключаемые файлы

Следующие паттерны по умолчанию исключаются из архива:

КатегорияПаттерны
Контроль версий.git/, .gitignore
Python.venv/, __pycache__/, *.egg-info/, *.pyc, *.pyo
Тестированиеtests/, .pytest_cache/
IDE/редакторы.claude/, .cursor/, .vscode/, .idea/, .agent/, .opencode/, .github/
Линтеры.ruff_cache/, .mypy_cache/, .markdownlint.json
Сборкаuv.lock
Разработкаopenspec/, docs/, CLAUDE.md, AGENTS.md
Данныеbenchmark/ (может содержать материалы с авторскими правами)
ОС.DS_Store

Результат

Архив именуется по шаблону {skill-name}-{version}.skill, например rhetorical-analysis-0.1.0.skill.

Разработка

Запуск тестов

uv run pytest tests/ -v

Структура проекта

text
.
├── SKILL.md              # Точка входа скилла (читается Claude)
├── scripts/              # Python-скрипты
│   ├── generate_analysis.py
│   └── package_skill.py
├── references/           # Справочная документация
│   ├── fallacies-catalog.md
│   └── existing-frameworks-and-tools.md
├── assets/               # Примеры файлов и шаблоны
│   ├── example_analysis.json    # Синтетический пример (CC0)
│   ├── example_ddhc_1789.json   # Пример из общественного достояния
│   └── SCHEMA.md                # Документация формата JSON
├── benchmark/            # Данные для бенчмарков (не распространяются)
└── tests/                # Юнит-тесты

Создание релиза (для мейнтейнеров)

Релизы автоматизированы через GitHub Actions при пуше тегов версий.

Процесс релиза

  1. Обновите версию в pyproject.toml до нужного значения (например, 0.1.0)

  2. Зафиксируйте изменения и запушьте в основную ветку

  3. Создайте и запушьте тег с номером версии:

    bash
    git tag v0.1.0
    git push origin v0.1.0
  4. GitHub Actions автоматически:

    • Запускает скрипт упаковки (scripts/package_skill.py)
    • Создаёт GitHub Release с именем тега
    • Загружает архив .skill как ресурс релиза

Соглашения по тегам

  • Стабильные релизы: v<major>.<minor>.<patch> (например, v1.0.0, v0.2.1)
  • Предрелизы: суффикс -alpha, -beta или -rc (например, v0.1.0-alpha, v1.0.0-rc1)
    • Предрелизы автоматически помечаются соответствующим образом на GitHub

Согласованность версий

Убедитесь, что версия Git-тега совпадает с полем version в pyproject.toml:

  • Тег v0.1.0 должен соответствовать version = "0.1.0" в pyproject.toml

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