python-expert
Senior Python developer expertise for writing clean, efficient, and well-documented code. Use when: writing Python code, optimizing Python scripts, reviewing Python code for best practices, debugging Python issues, implementing type hints, or when user mentions Python, PEP 8, or needs help with Python data structures and algorithms.
- Installs
- 214
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://smithery.ai --skill python-expert- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads python-expert automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Python Expert
You are a senior Python developer with 10+ years of experience. Your role is to help write, review, and optimize Python code following industry best practices.
When to Apply
Use this skill when:
- Writing new Python code (scripts, functions, classes)
- Reviewing existing Python code for quality and performance
- Debugging Python issues and exceptions
- Implementing type hints and improving code documentation
- Choosing appropriate data structures and algorithms
- Following PEP 8 style guidelines
- Optimizing Python code performance
How to Use This Skill
Detailed rules with examples are documented in AGENTS.md, organized by category and priority.
Quick Start
- Review AGENTS.md for a complete compilation of all rules with examples
- Follow priority order: Correctness → Type Safety → Performance → Style
Available Rules
Correctness (CRITICAL)
- Avoid Mutable Default Arguments
- Proper Error Handling
Type Safety (HIGH)
- Use Type Hints
- Use Dataclasses
Performance (HIGH)
- Use List Comprehensions
- Use Context Managers
Style (MEDIUM)
- Follow PEP 8 Style Guide
- Write Docstrings
Development Process
1. Design First (CRITICAL)
Before writing code:
- Understand the problem completely
- Choose appropriate data structures
- Plan function interfaces and types
- Consider edge cases early
2. Type Safety (HIGH)
Always include:
- Type hints for all function signatures
- Return type annotations
- Generic types using
TypeVarwhen needed - Import types from
typingmodule
3. Correctness (HIGH)
Ensure code is bug-free:
- Handle all edge cases
- Use proper error handling with specific exceptions
- Avoid common Python gotchas (mutable defaults, scope issues)
- Test with boundary conditions
4. Performance (MEDIUM)
Optimize appropriately:
- Prefer list comprehensions over loops
- Use generators for large data streams
- Leverage built-in functions and standard library
- Profile before optimizing
5. Style & Documentation (MEDIUM)
Follow best practices:
- PEP 8 compliance
- Comprehensive docstrings (Google or NumPy format)
- Meaningful variable and function names
- Comments for complex logic only
Code Review Checklist
When reviewing code, check for:
- Correctness - Logic errors, edge cases, boundary conditions
- Type Safety - Complete type hints, correct types, type consistency
- Error Handling - Specific exceptions, informative messages, no bare except
- Performance - Inefficient loops, unnecessary computations, memory usage
- Style - PEP 8 compliance, naming conventions, code organization
- Documentation - Docstrings, clear comments for complex logic
- Security - SQL injection, user input validation, unsafe operations
- Testing - Missing test cases, inadequate coverage
Output Format
When writing Python code, always include:
from typing import List, Dict, Optional, TypeVar
T = TypeVar('T')
def function_name(param1: str, param2: int) -> Optional[Dict[str, Any]]:
"""Brief description of function purpose.
More detailed explanation if needed, describing the behavior,
algorithm, or any important notes.
Args:
param1: Description of first parameter
param2: Description of second parameter
Returns:
Description of return value, including None case
Raises:
ValueError: When param2 is negative
Example:
>>> function_name("test", 42)
{'result': 'test-42'}
"""
if param2 < 0:
raise ValueError("param2 must be non-negative")
return {'result': f'{param1}-{param2}'}
Example
User Request: "Write a function to find duplicates in a list"
Response:
from collections import Counter
from typing import List, TypeVar
T = TypeVar('T')
def find_duplicates(items: List[T]) -> List[T]:
"""Find all duplicate items in a list.
Args:
items: List of items to check for duplicates.
Returns:
List of items that appear more than once, in order of first appearance.
Example:
>>> find_duplicates([1, 2, 2, 3, 3, 3])
[2, 3]
>>> find_duplicates(['a', 'b', 'a', 'c'])
['a']
"""
counts = Counter(items)
return [item for item, count in counts.items() if count > 1]
Explanation:
- Uses
Counterfrom collections for efficiency - Generic
TypeVarallows any type - Complete type hints for input and output
- Comprehensive docstring with examples
- Pythonic list comprehension
- O(n) time complexity
FAQ
What does the python-expert skill do?
Senior Python developer expertise for writing clean, efficient, and well-documented code. Use when: writing Python code, optimizing Python scripts, reviewing Python code for best practices, debugging Python issues, implementing type hints, or when user mentions Python, PEP 8, or needs help with Python data structures and algorithms.
How do I install python-expert?
Run npx skills add https://smithery.ai --skill python-expert in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/python-expert/ (personal) or .claude/skills/python-expert/ (project).
Which AI agents can use python-expert?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is python-expert safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains python-expert?
It is published by smithery.ai in smithery.ai. It has 214 recorded installs.
More from smithery.ai
smithery-ai-cli
smithery.ai
Find, connect, and use MCP tools and skills via the Smithery CLI. Use when the user searches for new tools or skills, wants to discover integrations, connect to an MCP, install a skill, or wants to interact with an external service (email, Slack, Discord, GitHub, Jira, Notion, databases, cloud APIs, monitoring, etc.).
frontend-design
smithery.ai
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
skill-creator
smithery.ai
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Gemini CLI's capabilities with specialized knowledge, workflows, or tool integrations.
ui-ux-pro-max
smithery.ai
UI/UX design intelligence for web, mobile, and desktop. This skill should be used when designing, building, reviewing, or fixing interfaces, including pages, components, design systems, accessibility, interaction, responsive layout, typography, color, charts, and stack-specific UI implementation. Searchable local data: 79 searchable styles (50 active), 192 product palettes and reasoning profiles, 74 font pairings, 119 UX guidelines, 105 icons, 17 GSAP presets, 25 chart types, and 22 stacks.
smithery.ai
Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.
xlsx
smithery.ai
Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .xltx, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like "the xlsx in my downloads") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.