Modern Python 3.12+ patterns your AI agent should use. Type hints with X | Y syntax, Pydantic v2,
uv package manager, match statements, pathlib, pyproject.toml, TaskGroup, and PEP 695
generics.
AI coding assistants generate
from typing import List, Union, Optional, use Pydantic v1 decorators, createsetup.py, and reach foros.pathinstead ofpathlib. This plugin keeps your agent on Python 3.12+ patterns.
npx skills add ofershap/python-best-practicesOr copy skills/ into your .cursor/skills/ or .claude/skills/ directory.
| Type | Name | Description |
|---|---|---|
| Skill | python-best-practices |
15 rules for type hints, Pydantic v2, uv, pathlib, match/case, TaskGroup, and more |
| Rule | best-practices |
Always-on behavioral rule that enforces Python 3.12+ patterns |
| Command | /audit |
Scan your codebase for outdated Python patterns |
| What the agent writes | What Python 3.12+ uses |
|---|---|
from typing import List, Union, Optional |
list[str], X | Y, X | None |
@validator, @root_validator |
field_validator, model_validator (Pydantic v2) |
class Config: in Pydantic models |
model_config = ConfigDict(...) |
os.path.join(), string paths |
pathlib.Path for all file operations |
setup.py, requirements.txt |
pyproject.toml with uv |
TypeVar("T") + Generic[T] |
def f[T](x: T) -> T (PEP 695) |
asyncio.gather() |
TaskGroup for structured concurrency |
- fastapi-best-practices - FastAPI async patterns, Depends(), project structure
- typescript-best-practices - TypeScript 5.x strict patterns
If this helped your workflow, a star helps others find it.
MIT