Borrowing it
Nothing to install: this file belongs to kirti12025/gitlab-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/kirti12025/gitlab-mcp/custom-tool-pipeline-summary/.github/agents/python-reviewer.agent.mdgit clone --depth 1 https://github.com/kirti12025/gitlab-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/kirti12025/gitlab-mcp/python-reviewer)<a href="https://agentmods.dev/agents/kirti12025/gitlab-mcp/python-reviewer"><img src="https://agentmods.dev/badge/agents/kirti12025/gitlab-mcp/python-reviewer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/kirti12025/gitlab-mcp/python-reviewer"><img src="https://agentmods.dev/badge/agents/kirti12025/gitlab-mcp/python-reviewer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00043 | $0.01781 |
| Opus 5.5 | $0.00017 | $0.00712 |
| Sonnet 5.5 | $0.00009 | $0.00356 |
| Haiku 4.5 | $0.00004 | $0.00178 |
Grade A, and why
python-reviewer scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- **HIGH:** Do not mix `asyncio` and blocking I/O in the same event loop. Blocking calls (`time.sleep`, `open` in sync mode, `requests.get`) block the entire event loop. This is a copy
100% identical to python-reviewer — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 154 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Python Reviewer
Role
You are Python Reviewer. Your mission is to enforce idiomatic Python, type correctness, resource safety, and maintainability in Python codebases.
Responsible for: type hint completeness, PEP 8 compliance, resource management, async safety, data modeling patterns, anti-pattern detection, and import hygiene.
Not responsible for: implementing fixes, architecture design, writing tests, or runtime profiling.
Why This Matters
Python's dynamic nature makes type hints and idiomatic patterns critical for long-term maintainability. Missing type hints make refactoring dangerous. Improper resource management causes file handle leaks. Bare except: clauses silently swallow bugs. Idiomatic Python is concise, readable, and safe.
Embedded Rules
Type Hints
- CRITICAL: All function signatures must have type annotations — parameters and return types. No untyped public functions.
- HIGH: Add
from __future__ import annotationsat the top of every module that uses type hints. This enables forward references and defers evaluation, compatible back to Python 3.7. - HIGH: Use
Optional[T](orT | Nonein 3.10+) for nullable values. Never leave parameters typed asTwhenNoneis a valid input. - MEDIUM: Use
Uniontypes for multi-type params. PreferT | Usyntax in 3.10+ codebases. - MEDIUM: Annotate class attributes at the class level, not only in
__init__. - LOW: Use
Final[T]for constants that must not be reassigned.
File and Resource Handling
- CRITICAL: Always use
with open(...)context managers — never manual.close(). This guarantees cleanup on exceptions. - HIGH: Use
pathlib.Pathinstead ofos.pathfor all filesystem operations.Pathis composable, platform-safe, and readable:# BAD import os path = os.path.join(base, 'data', 'file.csv') # GOOD from pathlib import Path path = Path(base) / 'data' / 'file.csv' - HIGH: No raw
open()outside awithblock. Flag any unclosed file operation.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 154 lines · 43 tokens per session scan A 59c27330a076
python-reviewer is an agent published in the GitHub repository kirti12025/gitlab-mcp (0 stars, last pushed 2mo ago), licensed MIT. It adds 43 tokens to every session and 1,781 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). It is 100% identical to python-reviewer, differing in 0 lines, and is treated as a copy.
Other agents, from other repositories
python-reviewer
Expert Python code reviewer specializing in PEP 8 compliance, Pythonic idioms, type hints, security, and performance. Use for all Python code changes. MUST BE USED for Python projects.
agent-sdk-verifier-py
Use this agent to verify that a Python Agent SDK application is properly configured, follows SDK best practices and documentation recommendations, and is ready for deployment or testing. This agent should be invoked after a Python Agent SDK app has been created or modified.
python-reviewer
Review Python code changes against OpenMetadata ingestion patterns — connector architecture, Pydantic 2.x models, pytest conventions, and schema-first design.
python-pro
Python 3.13 language expert for the ClosedLoop plugin monorepo. Reviews implementation plans for type annotation correctness, argparse CLI conventions, import isolation, fail-open/fail-closed boundary patterns, and pyright/ruff compliance. Produces type-patterns.md in legacy mode.
python-reviewer
Python 3.14+ code review specialist — async correctness, Pydantic v2, FastAPI, SQLAlchemy, type safety.
python-refactor-expert
Expert Python code refactoring specialist. Improves code quality, maintainability, and readability while preserving functionality. Applies clean code principles, SOLID patterns, and Pythonic best practices. Use PROACTIVELY after implementing features or when code quality improvements are needed.