tooling
Python development tooling configuration and best practices
Best use case
tooling is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Python development tooling configuration and best practices
Teams using tooling should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/tooling/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How tooling Compares
| Feature / Agent | tooling | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Python development tooling configuration and best practices
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Python Tooling A comprehensive guide to Python development tools. Configuration best practices for analysis, linters, type checkers, formatters, test frameworks, and package managers. ## Why These Tools Matter To write high-quality Python code, we recommend adopting these tools: - **pyscn** - Detect dead code, duplicates, and circular dependencies to prevent technical debt - **ruff** - Catch bugs and style violations early with fast static analysis - **mypy** - Find errors before runtime with type checking, also improves IDE completion - **pytest** - Build confidence in changes with reliable tests - **uv** - Improve developer experience with fast dependency management Integrating these into CI/CD reduces code review burden and maintains consistent quality. ## Categories ### Analysis [HIGH] Structural code analysis for quality assessment. | Rule | Description | |------|-------------| | [analysis-pyscn](rules/analysis-pyscn.md) | Dead code, clones, dependencies, complexity with pyscn | ### Linting [CRITICAL] Static code analysis with ruff for consistent, high-quality code. | Rule | Description | |------|-------------| | [lint-ruff](rules/lint-ruff.md) | Fast, comprehensive linting with ruff | ### Type Checking [HIGH] Static type checking with mypy for type safety and better IDE support. | Rule | Description | |------|-------------| | [type-mypy](rules/type-mypy.md) | Static type checking with mypy | ### Formatting [HIGH] Consistent code formatting with ruff format and import sorting. | Rule | Description | |------|-------------| | [fmt-ruff](rules/fmt-ruff.md) | Code formatting and import sorting with ruff | ### Testing [HIGH] Test framework configuration with pytest for reliable testing. | Rule | Description | |------|-------------| | [test-pytest](rules/test-pytest.md) | Testing with pytest, fixtures, and coverage | ### Package Management [MEDIUM] Modern Python packaging with uv and pyproject.toml. | Rule | Description | |------|-------------| | [pkg-uv](rules/pkg-uv.md) | Fast package management with uv | | [pkg-pyproject](rules/pkg-pyproject.md) | Project configuration with pyproject.toml | ## Quick Reference ### Minimal pyproject.toml ```toml [project] name = "myproject" version = "0.1.0" requires-python = ">=3.11" dependencies = [] [project.optional-dependencies] dev = ["ruff", "mypy", "pytest", "pytest-cov", "pyscn"] [tool.ruff] target-version = "py311" line-length = 88 [tool.ruff.lint] select = ["E", "F", "W", "I", "UP", "B", "SIM", "PTH"] [tool.mypy] python_version = "3.11" strict = true [tool.pytest.ini_options] testpaths = ["tests"] addopts = ["-v", "--tb=short"] [tool.pyscn] max_complexity = 15 ``` ### Common Commands ```bash # Analysis pyscn analyze . # Full quality analysis pyscn check . # CI quality gate # Linting ruff check . # Check for issues ruff check . --fix # Auto-fix issues # Formatting ruff format . # Format code # Type checking mypy . # Type check # Testing pytest # Run tests pytest --cov=src # With coverage # Package management (uv) uv pip install -e ".[dev]" # Install with dev deps uv pip compile pyproject.toml -o requirements.lock ```
Related Skills
monorepo-and-tooling
Outlines the monorepo structure and tooling conventions, emphasizing the use of Taskfile.yml, and proper handling of environment variables.
midnight-tooling:midnight-setup
Use when setting up Midnight development environment, installing Compact compiler and developer tools, configuring proof server, verifying prerequisites, or getting started with Midnight development.
midnight-tooling:midnight-compatibility
Use when checking Midnight version compatibility, understanding pragma language_version, verifying compiler and runtime version relationships, or troubleshooting version mismatch errors between Midnight components.
cox-tooling-excellence
Write Go code in the style of Russ Cox, Go tech lead. Emphasizes tooling, module design, correctness, and backward compatibility. Use when designing packages, modules, or tools that others will depend on.
agent-tooling-engineer
Expert tooling engineer specializing in developer tool creation, CLI development, and productivity enhancement. Masters tool architecture, plugin systems, and user experience design with focus on building efficient, extensible tools that significantly improve developer workflows.
pcf-tooling
Get Microsoft Power Platform CLI tooling for Power Apps Component Framework Triggers on: **/*.{ts,tsx,js,json,xml,pcfproj,csproj}
angular-tooling
Use Angular CLI and development tools effectively in Angular v20+ projects. Use for project setup, code generation, building, testing, and configuration. Triggers on creating new projects, generating components/services/modules, configuring builds, running tests, or optimizing production builds.
bgo
Automated Blender build-go workflow. Automatically builds, removes old version, installs, enables, and launches Blender with your extension/add-on. Use when you want to quickly test changes, execute complete build-to-launch cycle, or run custom packaging scripts with automatic Blender launch.
maintenance
Cleans up and organizes project files. Use when user mentions '整理', 'cleanup', 'アーカイブ', 'archive', '肥大化', 'Plans.md', 'session-log', or asks to clean up old tasks, archive completed items, or organize files. Do NOT load for: 実装作業, レビュー, 新機能開発, デプロイ.
hello-skill
每次对话开始时,声明"[Skills✏️已加载]"
zylvie-automation
Automate Zylvie tasks via Rube MCP (Composio). Always search tools first for current schemas.
zoominfo-automation
Automate Zoominfo tasks via Rube MCP (Composio). Always search tools first for current schemas.