typing-exclusion-worker — скилл для Claude Code: как установить
Скилл убирает модули Python из списка исключений mypy в pyproject.toml, чинит типы и проверяет код тестами. Пригодится при параллельном закрытии долга по типизации.
npx skills add getsentry/skills --skill typing-exclusion-worker -a claude-codeЧто делает 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-code2Вручную: положить файлы
~/.claude/skills/typing-exclusion-worker/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/typing-exclusion-worker/
1Через Skills CLI (Vercel)
npx skills add getsentry/skills --skill typing-exclusion-worker -a codex2Вручную: положить файлы
.agents/skills/typing-exclusion-worker/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add getsentry/skills --skill typing-exclusion-worker -a cursor2Вручную: положить файлы
.cursor/skills/typing-exclusion-worker/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install getsentry/skills typing-exclusion-worker2Вручную: положить файлы
.github/skills/typing-exclusion-worker/SKILL.md1Через Skills CLI (Vercel)
npx skills add getsentry/skills --skill typing-exclusion-worker -a gemini-cli2Командой платформы
gemini skills install https://github.com/getsentry/skills --path skills/typing-exclusion-workerВручную: положить файлы
.devin/skills/typing-exclusion-worker/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add getsentry/skills --skill typing-exclusion-worker -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора20
Похожие
Рядом в теме «Языки программирования»
Все скиллы по теме «Языки программирования» →Вопросы о 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