Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add FortiumPartners/ensemble --skill developing-with-pythongit clone --depth 1 https://github.com/FortiumPartners/ensembleWrote 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/skills/fortiumpartners/ensemble/developing-with-python)<a href="https://agentmods.dev/skills/fortiumpartners/ensemble/developing-with-python"><img src="https://agentmods.dev/badge/skills/fortiumpartners/ensemble/developing-with-python/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/skills/fortiumpartners/ensemble/developing-with-python"><img src="https://agentmods.dev/badge/skills/fortiumpartners/ensemble/developing-with-python.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.00040 | $0.03388 |
| Opus 5.5 | $0.00016 | $0.01355 |
| Sonnet 5.5 | $0.00008 | $0.00678 |
| Haiku 4.5 | $0.00004 | $0.00339 |
Grade A, and why
developing-with-python scanned grade A with 0 findings 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 517 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Python Development Skill
Python 3.11+ development with modern patterns including type hints, async/await, FastAPI, and pytest.
Progressive Disclosure: This file provides quick reference patterns. For comprehensive guides, see REFERENCE.md.
Table of Contents
- When to Use
- Quick Start
- Project Structure
- Type Hints
- Dataclasses & Pydantic
- FastAPI Patterns
- Async Patterns
- Testing with pytest
- Error Handling
- Anti-Patterns
- CLI Commands
- Configuration
- See Also
When to Use
Loaded by backend-developer when:
pyproject.tomlorsetup.pypresentrequirements.txtwith Python dependencies.pyfiles in project root orsrc/- FastAPI, Django, Flask detected
Quick Start
Basic Module
from __future__ import annotations
from dataclasses import dataclass
from typing import TypeVar, Generic
T = TypeVar("T")
@dataclass
class Result(Generic[T]):
value: T
success: bool = True
error: str | None = None
@classmethod
def ok(cls, value: T) -> Result[T]:
return cls(value=value, success=True)
@classmethod
def fail(cls, error: str) -> Result[T]:
return cls(value=None, success=False, error=error) # type: ignore
FastAPI Endpoint
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel, Field
app = FastAPI(title="My API", version="1.0.0")
class UserCreate(BaseModel):
email: str = Field(..., pattern=r"^[\w\.-]+@[\w\.-]+\.\w+$")
name: str = Field(..., min_length=1, max_length=100)
class UserResponse(BaseModel):
id: int
email: str
name: str
@app.post("/users", response_model=UserResponse, status_code=201)
async def create_user(user: UserCreate) -> UserResponse:
return UserResponse(id=1, email=user.email, name=user.name)
What ships with it
12 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- examples/fastapi_app.example.py 14 KB runs code
- examples/patterns.example.py 16 KB runs code
- examples/README.md 2.9 KB
- README.md 4.8 KB
- REFERENCE.md 74 KB
- templates/cli.template.py 5.9 KB runs code
- templates/fastapi_router.template.py 4.8 KB runs code
- templates/module.template.py 4.1 KB runs code
- templates/pytest.template.py 8.6 KB runs code
- templates/README.md 3.4 KB
- templates/service.template.py 5.1 KB runs code
- VALIDATION.md 8.6 KB
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 · 517 lines · 40 tokens per session scan A ea3950b1aeaa
developing-with-python is a skill published in the GitHub repository FortiumPartners/ensemble (12 stars, last pushed 2d ago), licensed MIT. It adds 40 tokens to every session and 3,388 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
python-backend
Production Python async patterns including asyncio TaskGroup, FastAPI dependency injection and middleware, SQLAlchemy 2.0 async sessions, and database connection pool tuning. Python 3.11+ runtime concerns such as ExceptionGroup, cancellation semantics, and session rollback. Use when building async services, wiring…
fastapi
Use when building, reviewing, testing, securing or shipping a FastAPI / async Python service — routers, Pydantic v2 schemas, dependency injection, async SQLAlchemy 2.0, OAuth2/JWT, ASGITransport tests, production wiring. NOT language-level Python or packaging (that is python), NOT engine-level SQL (that is…
django
Use when building, reviewing, securing, testing or shipping a Django app — models, migrations, QuerySets/managers, FBV/CBV views, forms, the admin, settings split, and Django REST Framework (serializers, ModelViewSet, permissions). NOT async FastAPI/Pydantic services (that is fastapi), NOT Postgres schema/index work…
plugin-system
Generic plugin system for Python applications. Auto-discovery, validation, fault tolerance. Zero dependencies (Python stdlib only).
cli-builder
Expert guide for building command-line interfaces with Node.js (Commander, Inquirer, Ora) or Python (Click, Typer, Rich). Use when creating CLI tools, terminal UX, argument parsing, or interactive prompts.
fastapi-patterns
FastAPI production patterns — routing, dependency injection, background tasks, streaming, error handling, and async. Use when building or reviewing a FastAPI service.