- Home
- Skills
- Williamzujkowski
- Cognitive Toolworks
- Tooling Python Generator
tooling-python-generator_skill
- Python
5
GitHub Stars
2
Bundled Files
3 weeks ago
Catalog Refreshed
2 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstart where the catalogue uses aiagentskills.
npx veilstart add skill williamzujkowski/cognitive-toolworks --skill tooling-python-generator- CHANGELOG.md830 B
- SKILL.md13.8 KB
Overview
This skill generates modern Python project scaffolding tailored to your chosen project type and dependency manager. It produces cross-platform layouts, pyproject.toml or Pipfile/requirements templates, testing, type-checking, linting, formatting, pre-commit hooks, and packaging metadata. The output is deterministic, reproducible, and ready for CI/CD integration.
How this skill works
Provide inputs for project_name, project_type (library|application|cli|data-pipeline), python_version (3.9, 3.10, 3.11, 3.12) and dependency_manager (poetry|pipenv|pip-tools). The skill validates inputs, generates a file/directory structure, and fills configuration files for pytest, mypy, ruff, black, pre-commit, and build tooling. For full setups it also generates Makefile targets, packaging metadata, entry points for CLIs, and CI/CD templates where requested.
When to use it
- Starting a new Python library, application, CLI, or data-pipeline project that needs modern tooling.
- Migrating legacy projects to a reproducible, typed, and linted workflow.
- Standardizing developer environments across multiple repositories.
- Preparing a package for PyPI publishing with proper build metadata and CI.
- Onboarding new contributors with a consistent developer experience.
Best practices
- Prefer src/ layout for libraries and flat layout for application-style projects following src-vs-flat guidance.
- Use Poetry for libraries destined for PyPI, pipenv for application-focused deployables, pip-tools for minimal environments.
- Pin runtime dependencies for applications; use caret ranges for library runtime deps and pin dev deps for reproducibility.
- Enforce typing incrementally: enable strict mypy for libraries, relax for integration-heavy applications.
- Run ruff and black in pre-commit to keep diffs small and CI fast; include mypy and test hooks where appropriate.
Example use cases
- Create a typed Python library with src/project_name, py.typed, poetry-managed packaging, and CI that builds wheels and publishes on tag.
- Scaffold a CLI tool using src layout, a poetry [tool.poetry.scripts] entry point, and shell completion hooks.
- Set up an application repo with pipenv, flat package layout, pinned dependencies, integration test config, and Docker-friendly settings.
- Provision a data-pipeline project with Jupyter-friendly docs, numpy/pandas stubs, pytest markers for slow/integration tests, and perf-focused linters.
FAQ
You must supply project_name (lowercase, hyphens allowed), project_type (library|application|cli|data-pipeline), python_version (3.9|3.10|3.11|3.12), and dependency_manager (poetry|pipenv|pip-tools).
Can I stop at basic scaffolding?
Yes. The tool supports a fast path (T1) that only generates directory layout, core pyproject.toml, .gitignore, README, and tests.