conventions

Enforce Python coding conventions with Ruff linting and Pyright type checking.

Updated Jan 28, 2026
One-click install
npx skills add https://github.com/mesca/claude-plugins --skill conventions-mesca
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: conventions
Source: https://github.com/mesca/claude-plugins/tree/main/plugins/wf/skills/conventions
Command: npx skills add https://github.com/mesca/claude-plugins --skill conventions-mesca

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Consistent coding conventions remove ambiguity and improve readability, maintainability, and collaboration across Python projects by standardizing structure, typing, logging, and documentation practices.

Core Features & Use Cases

  • Standardized project structure with a clear layout (src/, contracts/, models/, services/, interfaces/).
  • Enforced typing and Google-style docstrings to improve API clarity and tooling support.
  • Consistent logging, error handling, and code-review practices to boost reliability and maintainability.
  • Tooling guidance and automation for linting and type checking to catch issues early.

Quick Start

Start by aligning your project with the recommended src-layout, enabling proper typing, and applying the logging conventions described.

Frequently Asked Questions about conventions

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I standardize Python coding conventions across multiple modules?

To standardize Python coding conventions, adopt a src-layout and enforce typing, Google-style docstrings, and centralized logging practices. This removes ambiguity and improves readability, maintainability, and collaboration across your codebase.

What is the best way to enforce Python typing and linting in a src-layout project?

The best way to enforce Python typing and linting is configuring Ruff for linting and Pyright for type checking. These tools catch issues early and ensure code quality consistency across your contracts, core, models, services, and interfaces modules.

Do I need Ruff and Pyright to maintain Python coding conventions?

You need Ruff and Pyright to maintain Python coding conventions effectively. Configuring Ruff for linting and Pyright for type checking ensures code quality, enforces typing guidelines, and automates the detection of structural inconsistencies across your project.

How does centralized logging improve Python project maintainability?

Centralized logging improves Python project maintainability by standardizing error handling and logging practices across all modules. Consistent logging conventions boost reliability and ensure structured outputs across contracts, core, models, services, and interfaces.

Can I apply Google-style docstrings to existing Python services and interfaces?

Yes, you can apply Google-style docstrings to existing Python services and interfaces to improve API clarity and tooling support. Enforcing these docstrings alongside typing guidelines ensures consistent documentation practices across your entire project structure.

Why does my Python project structure need separate contracts and models directories?

Your Python project structure needs separate contracts and models directories to provide a clear layout that standardizes project structure. This separation enforces consistent coding conventions, improves readability, and standardizes structure across modules.