python

Write clean, performant, idiomatic Python code.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "python" with this command: npx skills add htlin222/dotfiles/htlin222-dotfiles-python

Python Development

Write clean, performant, idiomatic Python code.

When to Use

  • Writing Python code

  • Refactoring Python projects

  • Performance optimization

  • Setting up Python tooling

  • Code review for Python

Python Best Practices

Code Style

  • Follow PEP 8

  • Use type hints (Python 3.9+)

  • Prefer f-strings over .format()

  • Use pathlib over os.path

Modern Features

Type hints

def process(data: list[dict]) -> dict[str, int]: ...

Dataclasses

from dataclasses import dataclass

@dataclass class User: name: str email: str active: bool = True

Context managers

from contextlib import contextmanager

@contextmanager def timer(): start = time.time() yield print(f"Elapsed: {time.time() - start:.2f}s")

Generators for memory efficiency

def read_large_file(path): with open(path) as f: yield from f

Error Handling

Custom exceptions

class ValidationError(Exception): def init(self, field: str, message: str): self.field = field self.message = message super().init(f"{field}: {message}")

Proper exception chaining

try: process() except ValueError as e: raise ProcessingError("Failed to process") from e

Project Structure

project/ ├── src/ │ └── package/ │ ├── init.py │ └── module.py ├── tests/ │ └── test_module.py ├── pyproject.toml └── README.md

Tooling Setup

pyproject.toml

[tool.ruff] line-length = 88 select = ["E", "F", "I", "UP"]

[tool.mypy] strict = true

[tool.pytest.ini_options] testpaths = ["tests"]

Testing Pattern

import pytest

@pytest.fixture def sample_data(): return {"key": "value"}

def test_process(sample_data): result = process(sample_data) assert result["status"] == "success"

Examples

Input: "Refactor this Python code" Action: Apply PEP 8, add type hints, simplify logic, improve error handling

Input: "Make this faster" Action: Profile, identify bottlenecks, use generators/caching, verify improvement

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

python

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

devops

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-review

No summary provided by upstream source.

Repository SourceNeeds Review