typing-exclusion-worker

oleh sentry

Pekerja pengecualian pengetikan Python: hapus modul pengecualian mypy yang ditetapkan dalam batch kecil, perbaiki masalah pengetikan, jalankan validasi, dan hasilkan…

npx skills add https://github.com/getsentry/skills --skill typing-exclusion-worker

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.

Lebih banyak skill dari sentry

generate-frontend-forms
sentry
Panduan untuk membuat formulir menggunakan sistem formulir baru Sentry. Gunakan saat mengimplementasikan formulir, kolom formulir, validasi, atau fungsionalitas penyimpanan otomatis.
official
sentry-snapshots-cocoa
sentry
Pengaturan lengkap Sentry Snapshots untuk proyek Apple/Cocoa. Gunakan saat diminta untuk "setup SnapshotPreviews", "setup Apple snapshot testing", "upload Apple snapshots to…
official
architecture-review
sentry
Tinjauan kesehatan basis kode setara staf. Menemukan modul monolitik, kegagalan diam, celah keamanan tipe, lubang cakupan pengujian, dan masalah keramahan LLM.
official
linear-type-labeler
sentry
Mengklasifikasikan isu Linear dan menerapkan label Tipe dari taksonomi label ruang kerja Sentry berdasarkan konten judul dan deskripsi setiap isu.
official
sentry-flutter-sdk
sentry
Pengaturan SDK Sentry lengkap untuk Flutter dan Dart. Gunakan saat diminta untuk "menambahkan Sentry ke Flutter", "menginstal sentry_flutter", "menyiapkan Sentry di Dart", atau mengonfigurasi error…
official
sentry-svelte-sdk
sentry
Pengaturan SDK Sentry lengkap untuk Svelte dan SvelteKit. Gunakan saat diminta untuk "menambahkan Sentry ke Svelte", "menambahkan Sentry ke SvelteKit", "menginstal @sentry/sveltekit", atau mengonfigurasi…
official
vercel-react-best-practices
sentry
Panduan optimasi performa React dan Next.js dari Vercel Engineering. Skill ini harus digunakan saat menulis, meninjau, atau merefaktor kode React/Next.js…
official
sentry-tanstack-start-sdk
sentry
Pengaturan SDK Sentry lengkap untuk TanStack Start React. Gunakan saat diminta untuk "menambahkan Sentry ke TanStack Start", "menginstal @sentry/tanstackstart-react", atau mengonfigurasi error…
official