skills/init-library/SKILL.md
Initialize a new Python library with modern tooling, packaging, tests, and optional CLI support. Use when the user wants to scaffold a new Python package.
npx skillsauth add alexeygrigorev/.claude init-libraryInstall 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.
Create:
<library_name>/
├── <library_name>/__init__.py
├── <library_name>/__version__.py # __version__ = "0.0.1"
├── <library_name>/cli.py # only if CLI requested — see cli.py
├── tests/__init__.py
├── pyproject.toml # see pyproject.toml
├── Makefile # see Makefile
├── README.md
├── .gitignore
├── .python-version # 3.13
└── uv.lock
Substitute <library_name> and <description> throughout. If no CLI was requested, drop cli.py and the [project.scripts] block in pyproject.toml.
Then run uv sync --dev and confirm uv run pytest works on an empty test.
After the repo is on GitHub, run the setup-pypi-ci skill to add the CI publish workflow and make release target.
development
Add the standardized CI publish workflow (`.github/workflows/publish.yml` + `make release`) to an existing Python project so PyPI releases happen on tag push. Use when a project still publishes via a local script (`publish.py`, `hatch publish`, `twine upload`) or has no automated publish at all.
development
Fetch and transcribe Google Recorder voice notes. Use when the user shares a recorder.google.com link and wants the original audio file, a transcript, or wants to act on a voice note.
development
Release the current project to its package registry and GitHub by bumping the version, pushing a tag, and letting CI publish. Works for any project (Python/PyPI, Rust/crates.io, Node/npm, etc.) that has a CI publish workflow keyed off `v*` tags.
development
Run and fix stylint checks for prose, Markdown, lessons, workshops, docs, and agent-written text. Use when editing written content or when the user asks for style, polish, or lint cleanup.