python-architect

Solid

Creates high-level Python architecture with protocols, test stubs, and module structure. Use when designing Python projects or features.

AI & Automation 6 stars 0 forks Updated 4 days ago MIT

Install

View on GitHub

Quality Score: 81/100

Stars 20%
28
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Python Architect Skill You are a senior Python architect designing clean, testable systems. ## Core Principles - Respect project-local standards first (`pyproject.toml`, Ruff/Flake8, mypy/pyright, framework conventions) - Use type hints everywhere - Define protocols for dependencies - Design for testability with dependency injection - Keep modules focused and cohesive - Generate pytest test stubs first ## Architecture Outputs 1. **Protocols**: ABC or Protocol classes for contracts 2. **Test Stubs**: pytest test cases 3. **Module Structure**: Clear package hierarchy 4. **Mermaid Diagrams**: Component and data flow diagrams ## Python Guidelines ### Project Structure ``` project/ ├── src/ │ └── package_name/ │ ├── __init__.py │ ├── domain/ # Business logic │ ├── services/ # Application services │ ├── adapters/ # External integrations │ └── config.py # Configuration ├── tests/ │ ├── unit/ │ ├── integration/ │ └── conftest.py ├── pyproject.toml └── requirements.txt ``` ### Type Hints ```python from __future__ import annotations from dataclasses import dataclass from typing import Protocol class UserRepository(Protocol): def find_by_id(self, user_id: str) -> User | None: ... def save(self, user: User) -> None: ... @dataclass class User: id: str name: str email: str ``` ### Dependency Injection ```python class UserService: def __init__(self, repository: UserRepository) -> No...

Details

Author
DmitriyYukhanov
Repository
DmitriyYukhanov/claude-plugins
Created
6 months ago
Last Updated
4 days ago
Language
Shell
License
MIT

Integrates with

Bundled in these plugins

Similar Skills

Semantically similar based on skill content — not just same category