python-best-practices

python-best-practices is a skill for Claude Code, Codex from Casper-Studios/casper-marketplace. It costs 69 tokens per session (645 once invoked), scanned A, original, MPL-2.0.

A set of conventions for Python 3.13 and newer application and library code. It covers typing, validation, package structure, exceptions, asynchronous resources, pagination, and serialized input.

In plain words
What is it for?
Use it when writing or reviewing Python typing, protocols, generics, optional values, exceptions, data validation, imports, packages, async resources, or async pagination.
Why use it?
It helps keep Python interfaces precise without unnecessary annotations or setup. It also keeps untrusted data and resource ownership handled at clear boundaries.

Skill for Claude CodeCodex

Part of the stack-patterns plugin — 10 skills shipped together

Install

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.

agentmods
npx agentmods add skills/casper-studios/casper-marketplace/python-best-practices
Any agent
npx skills add Casper-Studios/casper-marketplace --skill python-best-practices
Clone the repo
git clone --depth 1 https://github.com/Casper-Studios/casper-marketplace

Made for: Claude Code, Codex.

Or install stack-patterns, the plugin that ships this one along with the rest of its 10 skills.

Wrote 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.

agentmods badge for python-best-practices

README.md
[![agentmods](https://agentmods.dev/badge/skills/casper-studios/casper-marketplace/python-best-practices.svg)](https://agentmods.dev/skills/casper-studios/casper-marketplace/python-best-practices)
Your own site
<a href="https://agentmods.dev/skills/casper-studios/casper-marketplace/python-best-practices"><img src="https://agentmods.dev/badge/skills/casper-studios/casper-marketplace/python-best-practices.svg" alt="Measured on agentmods" height="20"></a>
Per session 69 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 645 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00069 $0.00645
Opus 5 $0.00034 $0.00322
Sonnet 5 $0.00014 $0.00129
Haiku 4.5 $0.00007 $0.00064

Measured 4d ago against content hash c5eed759200e, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

python-best-practices 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 4d 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.

plugins/engineering/stack-patterns/skills/python-best-practices/SKILL.md · 34 lines

How it starts

The opening of the file, as written. The whole thing — 34 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Python Best Practices

This skill applies modern Python mechanisms without adding annotation or packaging ceremony. It favors inference, precise structural contracts, explicit runtime validation, side-effect-free imports, and context-managed resource ownership.

References

Read as many linked references as are relevant to the current task before writing or reviewing Python.

  • Let the checker infer obvious implementation results; add annotations only when inference cannot express the contract.
  • Parse serialized input once at the controlled boundary so untrusted mappings do not spread inward.
  • Depend on the smallest required behavior with protocols, not a vendor's concrete client.
  • In Python 3.13+, express caller-relevant relationships with PEP 695 generics, avoiding module-level TypeVar declarations and needless generics.
  • Make a new finite-state member a type-checking failure with exhaustive handling.
  • Narrow optional values before use so the owning layer—not a cast or fabricated fallback—decides whether absence is preserved or rejected.
  • Do not turn missing required data into a plausible value; preserve absence or fail at the owning boundary.
  • Keep required runtime checks active under optimization; do not use assertions for validation.
  • Catch only expected exceptions at the operation that raises them through narrow exception handling.
  • Keep imports inert and consumer-facing names deliberate with explicit public exports.
  • Prevent checkout-dependent imports by following the Python naming and src layout.
  • Publish intentional inline types with py.typed, reserving third-party stubs for dependencies that lack complete inline types instead of adding markers merely to silence diagnostics.
  • Make async cleanup inseparable from acquisition with async context managers.
  • Preserve page boundaries and consumer control over remote traversal through async pagination.
  • Give every independently buildable distribution its own declared metadata and direct dependencies.
  • Make packaging errors visible by not mutating import paths.

Read the full file on GitHub · 34 lines

Changes

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.

  1. 4d ago First seen · 34 lines · 69 tokens per session scan A c5eed759200e

Subscribe to this mod's changes

python-best-practices is a skill published in the GitHub repository Casper-Studios/casper-marketplace (12 stars, last pushed 17d ago), licensed MPL-2.0. It adds 69 tokens to every session and 645 once invoked, about $0.0003 per session on Opus 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-08-30.

Related

Other skills, from other repositories

bump-dependency

Bumps a Python package dependency across Home Assistant Core integrations, regenerates core requirement files, runs verification tests and prek lint, and prepares a pull request with proper release/compare links.

home-assistant/core · 42 tokens

mem0-vercel-ai-sdk

Mem0 provider for Vercel AI SDK (@mem0/vercel-ai-provider). TRIGGER when: user mentions "vercel ai sdk", "@mem0/vercel-ai-provider", "createMem0", "retrieveMemories", "addMemories", "getMemories", "searchMemories", "mem0 vercel", "AI SDK provider", "AI SDK memory", or is using generateText/streamText with mem0. Also…

mem0ai/mem0 · 146 tokens

schema-exploration

Lists tables, describes columns and data types, identifies foreign key relationships, and maps entity relationships in a database. Use when the user asks about database schema, table structure, column types, what tables exist, ERD, foreign keys, or how entities relate.

langchain-ai/deepagents · 57 tokens

deepagents-thread-inspector

Inspect and explain conversations in the local Deep Agents Code SQLite session store. Use as a fallback when LangSmith trace tooling is unavailable, for offline or untraced sessions, or when asked to identify or summarize a local dcode thread, inspect checkpoint metadata, list recent local threads, or parse…

langchain-ai/deepagents · 82 tokens

agent-framework-azure-ai-py

Build persistent agents on Azure AI Foundry using the Microsoft Agent Framework Python SDK.

sickn33/agentic-awesome-skills · 24 tokens

pause

Pause Mem0 memory capture on this machine. Use when the user wants to stop memories being recorded, for example for private work or experiments.

mem0ai/mem0 · 30 tokens