Generated banner for Typing Exclusion Worker
Generated logo for Typing Exclusion Worker

Typing Exclusion Worker

SentryOfficialPublished by Sentry

  • Skill
  • Workflow
  • Software development
  • Apache-2.0
  • No issues found

From the author

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.
— the description by Sentry

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

The Typing Exclusion Worker provides a systematic procedure for managing Python typing debt. It guides the agent through removing specific modules from mypy exclusion lists, addressing the resulting type errors, validating changes through tests and pre-commit hooks, and generating a standardized summary report. This skill is designed to be used in scoped batches to ensure manageable and verifiable code updates.

What it does

  • Removes assigned modules from mypy exclusion overrides in pyproject.toml
  • Fixes typing errors within the defined scope using explicit typing patterns
  • Executes targeted mypy checks and pytest suites for modified modules
  • Runs pre-commit hooks on changed files to ensure code quality
  • Produces a structured completion summary detailing changes and validation results
  • Escalates to a manager if scope expansion or complex conflicts arise

When to use it

  • When tasked with reducing typing debt by removing modules from mypy exclusions
  • When working in parallel with other agents on large-scale typing migrations
  • When you need a predictable, step-by-step process for fixing type errors in a specific domain
  • When you require a consistent reporting format for batch-based code updates

Advantages

  • Ensures changes remain within a defined ownership or domain boundary
  • Promotes the use of precise types over blanket ignores
  • Provides a clear, repeatable workflow for validation and testing
  • Standardizes reporting for easier management and oversight

Usage examples

“Remove the module 'auth.utils' from mypy exclusions and fix the resulting errors.”
The agent will remove the module from the exclusion list, perform necessary type fixes, run validation tests, and return a Batch Summary report.
“Process the next batch of typing exclusions for the billing domain on branch feature/typing-cleanup.”
The agent will identify the assigned modules, apply the changes, validate the code, and provide a structured summary of the work performed.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/getsentry/typing-exclusion-worker/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip typing-exclusion-worker.zip -d .agents/skills

Documentation by Sentry

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:

## 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.

Files

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Security

No issues found by our static scan· No issues found

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
Sentry
Publisher
Sentry (Official)
Source
getsentry/skills · skills/typing-exclusion-worker · commit e94f222
Licence
Apache License 2.0 (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Sentry.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download typing-exclusion-worker.zip