Agent skill

Polylith Migrate Convert Type Checker

by DavidVujic in DavidVujic/python-polylith

[Internal sub-skill of polylith-migrate-orchestrator (optional, runs only when opted in during polylith-migrate-discover).

MITAuto-check passedDevelopment

Install Polylith Migrate Convert Type Checker

skills CLI
$ npx skills add DavidVujic/python-polylith --skill polylith-migrate-convert-type-checker -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install DavidVujic/python-polylith polylith-migrate-convert-type-checker --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/DavidVujic/python-polylith.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/polylith/migrate-project/polylith-migrate-convert-type-checker .claude/skills/polylith-migrate-convert-type-checker && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
polylith-migrate-convert-type-checker
GitHub stars
553
Token cost
~1.3k tokens
SKILL.md length
579 words
Files
1
Skills in repo
37
Repo updated
First seen
Licence
MIT

At a glance

[Internal sub-skill of polylith-migrate-orchestrator (optional, runs only when opted in during polylith-migrate-discover).

  • Works in 6 steps: Identify the workspace's tool → Remove Old Configs and Dependencies → Clean Up Type Ignore Comments → …
  • Tasks that involve Type safety
  • SKILL.md covers Goal, When to Skip, Inputs and Steps, plus 4 more sections
  • Calls git

What it does

Polylith Migrate Convert Type Checker is an agent skill from DavidVujic/python-polylith. [Internal sub-skill of polylith-migrate-orchestrator (optional, runs only when opted in during polylith-migrate-discover). Do not load directly — load polylith-migrate-orchestrator first.] Align the project's type checker with the workspace's configured tool (whatever it is — mypy, pyright, ty, etc.). Removes project-specific config and consolidates settings into the workspace root.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Type safety. The repository describes itself as: Tooling support for the Polylith Architecture in Python. The licence is MIT.

When your agent uses it

  • Tasks that involve Type safety

Example prompts

  • “s type checker with the workspace”
  • “/polylith-migrate-convert-type-checker”

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Identify the workspace's tool
  2. Remove Old Configs and Dependencies
  3. Clean Up Type Ignore Comments
  4. Adopt Workspace Type-Checking Config
  5. Run the Workspace's Type-Checking Tool
  6. Update state.md

What it can do on your machine

Read from SKILL.md and the folder at commit a7a80f2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Polylith Migrate Convert Type Checker loads about 1.3k tokens when it runs. Until then it costs about 108 tokens; SKILL.md has 579 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~108
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from DavidVujic/python-polylith at commit a7a80f2, republished under its MIT licence (© DavidVujic). 579 words, ~1,310 tokens.

Download SKILL.mdSave it as .claude/skills/polylith-migrate-convert-type-checker/SKILL.md (or your agent's skills folder).
name
polylith-migrate-convert-type-checker
description
[Internal sub-skill of `polylith-migrate-orchestrator` (optional, runs only when opted in during `polylith-migrate-discover`). Do not load directly — load `polylith-migrate-orchestrator` first.] Align the project's type checker with the **workspace's** configured tool (whatever it is — mypy, pyright, ty, etc.). Removes project-specific config and consolidates settings into the workspace root.

Skill: polylith-migrate-convert-type-checker

Goal

Align the project with the workspace's type checker. This skill is not opinionated about ty — it reads the workspace's configured tool from the root pyproject.toml and aligns the project to that.

When to Skip

Skip this step if the project's TYPE_CHECKER in migration/<PROJECT>/state.md already matches the workspace's type-checking tool.

Inputs

From migration/<PROJECT>/state.md:

  • PROJECT_DIR
  • TYPE_CHECKER
  • RUN_TEST_CMD (optional: RUN_LINT_CMD, RUN_TYPECHECK_CMD)

All inputs from state.md are assumed to satisfy the validation rules in polylith-migrate-discover (### Validation rules). Validate before proceeding.

Steps

0. Identify the workspace's tool

Open the workspace root pyproject.toml and identify the configured type checker using the same detection table as polylith-migrate-discover ([tool.mypy] or mypy.ini → mypy, [tool.pyright] or pyrightconfig.json → pyright, [tool.ty] → ty). Record what you found — every step below refers to "the workspace's type checker" and means this tool, not necessarily ty.

If the workspace has no type checker configured at all, stop and ask the user how to proceed (introduce one? skip type-check alignment? abort the conversion?).

1. Remove Old Configs and Dependencies
  • Remove the following sections from pyproject.toml:
    • [tool.mypy], [[tool.mypy.overrides]], [mypy-*], [tool.pyright], [tool.pytype]
  • Remove standalone config files: mypy.ini, .mypy.ini, pyrightconfig.json.
  • Remove old type checker dependencies from pyproject.toml:
    • mypy, mypy-extensions, types-* stub packages, pyright, pytype, sqlalchemy-stubs, django-stubs.
2. Clean Up Type Ignore Comments
  • Remove # type: ignore[<mypy-code>] comments that reference mypy-specific error codes.
  • Leave comments that suppress real issues and document them in state.md.
3. Adopt Workspace Type-Checking Config
  • The workspace root pyproject.toml may define the type-checking configuration. The project inherits this config.
  • Add project-specific overrides if needed.
4. Run the Workspace's Type-Checking Tool
  • Run the workspace's type-checking tool to assess errors:
    • Same or fewer errors: No action needed.
    • New errors: Ask the user whether to fix, suppress, or adjust the config.
    • Missing stub errors: Silence with per-module ignores in the workspace's type-checking config.
5. Update state.md
  • Set TYPE_CHECKER to the workspace's type-checking tool.
  • Update RUN_TYPECHECK_CMD to use the workspace's type-checking command.

Verify

  • The workspace's type-checking tool runs cleanly (or remaining errors are user-approved).
  • RUN_TEST_CMD succeeds.
  • If set, RUN_LINT_CMD succeeds.
Show full SKILL.md (248 more words)Show less

Common failure modes

SymptomLikely causeRemediation
The workspace's checker surfaces type errors the old checker didn'tStricter type rules expose real bugs that were always there.Fix the bugs now where cheap (small handful). For systemic gaps, suppress per-module in the workspace's checker config and document the debt in state.md. Do not blanket-ignore at file scope.
Stub packages (types-*, django-stubs, sqlalchemy-stubs) were required by the old checker but the new one bundles its ownDependency carryover.Remove the stub packages from pyproject.toml. Re-run the workspace's checker to confirm it picks up its own stubs.
# type: ignore[<old-code>] comments still reference the old checker's error codesStep 2 missed some.Strip the [<code>] bracket. If the suppression is still needed, leave a bare # type: ignore with a comment explaining why; otherwise remove the suppression entirely.

Done When

  • No old type checker config files remain.
  • Old type checker dependencies are removed from pyproject.toml.
  • Stale # type: ignore comments referencing tool-specific codes are removed (or documented if intentionally kept).
  • TYPE_CHECKER in migration/<PROJECT>/state.md matches the workspace's type-checking tool.
  • The workspace's type-checking tool runs cleanly or known issues are documented in state.md.
  • Tests pass via the workspace's tooling.

Commit

After verification passes, commit this phase to the migration branch:

bash
git add -A && git commit -m "migrate(<PROJECT>): phase optional — convert-type-checker"

Substitute <PROJECT> from state.md. This is an optional skill off the numbered main line, so the commit uses the literal phase optional label (no <N>). Do not proceed without a clean commit — the per-phase commit is the rollback point for the next phase's failure-mode tables.

© DavidVujic, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/polylith/migrate-project/polylith-migrate-convert-type-checker of DavidVujic/python-polylith.

Open the folder on GitHubat commit a7a80f2

Compare with similar skills

Polylith Migrate Convert Type Checker next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Polylith Migrate Convert Type Checker compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Polylith Migrate Convert Type Checker this skillDavidVujic/python-polylith553—~1.3kAutomated safety check: PassMIT
Typescript Advanced Typesrolling-scopes/rsschool-app10k25 repos~4.2kAutomated safety check: PassMPL-2.0
Minimizing Ty Ecosystem Changesastral-sh/ruff50k—~4.6kAutomated safety check: PassMIT
RTK Rust Design Patternsrtk-ai/rtk83k—~1.9kAutomated safety check: PassApache-2.0
Kedro Babysitkedro-org/kedro11k—~4kAutomated safety check: PassCustom licence
Dignified Python Standardsdocling-project/docling69k—~1.5kAutomated safety check: PassApache-2.0

Similar skills

  • Typescript Advanced Types

    rolling-scopes/rsschool-app

    Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.

    10k GitHub starsUsed in 25 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Official

    A skill your agent uses when a user says "minimize this ty ecosystem change", "reproduce this ecosystem result", "investigate a primer difference", "investigate a mypyprimer difference"…

    50k GitHub stars~4.6k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Describes seven Rust design patterns for the RTK CLI filter modules, with when to use each, RTK examples, and notes on when a pattern is overkill.

    83k GitHub stars~1.9k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Kedro Babysit

    kedro-org/kedro

    Run Kedro's local lint / format / type-check / tests on changed files (uses the project's pre-commit hooks, ruff, mypy, pytest, lint-imports, detect-secrets, Make targets — in the right venv), or…

    11k GitHub stars~4k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Dignified Python Standards

    docling-project/docling

    Applies opinionated production Python conventions chosen by the project's Python version: modern type syntax, pathlib, explicit checks and interface guidance.

    69k GitHub stars~1.5k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Walks through adding a Wagmi feature across its layers: a Viem-based core action, TanStack Query options, and React and Vue bindings.

    6.8k GitHub stars~3.8k tokensUpdated 7 days ago
    DevelopmentAuto-check passed

More from DavidVujic/python-polylith

All 37 skills in this repo
  • Polylith Base Creation

    DavidVujic/python-polylith

    Create a Polylith base with poly create base — the entry point of a deployable application (HTTP API, CLI, message-queue consumer, AWS Lambda handler, GCP Cloud Function, scheduled job).

    553 GitHub stars~757 tokensUpdated 4 days ago
    Auto-check passed
  • Polylith Check

    DavidVujic/python-polylith

    Validate a Polylith workspace with poly check — the canonical CI gate.

    553 GitHub stars~972 tokensUpdated 4 days ago
    Auto-check passed
  • Polylith Component Creation

    DavidVujic/python-polylith

    Create a Polylith component with poly create component — a reusable, isolated brick implementing business logic, a feature, a domain module, or a capability.

    553 GitHub stars~800 tokensUpdated 4 days ago
    Auto-check passed
  • Polylith Dependency Management

    DavidVujic/python-polylith

    Add or manage third-party dependencies in a Polylith workspace.

    553 GitHub stars~643 tokensUpdated 4 days ago
    Auto-check passed
  • Polylith Dependency Visualization

    DavidVujic/python-polylith

    Visualize brick × brick dependencies with poly deps — find circular dependencies, inspect a brick's public interface, and detect interface-bypass violations.

    553 GitHub stars~906 tokensUpdated 4 days ago
    Auto-check passed
  • Polylith Diff

    DavidVujic/python-polylith

    List Polylith bricks whose implementation changed since a git tag using poly diff.

    553 GitHub stars~1.1k tokensUpdated 4 days ago
    Auto-check passed

Categories

Questions about Polylith Migrate Convert Type Checker

What does Polylith Migrate Convert Type Checker do?

[Internal sub-skill of polylith-migrate-orchestrator (optional, runs only when opted in during polylith-migrate-discover). Polylith Migrate Convert Type Checker is an agent skill from DavidVujic/python-polylith. [Internal sub-skill of polylith-migrate-orchestrator (optional, runs only when opted in during polylith-migrate-discover).

When should I use Polylith Migrate Convert Type Checker?

Polylith Migrate Convert Type Checker fits situations like: tasks that involve Type safety.

How do I install Polylith Migrate Convert Type Checker in Claude Code?

Run `npx skills add DavidVujic/python-polylith --skill polylith-migrate-convert-type-checker -a claude-code`. Or copy the skill folder (.agents/skills/polylith/migrate-project/polylith-migrate-convert-type-checker in DavidVujic/python-polylith) into .claude/skills/polylith-migrate-convert-type-checker in your project. Claude Code loads it when a task matches its description.

How do I install Polylith Migrate Convert Type Checker in Codex?

Run `npx skills add DavidVujic/python-polylith --skill polylith-migrate-convert-type-checker -a codex`. Or copy the skill folder (.agents/skills/polylith/migrate-project/polylith-migrate-convert-type-checker in DavidVujic/python-polylith) into .agents/skills/polylith-migrate-convert-type-checker in your project. Codex loads it when a task matches its description.

Can I use Polylith Migrate Convert Type Checker in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add DavidVujic/python-polylith --skill polylith-migrate-convert-type-checker -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/polylith-migrate-convert-type-checker, .gemini/skills/polylith-migrate-convert-type-checker, .github/skills/polylith-migrate-convert-type-checker and .opencode/skills/polylith-migrate-convert-type-checker in your project.

What does Polylith Migrate Convert Type Checker need to run?

Going by SKILL.md and its folder, Polylith Migrate Convert Type Checker needs the command-line tools its instructions call (git).

Does Polylith Migrate Convert Type Checker access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Polylith Migrate Convert Type Checker safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Polylith Migrate Convert Type Checker use?

Polylith Migrate Convert Type Checker is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Polylith Migrate Convert Type Checker use?

About 1.3k tokens (SKILL.md is roughly 5.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Polylith Migrate Convert Type Checker?

Skills that share tags, products or a category with Polylith Migrate Convert Type Checker: Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars), Minimizing Ty Ecosystem Changes (astral-sh/ruff, 50k stars), RTK Rust Design Patterns (rtk-ai/rtk, 83k stars) and Kedro Babysit (kedro-org/kedro, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Polylith Migrate Convert Type Checker?

DavidVujic (a GitHub user) maintains it in DavidVujic/python-polylith, which has 553 GitHub stars. The repository holds 37 skills in this directory. The repository was last updated on October 4, 2026.

Source: DavidVujic/python-polylith on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.