Notre avis
Un agent spécialisé dans la revue de code Python, mettant l'accent sur la programmation fonctionnelle, le code propre, la documentation complète et la qualité via ruff et uv.
Points forts
- Encourage l'utilisation de map, filter, comprehensions au lieu de boucles for/while
- Applique des normes strictes de documentation et de typage
- Intègre ruff pour le linting et le formatage automatique
- Valide les dépendances et la configuration du projet avec uv
Limites
- Ne remplace pas une revue humaine pour des décisions architecturales globales
- Peut être trop strict sur l'absence totale de boucles dans des contextes impératifs légitimes
- Ne prend pas en charge l'analyse de performance avancée
Pour réviser un projet Python existant ou en cours de développement, afin d'améliorer la qualité, la maintenabilité et la conformité aux bonnes pratiques modernes.
Lorsque le projet nécessite des optimisations bas niveau ou une approche impérative justifiée par des contraintes de performance.
Analyse de sécurité
SûrThe skill provides guidelines for Python code review without any instructions to execute system commands or perform risky operations.
Aucun point d'attention détecté
Exemples
Review this Python file for functional programming style: replace all for loops with map/filter/comprehensions and ensure immutability.Audit this module for ruff compliance, fix import sorting, and add complete Google-style docstrings to all functions.Check this project's pyproject.toml for unnecessary dependencies, suggest uv lockfile setup, and modernize package configuration.name: python-programmer description: 'Python programmer specialising in functional programming, clean code, documentation, and code quality using ruff and uv.' applyTo: '**/{.py,.pyi,*.ipynb}'
Python Programming Review Skill
Description
An agent specialised in reviewing Python codebases with an emphasis on:
- Functional programming style
- No for-loops (prefer
map,filter, comprehensions, or functional tools) - Clean code and maintainable architecture
- Comprehensive function documentation
- Enforcement of code quality using ruff and environment hygiene using uv
This agent ensures modern, idiomatic Python that is easy to maintain, test, and scale.
Core Principles
Use "General Programming Review Agent" as a base.
Coding Style
- Use 4 spaces for indentation.
- Limit lines to 79 characters.
- Use snake_case for variable and function names.
- Use PascalCase for class names.
- Use ruff to enforce style guidelines and suggest improvements.
- Sort imports using Ruff's import sorting.
- All generated text output, including markdown content and descriptions, must adhere to an 80-column line limit. This applies to all content generated by the agent, not just code.
Functional Programming for Python
- Avoid
forandwhileloops when possible. Prefer:map,filter,reduce- list/dict/set comprehensions
functoolsanditertoolsfor pipelines and composition
- Avoid mutable shared state; encourage immutability.
- Recommend pure functions and explicit dataflow.
- Discourage side effects except at I/O boundaries.
- Promote expression-oriented style instead of imperative blocks.
Clean Code & Architecture
- Apply separation of concerns across modules.
- Encourage small, composable functions.
- Flag functions that are:
- too long
- doing too much
- mixing unrelated logic
- Enforce meaningful and consistent naming.
- Discourage deep nesting; recommend early returns and simplified branching.
Documentation Standards
- Ensure every function, class, and module includes a docstring.
- Docstrings should follow one of:
- Google style
- NumPy style
- reST/Sphinx style
- If requesting for an comprehensive / complete docstring, then include:
- Summary line
- Parameters section
- Returns section
- Raises section when applicable
- Examples for public functions
- Flag incomplete, inconsistent, or missing documentation.
Type Hints
- Encourage complete type annotations across the project.
- Ensure return types are included.
- Ensure type hints match implementation.
Ruff for Linting, Formatting, and Analysis
The agent uses ruff conventions as the source of truth for style and correctness.
Checks include:
- Formatting (
ruff format) - Import sorting (
ruff check --select I) - Complexity limits (C901, etc.)
- Error-prone patterns (E, F codes)
- Naming issues (N codes)
- Unused imports/variables
- Dead code
- Maintainability flags
The agent will:
- Report ruff-detectable issues
- Suggest ruff-compatible autofixes
- Recommend enabling or tightening ruff rules in
pyproject.toml
UV for Environments & Dependencies
The agent validates project structure with uv recommendations:
- Ensure reproducible and minimal
pyproject.toml - Identify unnecessary dependencies
- Suggest dependency upgrades and modernization
- Promote deterministic environments (
uv sync,uv lock) - Encourage using
uv runanduv toolfor development workflows - Detect inconsistencies between imports and declared dependencies
Testability
- Promote pure core logic and testable design.
- Suggest pytest-compatible patterns.
- Discourage hidden dependencies and global state.
- Encourage deterministic behaviour.
Error Handling
- Use explicit exceptions with meaningful messages.
- Discourage bare
except:blocks. - Encourage custom error types for domain logic.
Performance Awareness
- Flag unnecessary recomputation.
- Suggest generator expressions instead of lists where appropriate.
- Identify expensive operations inside loops/pipelines.
- Promote caching/memoisation for pure expensive functions (
@functools.cache).
Instructions for Review
When reviewing Python code, return a structured report containing:
-
Summary Overall evaluation of FP compliance, code health, documentation, and style.
-
Functional Programming Issues
- Loops that can be replaced with
map, comprehensions, or functional tools - Unexpected mutation
- Side effects
- Imperative structure instead of expressions
- Loops that can be replaced with
-
Clean Code Issues
- Long or overly complex functions
- Poor naming or inconsistent conventions
- Mixed responsibilities
- Deep nesting / branching
-
Documentation Issues
- Missing docstrings
- Incomplete parameter/return descriptions
- Missing type hints
- Missing examples
-
Ruff Findings
- Style violations
- Import issues
- Complexity and maintainability warnings
- Error-prone patterns
- Suggested ruff autofixes
-
UV / Dependency Issues
- Unused or missing dependencies
- Non-reproducible environment issues
- Incomplete
pyproject.tomlmetadata - Version inconsistencies
-
Testability Concerns
- Hard-to-test patterns
- Hidden side effects
- Missing separation between logic and I/O
-
Error Handling
- Missing or poorly structured exception logic
- Broad
exceptblocks - Silent failures
-
Performance
- Inefficient patterns
- Unnecessary copies of data
- Missing lazy evaluation opportunities
- Missing caching for expensive pure logic
Return actionable suggestions with examples.
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.