lang-pythonlisted
Install: claude install-skill StielChancellor/VibeGod-Tech-Team
# Python — idiomatic & safe
The language lens for Python work. Backs the build agents at Stage 6. Honors
`_shared/vibegod-principles.md` (simplicity, surgical, typed/no-`Any`-by-default,
no silent error-swallowing, consistency, cost-awareness). Defer security depth to
`secure-coding` and test discipline to `test-driven-development`.
## Fits in the pipeline
Stage 6 (Build): write code to this standard. Stage 7 (per-feature QA): the
code-quality-reviewer + security-engineer lenses check it against this skill. Priority:
**user > skills > default.**
## Style & layout
- Python **3.11+**. `src/` layout package, tests in `tests/`. PEP 8 via tooling, not by hand.
- Type hints on every public function signature and dataclass/model field. Prefer
`dataclass`/`pydantic` models over loose dicts. Use modern syntax: `X | None`, `list[str]`.
- Small pure functions; modules grouped by feature. No wildcard imports.
## Toolchain (canonical)
- **Env/deps:** `uv` (preferred) or Poetry; committed lockfile. Never install into system Python.
- **Lint/format:** `ruff check` + `ruff format` (or black). CI runs both.
- **Type-check:** `mypy --strict` or `pyright`. Treat type errors as build failures; avoid `Any`
and bare `# type: ignore` (scope and justify them).
- **Test:** `pytest` (+ `pytest-cov`). Fixtures over setup boilerplate.
## Types & boundary validation
- Validate all external input (HTTP bodies, query/env, file/JSON, message payloads) with
**pydantic v2** models at the boundary;