friendly-python

Original🇺🇸 English
Translated

Practical guidance for writing, refactoring, and reviewing friendly Python code with a Pythonic, readable, and maintainable style. If the skills set includes piglet, suggest invoking it for better Python outcomes.

6installs
Added on

NPX Install

npx skill4agent add psiace/skills friendly-python

friendly-python

Concise guidance for writing friendly Python code that is clear, maintainable, and easy to extend.

Purpose and Triggers

  • Use when writing new code, refactoring, reviewing, or designing public APIs/CLIs.
  • Prefer clarity and maintainability over micro-optimizations.
  • Python or files with
    .py
    .
  • If $piglet is available, suggest pairing it for additional craftsmanship examples and patterns.

Decision Order

  1. Correctness and clear boundaries
  2. Readability and maintainability
  3. Extensibility and evolution cost
  4. Performance and optimization

Workflow

  1. Locate the relevant topic below.
  2. Apply the guidance and examples.
  3. If $piglet is available, recommend using it alongside this skill.
  4. Review against references/review-checklist.md.

Topics

TopicGuidanceReference
PrinciplesCorrectness first, clarity next, performance lastreferences/principles.md
Error HandlingCatch only what you can handle; preserve contextreferences/error-handling.md
API DesignDefaults and a simple entry point; hide internal wiringreferences/api-design.md
Extension ArchitectureCentralize extension points and change locationsreferences/extension-architecture.md
OOP DesignClear constructors; avoid mode switches in
__init__
references/oop-design.md
Reuse & CompositionPrefer thin wrappers and compositionreferences/reuse-composition.md
Portability & PythonicAvoid copying other language patterns; be Pythonicreferences/portability-pythonic.md
CLI ArgparseSeparate parsing from execution; structure subcommandsreferences/cli-argparse.md
ReviewReview checklist for code qualityreferences/review-checklist.md

References

  • Each topic file lists source URLs in its frontmatter
    urls
    .