typing-exclusion-workerby sentry
Python typing exclusion worker: remove assigned mypy exclusion modules in small scoped batches, fix typing issues, run validation, and produce a structured…
npx skills add https://github.com/getsentry/sentry-skills --skill typing-exclusion-workerTyping 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)
- Only remove assigned module entries from the mypy exclusion list in
pyproject.toml. - Keep code changes in assigned scope unless a direct dependency is required to pass typing/tests.
- Do not expand to cross-team modules unless explicitly approved by the manager.
- Avoid blanket
# type: ignore; if unavoidable, use narrowignore[code]with a short reason.
Execution Workflow
-
Apply exclusion change
- Remove assigned modules from the exclusion override in
pyproject.toml.
- Remove assigned modules from the exclusion override in
-
Run mypy on assigned scope
- Prefer targeted paths first for fast feedback.
- Fix errors using explicit typing patterns (
isinstancenarrowing, accurate return types, typed class attrs, relation-safe model access).
-
Run tests for touched area
- Execute targeted pytest for modified modules/tests.
- Fix regressions before continuing.
-
Run pre-commit on changed files
- Run
pre-commit run --files <changed files>. - If hooks auto-fix files, rerun until clean.
- Run
-
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*_idattributes.
Required Output Template
Return this exact structure at the end of each batch:
## 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.tomlcannot be resolved safely, - error volume indicates batch is too large and should be split.
More skills from sentry
sentry-cocoa-sdk
by sentry
Full Sentry SDK setup for Apple platforms (iOS, macOS, tvOS, watchOS, visionOS). Use when asked to "add Sentry to iOS", "add Sentry to Swift", "install…
sentry-create-alert
by sentry
Create Sentry alerts using the workflow engine API. Use when asked to create alerts, set up notifications, configure issue priority alerts, or build workflow…
sentry-dotnet-sdk
by sentry
Full Sentry SDK setup for .NET. Use when asked to "add Sentry to .NET", "install Sentry for C#", or configure error monitoring, tracing, profiling, logging, or…
sentry-fix-issues
by sentry
Find and fix issues from Sentry using MCP. Use when asked to fix Sentry errors, debug production issues, investigate exceptions, or resolve bugs reported in…
sentry-go-sdk
by sentry
Full Sentry SDK setup for Go. Use when asked to "add Sentry to Go", "install sentry-go", "setup Sentry in Go", or configure error monitoring, tracing, logging,…
sentry-ios-swift-setup
by sentry
Setup Sentry in iOS/Swift apps. Use when asked to add Sentry to iOS, install sentry-cocoa SDK, or configure error monitoring for iOS applications using Swift…
sentry-nextjs-sdk
by sentry
Full Sentry SDK setup for Next.js. Use when asked to "add Sentry to Next.js", "install @sentry/nextjs", or configure error monitoring, tracing, session replay,…
sentry-otel-exporter-setup
by sentry
Configure the OpenTelemetry Collector with Sentry Exporter for multi-project routing and automatic project creation. Use when setting up OTel with Sentry,…