К основному содержанию
скилл CX Codex

typing-exclusion-worker — скилл для Claude Code: как установить

Скилл убирает модули Python из списка исключений mypy в pyproject.toml, чинит типы и проверяет код тестами. Пригодится при параллельном закрытии долга по типизации.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add getsentry/skills --skill typing-exclusion-worker -a claude-code
Открыть на GitHub

Что делает typing-exclusion-worker

Скилл автоматизирует рутинный разбор исключений mypy в файле pyproject.toml. Агент удаляет указанный модуль из оверрайдов, запускает точечную проверку типов и исправляет возникшие ошибки. Правки вносятся через явные паттерны: сужение типов через isinstance, типизацию атрибутов классов и аккуратный доступ к связанным моделям.

Перед началом работы скилл требует чётких вводных: имя ветки, точный список модулей, границы домена команды и команды для валидации. Изменения строго ограничены назначенным модулем. Если типизация требует правок в модулях другой команды или в файле настроек возникает конфликт, агент немедленно прерывает работу и запрашивает решение человека.

Проверка идёт по шагам: сначала целевой mypy, затем pytest для затронутых файлов и запуск хуков pre-commit run --files. В финале формируется стандартизированный отчёт со списком изменённых файлов, описанием исправлений и статусом проверок.

Какие задачи решает

  • убрать назначенный модуль из оверрайдов исключений mypy в pyproject.toml
  • исправить ошибки типов через сужение union-типов и типизацию атрибутов
  • запустить выборочные проверки pytest и хуки pre-commit для изменённых файлов
  • составить структурированный отчёт по итогам закрытия пачки типизации

Примеры запросов агенту

  • Удали sentry.api.endpoints.user из списка исключений mypy в ветке typing/user-endpoints. Исправь ошибки типов и прогони pytest.
  • Убери модуль sentry.models.team из исключений в pyproject.toml, поправь аннотации через isinstance и проверь изменения через pre-commit.
  • Разбери модуль sentry.utils.auth: удали его оверрайд mypy, запусти валидацию и сформируй итоговый отчёт по шаблону.

Как установить typing-exclusion-worker

1Через Skills CLI (Vercel)

npx skills add getsentry/skills --skill typing-exclusion-worker -a claude-code

2Вручную: положить файлы

~/.claude/skills/typing-exclusion-worker/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/typing-exclusion-worker/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора20

presentation-creator Создаёт интерактивные слайды на React и Vite в стиле Sentry. Нужен для презентаций с реальными метриками, диаграммами и навигацией по слайдам. CX Codex +1 2 900установок django-perf-review Скилл проверяет Django-код на N+1 запросы, неограниченные queryset и отсутствующие индексы. Пригодится перед релизом или когда страница тормозит на больших таблицах. CX Codex +1 2 900установок django-access-review Скилл ищет IDOR и дыры в авторизации Django: проходит по вьюхам, DRF-вьюсетам и ORM-запросам и показывает, где проверок не хватает. CX Codex +1 2 700установок brand-guidelines Задаёт правила редактуры интерфейса и текстов в стиле Sentry: от лаконичных кнопок до ироничных пустых экранов. Пригодится при оформлении UI, ошибок и документации. CX Codex +1 2 500установок skill-writer Помогает проектировать, собирать и улучшать скиллы для ИИ-агентов по спецификации Agent Skills. Пригодится при оформлении новых навыков или рефакторинге старых промптов. CX Codex +1 2 500установок prompt-optimizer Скилл переписывает системные и агентские промпты, опираясь на набор тестовых случаев, а не на вкус. Пригодится, когда промпт уже есть, но ведёт себя нестабильно. CX Codex +1 2 300установок sred-project-organizer Структурирует годовой отчёт по проектам для программы SRED и создаёт карточки с подтверждениями в Notion. CX Codex +1 2 100установок document-api-endpoint Документирует и типизирует эндпоинты Sentry через drf-spectacular. Помогает устранить расхождения между схемой OpenAPI и реальным ответом API. CX Codex +1 1 200установок

Похожие

python siviter-xyz Задаёт агенту единый стиль Python: типизация, внедрение зависимостей, структура тестов и модулей. Пригодится, когда правки идут в существующий проект. CX Codex +1 349установок python-pro https://github.com/Jeffallan Скилл для написания типобезопасного Python 3.11+ с полной аннотацией, async-кодом и тестами. Генерирует код с type hints, настраивает mypy в строгом режиме, пишет pytest-тесты с фиксчурами и мокингом. CX Codex +1 8 800установок python-code-style Seth Hobson Скилл задаёт правила стиля Python, настройки линтеров, форматирования и документации. Пригодится для новых модулей, ревью и настройки проекта. CX Codex 16 456установок python-type-safety Seth Hobson Помогает добавлять типы в Python-код, писать дженерики и протоколы, а также настраивать строгую проверку через mypy или pyright. CX Codex 12 643установок python-code-quality laurigates Индексный скилл, который связывает линтинг, форматирование и проверку типов в один стек и показывает, к какому скиллу идти за деталями. CX Codex +1 1 000установок Automated Text Typing Every 5 Minutes with Python IcyMost Промпт превращает чат в Python-автоматизатора: он пишет скрипт, который сам печатает заданный текст через равные интервалы. Пригодится, когда нужно набирать одно и то же в чужом окне без рук. GP ChatGPT ★ 174 597звёзд репо

