src/dot-agents/skills/python-production-libs/SKILL.md
Production-grade Python library selection and recommendations. Use when choosing libraries for HTTP clients, CLI frameworks, data validation, structured logging, JSON serialization, terminal output, or async patterns—e.g., "which library for HTTP", "modern alternatives to requests", "pydantic vs dataclasses", "structured logging setup".
npx skillsauth add jjjermiah/dotagents python-production-libsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Canonical library choices for production Python. Third-party when stdlib is painful; stdlib when it's good enough.
YOU MUST NOT rely on pre-trained knowledge for these libraries. APIs change frequently, and stale knowledge causes bugs. No exceptions.
IMMEDIATELY upon loading this skill:
Library without Context7 query = implementation based on stale knowledge. Every time.
Example workflow:
1. Need HTTP client → Load references/http.md
2. Get slug: /encode/httpx
3. Query: mcp_context7_query-docs(libraryId="/encode/httpx", query="async client timeout configuration")
4. Write code from fresh docs
Stdlib is often outdated or painful (urllib, argparse, unittest, logging for structured output). Our recommendations reflect modern Python production standards—third-party libs that have become the de facto standard.
| Domain | Use This | Not This |
| ---------- | ------------------- | -------------------------------------- |
| HTTP | httpx | urllib, requests |
| Logging | structlog | logging (for structured) |
| CLI | typer | argparse |
| Validation | pydantic | dataclasses (when validation needed) |
| JSON | orjson | json (when perf matters) |
| Terminal | rich | print() |
| Env vars | pydantic-settings | os.environ |
| Paths | pathlib (stdlib) | os.path |
| Dates/TZ | zoneinfo (stdlib) | pytz |
| Testing | pytest | unittest |
| Async | anyio | asyncio (for library code) |
Load the appropriate reference when working in that domain:
[project]
dependencies = [
"httpx[http2]>=0.27.0",
"pydantic>=2.10.0",
"pydantic-settings>=2.5.0",
"structlog>=24.0.0",
"typer[all]>=0.15.0",
"orjson>=3.9.0",
"rich>=13.9.0",
"python-dotenv>=1.0.0",
"anyio>=4.0.0",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0.0",
"pytest-asyncio>=0.24.0",
"ruff>=0.9.0",
"mypy>=1.16.0",
]
requests (use httpx - same API, async support, modern standard)argparse for new CLIs (use typer - industry standard)logging for JSON output (use structlog - required for structured logging)json for high-throughput (use orjson - 10x faster)development
Guides creation, validation, and packaging of AI agent skills with token-efficient design, progressive disclosure patterns, and YAML frontmatter best practices. Use when building new skills, updating existing skills, validating skill structure against standards, or packaging for distribution—e.g., "create skill", "validate SKILL.md", "package skill for sharing", "check description format".
tools
Investigate and integrate weakly documented SDK/library modules (especially Azure SDKs) into code. Use when asked to "investigate module", "SDK", "client class", or when docs are missing/weak and you need to discover APIs, models, or usage patterns to implement integration.
tools
Write production-ready one-off scripts and automation utilities with proper error handling and safety patterns. Use when developing bash automation, Python CLI tools, shell scripts, system administration scripts, or command-line batch processing—e.g., "write a script to process files", "python one-liner for data conversion", "bash automation for backups", "shell script with error handling".
development
R package testing with testthat 3rd edition. Use when writing R tests, fixing failing tests, debugging errors, or reviewing coverage—e.g., "write testthat tests", "fix failing R tests", "snapshot testing", "test coverage".