Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
jeffallan avatar

Python Pro

  • 6.4k installs
  • 10.9k repo stars
  • Updated May 20, 2026
  • jeffallan/claude-skills

Python Pro is an agent skill that generates type-annotated Python 3.11+ code, configures mypy strict, writes pytest suites, and validates with black and ruff.

About

Python Pro is a Jeff Allan language specialist skill for Python 3.11+ applications that need type safety, async I/O, and production-grade error handling. Invoke when writing fully annotated modules, configuring mypy strict mode, building pytest suites with fixtures and mocking, or validating with black and ruff before merge. The documented workflow analyzes structure and type coverage, designs protocols and dataclasses, implements Pythonic code with Google docstrings, tests toward ninety percent coverage, then validates until mypy, black, and ruff pass clean. Reference guides cover typing, asyncio task groups, standard library patterns, Poetry packaging, and testing tactics. Hard constraints forbid bare except clauses, mutable defaults, skipped public annotations, and deprecated os.path usage while requiring async for I/O, dataclasses over manual init, and pathlib for file work. Pairs with fastapi-expert for API layers and devops-engineer for deployment. Delivers typed modules, matching test files, and strict-check confirmation for each feature.

  • Five-step workflow: analyze, design interfaces, implement, test, validate with mypy strict plus black and ruff.
  • Mandatory type hints on all public APIs with X | None unions and Protocol-based interfaces.
  • pytest suites target greater than ninety percent coverage using fixtures, parametrize, and mocking.
  • async/await for I/O with dataclasses, context managers, and pathlib instead of deprecated patterns.
  • Topic reference guides for typing, asyncio, stdlib, testing, and Poetry packaging loaded on demand.

Python Pro by the numbers

  • 6,351 all-time installs (skills.sh)
  • +341 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #8 of 290 Python skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

python-pro capabilities & compatibility

Capabilities
analyze codebase structure dependencies and type · design protocols dataclasses and type aliases · implement async i/o with structured error handli · author pytest fixtures parametrize and mocking s · configure and run mypy strict black and ruff · load reference guides for typing asyncio testing
Use cases
testing · api development · refactoring
From the docs

What python-pro says it does

Modern Python 3.11+ specialist focused on type-safe, async-first, production-ready code.
SKILL.md
Test coverage exceeding 90% with pytest
SKILL.md
Run `mypy --strict`, `black`, `ruff`
SKILL.md
npx skills add https://github.com/jeffallan/claude-skills --skill python-pro

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs6.4k
repo stars10.9k
Security audit3 / 3 scanners passed
Last updatedMay 20, 2026
Repositoryjeffallan/claude-skills

How do I ship Python that passes strict mypy, high pytest coverage, and formatter or linter gates without ad hoc style drift?

Build type-safe Python 3.11+ apps with async I/O, mypy strict, pytest coverage, and black/ruff validation.

Who is it for?

Teams writing async Python services, libraries, or scripts that require complete type coverage and automated quality gates.

Skip if: Quick scripts without tests, legacy Python 2 codebases, or tasks better handled by framework-specific skills like fastapi-expert alone.

When should I use this skill?

User needs type hints, async/await patterns, dataclasses, pytest fixtures, mypy strict config, black/ruff validation, or Poetry project structure.

What you get

Typed modules, pytest test files with fixtures, and confirmed clean mypy strict, black, and ruff output for each implemented feature.

  • async function templates
  • gather concurrency blocks
  • error-handled coroutine batches

Files

SKILL.mdMarkdownGitHub ↗

Python Pro

Modern Python 3.11+ specialist focused on type-safe, async-first, production-ready code.

When to Use This Skill

  • Writing type-safe Python with complete type coverage
  • Implementing async/await patterns for I/O operations
  • Setting up pytest test suites with fixtures and mocking
  • Creating Pythonic code with comprehensions, generators, context managers
  • Building packages with Poetry and proper project structure
  • Performance optimization and profiling

Core Workflow

1. Analyze codebase — Review structure, dependencies, type coverage, test suite 2. Design interfaces — Define protocols, dataclasses, type aliases 3. Implement — Write Pythonic code with full type hints and error handling 4. Test — Create comprehensive pytest suite with >90% coverage 5. Validate — Run mypy --strict, black, ruff

  • If mypy fails: fix type errors reported and re-run before proceeding
  • If tests fail: debug assertions, update fixtures, and iterate until green
  • If ruff/black reports issues: apply auto-fixes, then re-validate

