typing-exclusion-worker

bởi sentry

Nhân viên loại trừ kiểu Python: loại bỏ các mô-đun loại trừ mypy được chỉ định theo từng lô nhỏ, sửa lỗi kiểu, chạy xác thực và tạo ra một cấu trúc…

npx skills add https://github.com/getsentry/sentry-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.

Thêm skills từ sentry

sentry-cli
sentry
Hướng dẫn sử dụng Sentry CLI để tương tác với Sentry từ dòng lệnh. Sử dụng khi người dùng hỏi về xem issues, events, projects, organizations, thực hiện lệnh gọi API hoặc xác thực với Sentry qua CLI.
developmentapidevops
sentry-cocoa-sdk
sentry
Thiết lập đầy đủ Sentry SDK cho các nền tảng Apple (iOS, macOS, tvOS, watchOS, visionOS). Sử dụng khi được yêu cầu "thêm Sentry vào iOS", "thêm Sentry vào Swift", "cài đặt…
official
sentry-create-alert
sentry
Tạo cảnh báo Sentry bằng API công cụ quy trình làm việc. Sử dụng khi được yêu cầu tạo cảnh báo, thiết lập thông báo, cấu hình cảnh báo ưu tiên vấn đề, hoặc xây dựng quy trình làm việc…
official
sentry-dotnet-sdk
sentry
Thiết lập đầy đủ Sentry SDK cho .NET. Sử dụng khi được yêu cầu "thêm Sentry vào .NET", "cài đặt Sentry cho C#", hoặc cấu hình giám sát lỗi, theo dõi, hồ sơ, ghi nhật ký, hoặc…
official
sentry-fix-issues
sentry
Tìm và sửa các vấn đề từ Sentry bằng MCP. Sử dụng khi được yêu cầu sửa lỗi Sentry, gỡ lỗi sự cố sản xuất, điều tra ngoại lệ hoặc giải quyết lỗi được báo cáo trong…
official
sentry-go-sdk
sentry
Thiết lập đầy đủ Sentry SDK cho Go. Sử dụng khi được yêu cầu "thêm Sentry vào Go", "cài đặt sentry-go", "thiết lập Sentry trong Go", hoặc cấu hình giám sát lỗi, theo dõi, ghi log,…
official
sentry-ios-swift-setup
sentry
Thiết lập Sentry trong ứng dụng iOS/Swift. Sử dụng khi được yêu cầu thêm Sentry vào iOS, cài đặt SDK sentry-cocoa, hoặc cấu hình giám sát lỗi cho ứng dụng iOS sử dụng Swift…
official
sentry-nextjs-sdk
sentry
Thiết lập đầy đủ Sentry SDK cho Next.js. Sử dụng khi được yêu cầu "thêm Sentry vào Next.js", "cài đặt @sentry/nextjs", hoặc cấu hình giám sát lỗi, theo dõi, phát lại phiên,…
official