About friendly-python
A skill offering concise guidance for writing, refactoring, reviewing, and designing Python code and APIs. It prioritizes correctness, clarity, maintainability, and extension over premature optimization.
Key features
- 01Correctness-first design priorities
- 02Guidance for APIs and CLIs
- 03Error-handling and testing practices
- 04Architecture and composition advice
- 05Topic-specific reference files
- 06Review checklist
Use cases
- 01Writing new Python code
- 02Refactoring or reviewing Python files
- 03Designing public APIs and CLIs
- 04Structuring tests and application architecture
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ psiace/ skills --skill friendly-pythonAfter installing, type/friendly-pythonin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
agents/openai.yamlreferences/api-design.mdapplication-architecture.mdcli-argparse.mderror-handling.mdextension-architecture.mdkill-ai-slop.mdoop-design.mdportability-pythonic.mdprinciples.mdpython-conventions.mdreuse-composition.mdreview-checklist.mdtesting.mdDetails
From the project READMEfriendly-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 |
| Python Conventions | Keep signatures, naming, package APIs, and resources explicit | references/python-conventions.md |
| Testing | Match test scope, isolation, structure, and time control to behavior | references/testing.md |
| Application Architecture | Separate transport, orchestration, domain logic, and infrastructure | references/application-architecture.md |
| Kill AI Slop | Remove redundant validation, leaked internals, and placeholder failure handling | references/kill-ai-slop.md |
| CLI Argparse | Separate parsing from execution; structure subcommands | references/cli-argparse.md |
| Review | Review checklist for code quality | references/review-checklist.md |
References
- Topic files must list source URLs in frontmatter
urlsunless an explicit exception applies.
Comments
Markdown supported