Back to Skills

python-coder

verified

Modern Python 3.12+ development with uv, ruff, and production-ready practices. Routes to specialized skills for frameworks and testing.

View on GitHub

Marketplace

majestic-marketplace

majesticlabs-dev/majestic-marketplace

Plugin

majestic-python

Repository

majesticlabs-dev/majestic-marketplace
19stars

plugins/majestic-python/skills/python-coder/SKILL.md

Last Verified

January 24, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/majesticlabs-dev/majestic-marketplace/blob/main/plugins/majestic-python/skills/python-coder/SKILL.md -a claude-code --skill python-coder

Installation paths:

Claude
.claude/skills/python-coder/
Powered by add-skill CLI

Instructions

# Python-Coder

Modern Python 3.12+ development patterns.

## Related Skills (Use for Specific Needs)

| Skill | Use When |
|-------|----------|
| `fastapi-coder` | Building FastAPI services |
| `django-coder` | Django web applications |
| `pytest-coder` | Writing comprehensive tests |
| `python-debugger` | Debugging Python code |

## Modern Tooling Quick Reference

### Package Management (uv)

```bash
# Project setup
uv init my-project
uv add fastapi pydantic
uv add --dev pytest ruff mypy

# Run commands
uv run python main.py
uv run pytest
```

### Code Quality (ruff)

```toml
# pyproject.toml
[tool.ruff]
line-length = 100
target-version = "py312"

[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B"]

[tool.ruff.format]
quote-style = "double"
```

### Type Checking (pyright/mypy)

```toml
[tool.pyright]
pythonVersion = "3.12"
typeCheckingMode = "strict"
```

## Python 3.12+ Patterns

### Pattern Matching

```python
match command:
    case {"action": "create", "item": item}:
        create(item)
    case {"action": "delete", "id": int(id)}:
        delete(id)
    case _:
        raise ValueError("Unknown command")
```

### Modern Async

```python
async def fetch_all(urls: list[str]) -> list[dict]:
    async with aiohttp.ClientSession() as session:
        tasks = [fetch(session, url) for url in urls]
        return await asyncio.gather(*tasks)
```

### Type Hints

```python
from typing import TypeVar, Protocol

T = TypeVar("T")

class Repository(Protocol[T]):
    def get(self, id: int) -> T | None: ...
    def save(self, entity: T) -> T: ...
```

## Behavioral Standards

- PEP 8 + ruff formatting
- Type hints throughout
- Tests with pytest (>90% coverage target)
- Prefer stdlib before external deps
- Comprehensive error handling with custom exceptions

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
1693 chars