python-pro
Skill0 starsChanged 3 months agoMITView on GitHub
Use when building Python 3.12+ applications requiring type safety, async programming, or robust error handling. Generates type-annotated Python code, configures mypy in strict mode, writes pytest test suites with fixtures and mocking, and validates code with black and ruff. Invoke for type hints, async/await patterns, dataclasses, dependency injection, logging configuration, and structured error handling.
27 other projects use a version of this, 17 of them edited.
Adopted by
Most recently taken up by
- santiago-migoni/claude-skillsedited, first seen Nov 8, 2026
- dmoreq/agent-grimoiretheir own version, first seen Nov 8, 2026
- dirien/yet-another-agent-harnessedited, first seen Nov 8, 2026
- lsyamsiar/claude-skillsedited, first seen Nov 1, 2026
- codeApe-7/ai-agent-workflowGroupedited, first seen Nov 1, 2026
- hu465/claude-skills-edited, first seen Oct 25, 2026
Used with
Projects with it also use python-patterns, python-testing and 1 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
xenitV1Skillpython-patterns
Python development principles and decision-making. Framework selection, async patterns, type hints, project structure. Teaches thinking, not copying.
Also in 3 projects that use this
MicrosoftSkillpython-testing
Write and run Python tests for the VoxelPic library. USE FOR: adding new pytest test cases, understanding the Python API and test patterns, debugging Python test failures, or running the existing Python test suite.
Also in 3 projects that use this
StrayDragonSkillui-ux-pro-max
UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient.
Also in 4 projects that use this
Other versions27 projects use a version of this.
Word for word · 0
None found.
Edited · 17
- Jeffallan/claude-skills★ 12k91% same
- dirien/yet-another-agent-harness★ 1994% same
- codeApe-7/ai-agent-workflowGroup★ 1894% same
- kaustubhhiware/agent-skills-fullstack-development★ 1672% same
- PIXARTSeu/Synapse★ 994% same
- thesaifalitai/claude-setup★ 972% same
- nicolasestrem/antigravity-gemini-skills★ 819% same
- HK-hub/AgentSkills★ 694% same
- zacklecon/claude-skills★ 372% same
- IAbuElRuzz/AgentSkills★ 194% same
7 more not listed
Wrote their own version · 10
- jshsakura/awesome-opencode-skills★ 30same name
- belokonm/claude-supercode-skills★ 11same name
- Lee-Dongwook/E2E-Self-Heal★ 9same name
- xfstudio/skills★ 9same name
- marttp/my_agent_skills_I_use★ 4same name
- ai4brands-design/claude-skills★ 2same name
- bcastelino/agent-skills-kit★ 2same name
- cdpzyafk/skills★ 1same name
- dmoreq/agent-grimoire★ 0same name
- storlay/crypto-alert-api★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository24 other files it gives its agents.
- in-progress/AGENTS.mdAGENTS.md
- test-skills/AGENTS.mdAGENTS.md
- docx-processingSkill
- email-composerSkill
- fastapi-expertSkill
- fastapiSkill
- frontend-code-reviewSkill
- frontend-testingSkill
- laravel-boostSkill
- laravel-specialistSkill
- migrate-radix-to-baseSkill
- pdf-processingSkill
- php-specialistSkill
- react-expertSkill
- rust-engineerSkill
- seo-optimizerSkill
- shadcn-code-reviewSkill
- shadcnSkill
- tailwind-v4Skill
- tauri-developmentSkill
- tauri-v2Skill
- typescript-proSkill
- xlsx-processingSkill
- zustand-stateSkill
The file
We split this skill into the rules it gives an agent
10 rules. 1 is common, 8 are distinctive, and 1 is very specific to this project.
1
Common
Most of the 27 edited versions we read keep these.
8
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 34
If mypy fails: fix type errors reported and re-run before proceeding
- Distinctive: line 35
If tests fail: debug assertions, update fixtures, and iterate until green
- Distinctive: line 36
If ruff/black reports issues: apply auto-fixes, then re-validate
- Common: line 56
Test coverage exceeding 90% with pytest
- Very specific: line 57
Use X | None instead of Optional[X] (Python 3.12+)
- Distinctive: line 64
Use mutable default arguments
- Distinctive: line 67
Use bare except clauses
- Distinctive: line 69
Use deprecated stdlib modules (use pathlib not os.path)
- Distinctive: line 167
When implementing Python features, provide:
- Distinctive: line 169
Test file with pytest fixtures
“Common” is measured: kept by at least 6 in 10 of the 27 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Python Pro
Modern Python 3.13+ 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
- Analyze codebase — Review structure, dependencies, type coverage, test suite
- Design interfaces — Define protocols, dataclasses, type aliases
- Implement — Write Pythonic code with full type hints and error handling
- Test — Create comprehensive pytest suite with >90% coverage
- 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:
| Topic | Reference | Load When |
| Type System | references/type-system.md | Type hints, mypy, generics, Protocol |
| Async Patterns | references/async-patterns.md | async/await, asyncio, task groups |
| Standard Library | references/standard-library.md | pathlib, dataclasses, functools, itertools |
| Testing | references/testing.md | pytest, fixtures, mocking, parametrize |
| Packaging | references/packaging.md | poetry, 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 | Noneinstead ofOptional[X](Python 3.12+) - 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 configDataclass 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.12"
strict = true
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = trueClean mypy --strict output looks like:
Success: no issues found in 12 source filesAny 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:
- Module file with complete type hints
- Test file with pytest fixtures
- Type checking confirmation (mypy --strict passes)
- Brief explanation of Pythonic patterns used
Knowledge Reference
Python 3.12+, typing module, mypy, pytest, black, ruff, dataclasses, async/await, asyncio, pathlib, functools, itertools, Poetry, Pydantic, contextlib, collections.abc, Protocol
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