Рядом в теме «Языки программирования»

Все скиллы по теме «Языки программирования» →

Вопросы о typing-exclusion-worker

Как установить typing-exclusion-worker в Claude Code?

Выполните в терминале команду npx skills add getsentry/skills --skill typing-exclusion-worker -a claude-code.

Что делает typing-exclusion-worker?

Скилл точечно убирает модули из оверрайдов mypy в pyproject.toml, исправляет найденные ошибки типов, проверяет изменения тестами и хуками pre-commit, после чего отдаёт структурированный отчёт.

В каких случаях скилл останавливает работу и зовёт человека?

Агент прекращает выполнение, если исправление типов требует правок в коде другой команды, если в pyproject.toml возник неразрешимый конфликт исключений или если объём ошибок слишком велик и пачку нужно разделить.

Исходный текст

SKILL.md · Apache-2.0
---
name: typing-exclusion-worker
description: "Python typing exclusion worker: remove assigned mypy exclusion modules in small scoped batches, fix typing issues, run validation, and produce a structured completion summary. Use when running parallel typing-debt workers or when asked to remove modules from pyproject mypy exclusion overrides."
---

# Typing Exclusion Worker

## Purpose

Execute one assigned typing batch safely and predictably:

- remove only assigned modules from mypy exclusions,
- fix surfaced typing issues in scope,
- run required checks,
- return a consistent summary for the manager/orchestrator.

## Inputs Required

Before starting, confirm these inputs exist in the task prompt:

- worktree/branch name,
- exact module list to remove from exclusion,
- ownership/domain boundary,
- expected validation commands (if customized).

If any are missing, ask for them before editing.

## Scope Rules (Hard Constraints)

1. Only remove assigned module entries from the mypy exclusion list in `pyproject.toml`.
2. Keep code changes in assigned scope unless a direct dependency is required to pass typing/tests.
3. Do not expand to cross-team modules unless explicitly approved by the manager.
4. Avoid blanket `# type: ignore`; if unavoidable, use narrow `ignore[code]` with a short reason.

## Execution Workflow

1. **Apply exclusion change**

   - Remove assigned modules from the exclusion override in `pyproject.toml`.

2. **Run mypy on assigned scope**

   - Prefer targeted paths first for fast feedback.
   - Fix errors using explicit typing patterns (`isinstance` narrowing, accurate return types, typed class attrs, relation-safe model access).

3. **Run tests for touched area**

   - Execute targeted pytest for modified modules/tests.
   - Fix regressions before continuing.

4. **Run pre-commit on changed files**

   - Run `pre-commit run --files <changed files>`.
   - If hooks auto-fix files, rerun until clean.

5. **Final verification**
   - Re-run targeted mypy and tests after final edits.
   - Ensure no unrelated files were changed.

## Python Typing Best Practices

- Prefer precise types over `Any`.
- Use type narrowing on unions before attribute access.
- Keep method overrides signature-compatible with base classes.
- Annotate class attributes in tests/helpers when inference is weak.
- Use relation objects (`obj.related`) when stubs do not expose raw `*_id` attributes.

## Required Output Template

Return this exact structure at the end of each batch:

```markdown
## Batch Summary

- Branch/worktree: `<name>`
- Ownership/domain: `<team-or-domain>`

### Modules Removed From Exclusion

- `<module.path.one>`
- `<module.path.two>`

### Files Changed

- `<path>`
- `<path>`

### Key Typing Fixes

- `<short rationale + fix>`
- `<short rationale + fix>`

### Validation

- `mypy`: `<pass/fail + scope>`
- `pre-commit --files`: `<pass/fail>`
- `pytest`: `<pass/fail + scope>`

### Notes

- Remaining blockers: `<none or details>`
- Any new ignore entries: `<none or file + ignore code + reason>`
```

## Stop Conditions (Escalate to Manager)

Stop and report instead of widening scope when:

- fixes require touching another team/domain,
- exclusion conflicts in `pyproject.toml` cannot be resolved safely,
- error volume indicates batch is too large and should be split.

© getsentry · Apache-2.0 · getsentry/skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой