AgentSkillsCN

class-design

本代码库遵循Python类设计规范。在编写或审查类时,务必严格遵守这些规范,包括接口设计、继承机制、组合关系以及属性访问等关键要素。

SKILL.md
--- frontmatter
name: class-design
version: 1.1.0
description: Python class design conventions for this codebase. Apply when writing or reviewing classes including interfaces, inheritance, composition, and attribute access.
user-invocable: false
layers:
  rules: rules.md
  examples: examples.md

Class Design Conventions

Favor composition over inheritance. Use Protocol classes for interfaces and dependency injection for shared behavior.

Layers:

  • rules.md - Quick reference and decision flow
  • examples.md - Detailed code examples

Quick Reference

PrinciplePattern
InterfacesProtocol classes for duck typing
Shared behaviorDependency injection or mixins
Inheritance depthMaximum 2 levels
Framework base classesOK to inherit (BaseModel, nn.Module)
Concrete inheritanceForbidden—use mixins instead
Static methodsAvoid—use module-level functions
Internal APIsDesign for extension, not restriction
Private attributesOnly to avoid subclass naming conflicts
Getters/settersUse plain attributes instead

For rules: see rules.md For examples: see examples.md