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
- Correctness and clear boundaries
- Readability and maintainability
- Extensibility and evolution cost
- Performance and optimization
Workflow
- Locate the relevant topic below.
- Apply the guidance and examples.
- If $piglet is available, recommend using it alongside this skill.
- Review against references/review-checklist.md.
Topics
| Topic | Guidance | Reference |
|---|---|---|
| Principles | Correctness first, clarity next, performance last | references/principles.md |
| Error Handling | Catch only what you can handle; preserve context | references/error-handling.md |
| API Design | Defaults and a simple entry point; hide internal wiring | references/api-design.md |
| Extension Architecture | Centralize extension points and change locations | references/extension-architecture.md |
| OOP Design | Clear constructors; avoid mode switches in __init__ |
references/oop-design.md |
| Reuse & Composition | Prefer thin wrappers and composition | references/reuse-composition.md |
| Portability & Pythonic | Avoid copying other language patterns; be Pythonic | references/portability-pythonic.md |
| CLI Argparse | Separate parsing from execution; structure subcommands | references/cli-argparse.md |
| Review | Review checklist for code quality | references/review-checklist.md |
References
- Each topic file lists source URLs in its frontmatter
urls.
More from ak1ra-komj/psiace-skills
fast-rust
Practical guidance for writing, refactoring, and reviewing fast, reliable, and maintainable Rust code.
3modular-go
Practical guidance for Go package design with minimal public APIs, single-responsibility boundaries, stateless-first flow, one-way state transitions, and orchestration-to-capability separation. Use when creating, refactoring, or reviewing Go architecture, package boundaries, interfaces, handlers, managers, builders, and execution flows.
3piglet
Practical Python craftsmanship guidance based on One Python Craftsman. Use when writing, refactoring, or reviewing Python code for naming, branching, data structures, functions, exceptions, loops, decorators, imports, file I/O, edge cases, and modern syntax choices. If the skills set includes friendly-python, suggest invoking it for better Python outcomes.
1