Canonical Python stack now pinned in ~/dev/.context/AGENT.md (mathias/local-dev@6296536, tag v0.3.1), propagated to CLAUDE.md/AGENTS.md/.cursorrules/.aider.conventions.md via task context:sync:
Layer
Choice
Format+lint
ruff (one tool, replaces black+isort+flake8)
Types
mypy --strict (or pyright) — non-negotiable
Test
pytest + pytest-cov, table-driven via @pytest.mark.parametrize
Errors
raise X from e — never bare except, never silent pass
Action: wire this table into the per-language reference files already scoped for tdd (#18 — Python section) and extend the same pattern to clean-code, solid, code-review where a Go-specific example currently has no Python equivalent. Per #19's execution bar (pressure-test before shipping) and the Multi-Language Dilution reconciliation on #18 (main SKILL.md stays single-canonical-example, per-language content lives in linked reference files, not inline).
Canonical Python stack now pinned in `~/dev/.context/AGENT.md` (mathias/local-dev@6296536, tag v0.3.1), propagated to CLAUDE.md/AGENTS.md/.cursorrules/.aider.conventions.md via `task context:sync`:
| Layer | Choice |
|---|---|
| Format+lint | ruff (one tool, replaces black+isort+flake8) |
| Types | mypy --strict (or pyright) — non-negotiable |
| Test | pytest + pytest-cov, table-driven via `@pytest.mark.parametrize` |
| Errors | `raise X from e` — never bare `except`, never silent `pass` |
| Logging | stdlib `logging` w/ structured `extra=` (or structlog) |
| Config | pydantic-settings — typed env-var config |
| Deps/build | uv |
| Layout | src-layout, `pyproject.toml` only, no `setup.py` |
Action: wire this table into the per-language reference files already scoped for `tdd` (#18 — Python section) and extend the same pattern to `clean-code`, `solid`, `code-review` where a Go-specific example currently has no Python equivalent. Per #19's execution bar (pressure-test before shipping) and the Multi-Language Dilution reconciliation on #18 (main SKILL.md stays single-canonical-example, per-language content lives in linked reference files, not inline).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Canonical Python stack now pinned in
~/dev/.context/AGENT.md(mathias/local-dev@6296536, tag v0.3.1), propagated to CLAUDE.md/AGENTS.md/.cursorrules/.aider.conventions.md viatask context:sync:@pytest.mark.parametrizeraise X from e— never bareexcept, never silentpassloggingw/ structuredextra=(or structlog)pyproject.tomlonly, nosetup.pyAction: wire this table into the per-language reference files already scoped for
tdd(#18 — Python section) and extend the same pattern toclean-code,solid,code-reviewwhere a Go-specific example currently has no Python equivalent. Per #19's execution bar (pressure-test before shipping) and the Multi-Language Dilution reconciliation on #18 (main SKILL.md stays single-canonical-example, per-language content lives in linked reference files, not inline).