From python-skills
Build or modify idiomatic Python projects using uv, explicit package layout, typed configuration, focused tests, Ruff, mypy, and repo-local validation without overriding established conventions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/python-skills:build-python-projectThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Implement or modify a Python project in the repository's own shape.
Implement or modify a Python project in the repository's own shape.
The practical goal is clear package boundaries, readable data flow, typed configuration where the repo uses it, tests around changed behavior, and validation through the repo's uv commands.
choose-python-project-shape.Use repo-local Python files, checked-out dependency sources, Dash MCP or Dash HTTP for installed Python docsets, and then official project documentation when Dash/local coverage is missing or stale when implementation depends on package, tool, or framework behavior:
rg --files -g 'pyproject.toml' -g 'uv.lock' -g '*.py' -g 'tests/**/*.py' -g '.python-version'
pyproject.toml sections:
[project][tool.uv][tool.uv.workspace][dependency-groups][tool.pytest.ini_options][tool.ruff][tool.mypy]Respect the existing layout first.
For src/ layouts:
For flat layouts:
For workspaces:
uv run --package <name> when commands need a specific memberWhen generated or existing projects use pydantic-settings, keep committed .env files limited to safe defaults and keep .env.local or real secret stores for machine-local and secret values.
For tests, override environment variables or settings dependencies rather than mutating committed .env files.
Choose commands based on the changed surface:
uv run pytest
uv run ruff check .
uv run mypy .
Use package targeting for workspaces:
uv run --package <package-name> pytest
uv run --package <package-name> mypy .
Run uv sync --dev first when dependency resolution, lockfiles, or Python versions changed.
Return:
Changed behavior: what user-visible or package-visible behavior changed.Files: key files changed.Tests: tests added or updated.Validation: exact commands run and results.Residual risk: anything not covered.sys.path edits unless the repo already uses that pattern and the reason is documented.pyproject.toml, lockfiles, CI, or docs.npx claudepluginhub gaelic-ghost/socket --plugin python-skillsCreates, edits, and verifies skills using a test-driven development approach with pressure scenarios and subagents.