Reference Guide

Load detailed guidance based on context:

TopicReferenceLoad When
Type Systemreferences/type-system.mdType hints, mypy, generics, Protocol
Async Patternsreferences/async-patterns.mdasync/await, asyncio, task groups
Standard Libraryreferences/standard-library.mdpathlib, dataclasses, functools, itertools
Testingreferences/testing.mdpytest, fixtures, mocking, parametrize
Packagingreferences/packaging.mdpoetry, pip, pyproject.toml, distribution

Constraints

MUST DO

  • Type hints for all function signatures and class attributes
  • PEP 8 compliance with black formatting
  • Comprehensive docstrings (Google style)
  • Test coverage exceeding 90% with pytest
  • Use X | None instead of Optional[X] (Python 3.10+)
  • Async/await for I/O-bound operations
  • Dataclasses over manual __init__ methods
  • Context managers for resource handling

MUST NOT DO

  • Skip type annotations on public APIs
  • Use mutable default arguments
  • Mix sync and async code improperly
  • Ignore mypy errors in strict mode
  • Use bare except clauses
  • Hardcode secrets or configuration
  • Use deprecated stdlib modules (use pathlib not os.path)

Code Examples

Type-annotated function with error handling

from pathlib import Path

def read_config(path: Path) -> dict[str, str]:
    """Read configuration from a file.

    Args:
        path: Path to the configuration file.

    Returns:
        Parsed key-value configuration entries.

    Raises:
        FileNotFoundError: If the config file does not exist.
        ValueError: If a line cannot be parsed.
    """
    config: dict[str, str] = {}
    with path.open() as f:
        for line in f:
            key, _, value = line.partition("=")
            if not key.strip():
                raise ValueError(f"Invalid config line: {line!r}")
            config[key.strip()] = value.strip()
    return config

Dataclass with validation

from dataclasses import dataclass, field

@dataclass
class AppConfig:
    host: str
    port: int
    debug: bool = False
    allowed_origins: list[str] = field(default_factory=list)

    def __post_init__(self) -> None:
        if not (1 <= self.port <= 65535):
            raise ValueError(f"Invalid port: {self.port}")

Async pattern

import asyncio
import httpx

async def fetch_all(urls: list[str]) -> list[bytes]:
    """Fetch multiple URLs concurrently."""
    async with httpx.AsyncClient() as client:
        tasks = [client.get(url) for url in urls]
        responses = await asyncio.gather(*tasks)
        return [r.content for r in responses]

pytest fixture and parametrize

import pytest
from pathlib import Path

@pytest.fixture
def config_file(tmp_path: Path) -> Path:
    cfg = tmp_path / "config.txt"
    cfg.write_text("host=localhost\nport=8080\n")
    return cfg

@pytest.mark.parametrize("port,valid", [(8080, True), (0, False), (99999, False)])
def test_app_config_port_validation(port: int, valid: bool) -> None:
    if valid:
        AppConfig(host="localhost", port=port)
    else:
        with pytest.raises(ValueError):
            AppConfig(host="localhost", port=port)

mypy strict configuration (pyproject.toml)

[tool.mypy]
python_version = "3.11"
strict = true
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true

Clean mypy --strict output looks like:

Success: no issues found in 12 source files

Any reported error (e.g., error: Function is missing a return type annotation) must be resolved before the implementation is considered complete.

Output Templates

When implementing Python features, provide: 1. Module file with complete type hints 2. Test file with pytest fixtures 3. Type checking confirmation (mypy --strict passes) 4. Brief explanation of Pythonic patterns used

Knowledge Reference

Python 3.11+, typing module, mypy, pytest, black, ruff, dataclasses, async/await, asyncio, pathlib, functools, itertools, Poetry, Pydantic, contextlib, collections.abc, Protocol

Documentation

Related skills

FAQ

What quality gates does Python Pro enforce?

Type hints on all public APIs, pytest coverage above ninety percent, mypy --strict clean, plus black and ruff passing.

Which Python version does the skill target?

Python 3.11+ with X | None unions, async I/O for network work, dataclasses, and pathlib instead of os.path.

What deliverables should each implementation include?

A typed module, matching pytest test file, and confirmation that mypy strict, black, and ruff all pass.

Is Python Pro safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Pythonbackendtesting

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.