← ClaudeAtlas

python-project-standardlisted

Enforce a strict, type-safe, model-agnostic, AI-navigable Python project standard: mypy --strict + beartype runtime type-checking + pydantic at boundaries + provider Protocol seams (zero-SDK core) + src layout with a real package name + domain-first deep structure + centralized config/logging/prompts + a one-command zero-warning gate + drift guards. Use this whenever starting or scaffolding a new Python project, service, or package; setting up pyproject/ruff/mypy/pytest; deciding where code, config, or prompts belong; adding type checking, runtime validation, or an LLM/embedding/vector-store dependency; organizing or deepening package structure; wiring providers; setting up CI or pre-commit; or checking that an existing Python project conforms. Apply it even when the user only says "start a Python project", "set up the repo", "add types", "wire up an LLM", or "structure this", without naming the standard.
VoldemortGin/AI-Coding-Skill-Bible · ★ 1 · AI & Automation · score 72
Install: claude install-skill VoldemortGin/AI-Coding-Skill-Bible
# Python Project Standard This skill is the guiding standard for **any** Python work. Apply it by default; don't wait to be asked. Its spine: **trust is placed not in the model, but in the machine-checkable code that constrains it.** Dynamic Python's signal is too weak — code runs while doing the wrong thing. Tighten the scaffold instead: static types (mypy), runtime types (beartype), behavior (tests), a name-navigable layout, model-agnostic seams, and failing artifacts that mechanize the implicit knowledge a human would otherwise hold in their head. The agent's output ceiling equals the tightness of that feedback loop. Baseline: **Python 3.13**, mypy `--strict`, ruff, beartype, pydantic v2 + pydantic-settings, Jinja2, Hypothesis. Modern idioms only (no `from __future__ import annotations` — it stringifies all annotations and fights beartype's runtime resolution; quote forward/self references as needed; no `typing.List`, prefer PEP 695 `type`/`class Box[T]`). ## When starting a new project ```bash python scripts/scaffold.py <package_name> --target <dir> --domains ingestion retrieval generation agents ``` This mirrors `assets/templates/` into a conforming project (src layout, `core/`, `ports/`+`adapters/`, prompts, CLAUDE.md, ADR, `ci.sh`, drift check, smoke/conformance tests) and substitutes `__PACKAGE_NAME__`. When adapting an existing repo, copy from `assets/templates/` by hand — the Python templates use relative imports and `__name__`, so only `pyproject.toml` carrie