python-ddd-project
Installation
SKILL.md
Python DDD Project
Use this skill to make Python changes that fit an existing uv + ruff + pytest + pydantic-settings project with clear domain, application, infrastructure, and interface boundaries.
Core Rules
- Inspect the repository before changing it:
pyproject.toml,uv.lock,src/,tests/, CI files,AGENTS.md, and local docs. - Apply these conventions only when they match the repo or the user asks to standardize on them. Preserve stronger local conventions.
- Keep changes scoped to the request. Do not turn a bug fix into a framework migration.
- Use project-pinned tooling through
uv runwhen available. Reserveuvxfor explicit one-off tools. - Keep dependency changes coherent: update
pyproject.tomlanduv.locktogether when the repo tracks the lockfile. - Keep dependency direction inward: domain code must not import infrastructure, interface, framework, SDK, ORM, or environment-loading code.
- Prefer validated settings objects over scattered environment reads; inject settings into application or infrastructure code.
- Validate with the repo's real checks and state any skipped checks or inferred conventions in the final response.