
typing-exclusion-worker
✓ Official★ 844by sentry · part of getsentry/skills
Python typing exclusion worker: remove assigned mypy exclusion modules in small scoped batches, fix typing issues, run validation, and produce a structured…
Python typing exclusion worker: remove assigned mypy exclusion modules in small scoped batches, fix typing issues, run validation, and produce a structured…
Inspect the full instructions your agent will receiveExpandCollapse
This is the exact playbook injected into your agent when the skill activates — shown here so you can audit it before installing. You don't need to read it to use the skill.
by 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-worker
Download ZIPGitHub844
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)
-
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.
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.
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: ` `
- Ownership/domain: ` `
### Modules Removed From Exclusion
- ` `
- ` `
### Files Changed
- ` `
- ` `
### Key Typing Fixes
- ` `
- ` `
### Validation
- `mypy`: ` `
- `pre-commit --files`: ` `
- `pytest`: ` `
### Notes
- Remaining blockers: ` `
- Any new ignore entries: ` `
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.
npx skills add https://github.com/getsentry/skills --skill typing-exclusion-workerRun this in your project — your agent picks the skill up automatically.
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.