skills/python/SKILL.md
Use when a task involves Python project setup or standalone scripts with uv, including dependency management, `uv run`, `uv run --with`, `--no-project`, inline script metadata, quality gates (ruff, ty, pytest, coverage, prek/pre-commit), and package build or publishing workflows.
npx skillsauth add narumiruna/agent-skills pythonInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use uv as the default workflow for Python projects, standalone scripts, dependency management, quality checks, and package release. Prefer the repository's existing configuration and documented commands over introducing new tooling.
pyproject.toml, shared package code, or lockfile.uv init as project mode.--no-project only when a script must ignore the surrounding project.pyproject.toml, lockfiles, repository docs, and existing test/tooling choices before changing dependencies or commands.uv init <name>, then install the default dev toolchain with uv add --dev ruff ty pytest pytest-cov.tests/test_*.py files with plain assert.uv add; remove them with uv remove; reconcile external dependency changes with uv sync.uv run unless the repository provides a documented wrapper command; for pytest, default to an explicit tests target when the project does not document another test location.--with dependencies, or inline metadata.uv run script.py when no extra dependencies are needed.uv run --with ... script.py for disposable per-invocation dependencies.uv init --script and uv add --script when dependencies should live with the script.--no-project before the script name, and never use it for a script that imports local package code.uv run --python <version> or requires-python in metadata when the script needs a specific Python version.references/scripts.md for stdin, heredoc, shebang, alternate indexes, Windows .pyw, locking, and reproducibility details.uv add, uv remove, and uv sync; do not use pip install to mutate a project environment.uv run unless a repository command wraps them; when no project-specific pytest target is documented, include tests explicitly (for example, uv run pytest tests) rather than bare uv run pytest.ruff, ty, pytest, and pytest-cov; do not start with unittest, unittest.TestCase, or class-based Test* suites.pyproject.toml only to run a one-file script.uv run --with as disposable; use inline metadata when the script should be shared or reused.uv build --no-sources so local [tool.uv.sources] overrides do not leak into release output.Use this order before finalizing code, dependency, or packaging changes:
prek run -a when the repo uses prek.pre-commit command when the repo uses pre-commit and provides no prek path.uv run ... commands only when no aggregate gate exists or when narrowing failures.Do not introduce or switch hook runners only for verification. Read references/quality.md for command details, coverage, CI examples, and fallback checks.
dist/ with uv build --no-sources.references/packaging.md for publish commands, Test PyPI flow, and artifact inspection details.--no-project would be smaller and clearer.--no-project for a script that imports local package code.uv run --with ... shell history instead of the script metadata.unittest or without the default dev toolchain.references/quality.md - Full commands, CI examples, coverage, prek, and pre-commit fallback usage.references/packaging.md - Build, inspect, and publish details.references/scripts.md - Standalone script patterns, inline metadata, locking, and special cases.development
Maintains concise repository MEMORY.md notes for gotchas, stale memory corrections, and durable user preferences. Use at the start of repository conversations, when the user mentions MEMORY.md, when an error should be remembered to avoid repeating it, or when MEMORY.md content may be wrong.
testing
Use only when the user explicitly names the work-log-writer skill; never auto-activate from generic work log, daily log, EOD summary, status update, or date-range summary requests.
development
Use when implementing non-trivial code changes that should follow TDD (write a failing test first, make the smallest passing change, then refactor safely).
tools
Use when designing, implementing, reviewing, or debugging Codex CLI hooks, including `hooks.json`, `.codex/hooks.json`, feature-flag setup, matcher behavior, event-specific stdin/stdout payloads, and hook scripts for `SessionStart`, `PreToolUse`, `PostToolUse`, `UserPromptSubmit`, or `Stop`.