Skip to content

Python coding conventions and workflows for Tenzir projects. Covers uv-based tooling, Ruff formatting, strict Mypy type checking, and naming conventions.

  • 🐍 Coding Conventions: uv-based tooling, Ruff formatting, strict Mypy, naming conventions
  • 🔍 Pyright LSP Integration: Pre-configured language server for enhanced type checking and IDE support

Use the plugin manager UI in Claude Code.

  1. Run /plugin in Claude Code Enter
  2. Go to Marketplaces Tab
  3. Select + Add Marketplace Enter
  4. Type tenzir/claude-plugins Enter
  5. Install python from the plugin list
TypeNameDescription
Skillfollowing-conventionsTenzir Python coding standards and tooling setup. Use when editing .py files, running ruff/mypy/pytest, encountering pyproject.toml/uv.lock, or setting up a new Python project.

The skill activates automatically when editing .py files, running Ruff/Mypy/pytest, or working with pyproject.toml. It provides guidance on:

Type Annotations - Strict Mypy settings require explicit types:

# Before: Mypy rejects implicit Any and untyped definitions
def process(data, config=None):
return data.get("value")
# After: Explicit types, no implicit optional
def process(data: dict[str, str], config: Config | None = None) -> str:
return data.get("value", "")

Naming and Style - Enforces snake_case functions, PascalCase classes, CONSTANT_CASE constants. Uses Click for CLIs with kebab-case flags (--output-file).

Quality Gates - Run before committing:

Terminal window
uv run ruff check && uv run ruff format --check && uv run mypy && uv run pytest

Project Setup - For new projects, the skill provides ready-to-use pyproject.toml templates with Tenzir metadata, Hatchling build config, and standard tool configurations.