Python Helper
shepherdjerred/monorepo
Current Python development guidance for versions, uv and pip, packaging, typing, asyncio, pytest, Ruff, security, and runtime boundaries.
Start, selectively modernize, fully migrate, or update Python projects using simple-modern-uv practices: uv, ruff, BasedPyright, pytest, GitHub Actions CI, and tag-driven PyPI publishing.
$ npx skills add jlevy/simple-modern-uv --skill simple-modern-uv -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jlevy/simple-modern-uv simple-modern-uv --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jlevy/simple-modern-uv.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/simple-modern-uv .claude/skills/simple-modern-uv && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "simple-modern-uv" agent skill from https://github.com/jlevy/simple-modern-uv/tree/main/skills/simple-modern-uv into .claude/skills/simple-modern-uv/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "simple-modern-uv", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jlevy/simple-modern-uv/tree/main/skills/simple-modern-uvType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jlevy/simple-modern-uv --skill simple-modern-uv -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jlevy/simple-modern-uv simple-modern-uv --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jlevy/simple-modern-uv.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/simple-modern-uv .agents/skills/simple-modern-uv && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "simple-modern-uv" agent skill from https://github.com/jlevy/simple-modern-uv/tree/main/skills/simple-modern-uv into .agents/skills/simple-modern-uv/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "simple-modern-uv", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jlevy/simple-modern-uv --skill simple-modern-uv -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jlevy/simple-modern-uv simple-modern-uv --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jlevy/simple-modern-uv.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/simple-modern-uv .cursor/skills/simple-modern-uv && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "simple-modern-uv" agent skill from https://github.com/jlevy/simple-modern-uv/tree/main/skills/simple-modern-uv into .cursor/skills/simple-modern-uv/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "simple-modern-uv", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jlevy/simple-modern-uv.git --path skills/simple-modern-uv--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jlevy/simple-modern-uv --skill simple-modern-uv -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jlevy/simple-modern-uv simple-modern-uv --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jlevy/simple-modern-uv.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/simple-modern-uv .gemini/skills/simple-modern-uv && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "simple-modern-uv" agent skill from https://github.com/jlevy/simple-modern-uv/tree/main/skills/simple-modern-uv into .gemini/skills/simple-modern-uv/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "simple-modern-uv", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jlevy/simple-modern-uv simple-modern-uvInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jlevy/simple-modern-uv --skill simple-modern-uv -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jlevy/simple-modern-uv.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/simple-modern-uv .github/skills/simple-modern-uv && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "simple-modern-uv" agent skill from https://github.com/jlevy/simple-modern-uv/tree/main/skills/simple-modern-uv into .github/skills/simple-modern-uv/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "simple-modern-uv", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jlevy/simple-modern-uv --skill simple-modern-uv -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jlevy/simple-modern-uv simple-modern-uv --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jlevy/simple-modern-uv.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/simple-modern-uv .opencode/skills/simple-modern-uv && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "simple-modern-uv" agent skill from https://github.com/jlevy/simple-modern-uv/tree/main/skills/simple-modern-uv into .opencode/skills/simple-modern-uv/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "simple-modern-uv", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
simple-modern-uvStart, selectively modernize, fully migrate, or update Python projects using simple-modern-uv practices: uv, ruff, BasedPyright, pytest, GitHub Actions CI, and tag-driven PyPI publishing.
Simple Modern Uv is an agent skill from jlevy/simple-modern-uv. Start, selectively modernize, fully migrate, or update Python projects using simple-modern-uv practices: uv, ruff, BasedPyright, pytest, GitHub Actions CI, and tag-driven PyPI publishing. Use when creating a Python project; adding selected tooling or repository practices to an existing project; migrating from Poetry, setuptools, pip, requirements.txt, PDM, or hatch; or updating a project already managed by the simple-modern-uv Copier template.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `references/adopt-existing.md`, `references/adopt-selectively.md` and `references/customize.md`). Compatibility notes: Requires git and uv (https://docs.astral.sh/uv/); network access to GitHub
It sits in Testing & QA, covering Linting and formatting, Unit testing and Creative writing and fiction. It works with Python, GitHub Actions, pytest and Ruff. The repository describes itself as: A powerful, minimal agent skill and template for modern Python projects with uv. The licence is MIT.
Read from SKILL.md and the folder at commit 019733b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
makeFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
copier.readthedocs.ioFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires git and uv (https://docs.astral.sh/uv/); network access to GitHub
From compatibility in the SKILL.md frontmatter.
Simple Modern Uv loads about 1.9k tokens when it runs, and up to ~8.2k if it reads all its reference files. Until then it costs about 116 tokens; SKILL.md has 814 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from jlevy/simple-modern-uv at commit 019733b, republished under its MIT licence (© jlevy). 814 words, ~1,850 tokens.
.claude/skills/simple-modern-uv/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.simple-modern-uv is a minimal, modern
Python project template: uv for package management, ruff for linting and
formatting, BasedPyright for type checking, pytest, GitHub Actions CI, and
tag-driven publishing to PyPI. It is a Copier template,
so fully managed projects can pull future template improvements with copier update.
Choose one workflow and load its reference before editing:
| User goal | Workflow |
|---|---|
| Start a project from scratch | Start a new project |
| Add one or more practices without restructuring everything | Adopt selected features |
| Convert an existing package to the template’s structure and update path | Upgrade an existing project |
Pull upstream changes into a project with .copier-answers.yml | Update a template-managed project |
Use references/customize.md for license, publishing, apps, and common policy changes. When something fails, consult references/faq.md before improvising.
If this file was fetched from a URL rather than installed as a folder, fetch the
selected reference and any shared reference it names from the same Git ref. Never
mix a pinned SKILL.md with references from main.
These are working modes, not certifications:
| Level | Result |
|---|---|
| Selective | Adopt only named feature bundles. Preserve the current build backend, layout, release model, and equivalent tools unless the user asks to change them. Do not add .copier-answers.yml. |
| Core toolchain | Adopt uv dependency management, lockfile policy, lint/type/test commands, CI, and agent guidance. Preserve packaging, versioning, or layout where changing them has no stated benefit. This is not Copier-managed unless the user chooses full migration. |
| Full template-managed | Render or migrate to the template structure, record .copier-answers.yml, and use Copier for future updates. Explicitly document any deliberate deviations. |
Choose the lowest level that satisfies the request. A named feature request is selective by default. “Upgrade/migrate this project to simple-modern-uv” means full migration unless repository constraints make a lower level safer; surface that change of scope before acting.
For an existing repository, inspect its instructions and working tree first. Then map:
AGENTS.md, CLAUDE.md, .copier-answers.yml, and local modificationsPreserve user work and established behavior. Work on a branch, and never overwrite an existing configuration merely because the template has a different default.
New projects and full migrations use the template questions in
copier.yml.
Infer everything possible, then ask the user to confirm material choices once in one
batched message.
| Answer key | Meaning | Notes |
|---|---|---|
package_name | PyPI package and GitHub repo name | Normalize to kebab-case and show the derived name |
package_module | Python module name | Derive snake_case from the package name; show it, do not ask |
package_description | One-line description | Infer from existing metadata when possible |
package_license | MIT, Apache-2.0, BSD-3-Clause, AGPL-3.0-or-later, Proprietary, or None | Always surface, naming MIT as the new-project default |
publish_to_pypi | true or false | Always surface; use false for private packages and unpublished apps |
Infer author name, author email, and GitHub organization from project metadata, git, the remote, and authenticated GitHub state. Include the inferred values in the confirmation summary rather than asking separately.
For new projects, apply the template conventions: src/ layout, Python 3.11+, line
length 100, and tag-derived versions beginning with v0.1.0. For published migrations,
the next tag must exceed the published version.
For selective and core adoption, preserve existing choices unless the requested feature
requires a change; ask only about those material conflicts.
Always surface changes to supported Python versions, package layout, build backend, versioning, license, publishing, or CI provider. These are project decisions, not incidental implementation details.
uv.toml,
uv.lock, and commands..copier-answers.yml only for a deliberate full migration.
Selective copying does not create honest Copier lineage and must not pretend that it
does.Verify every touched path.
Full and core adoption normally require make install, make lint, and make test;
publishable projects also require make build. Selective adoption runs the smallest
commands that prove the selected features and their failure paths.
Validate workflow syntax and preserve existing tests whenever CI changes.
Before reporting success, summarize five categories:
Also state whether the result is selective, core, or full template-managed; list the validation commands and outcomes; and name any decision that still belongs to the user.
<!-- This document follows common-doc-guidelines.md.
See github.com/jlevy/practical-prose and review guidelines before editing.
-->
© jlevy, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 6 other files (references) in skills/simple-modern-uv of jlevy/simple-modern-uv.
Open the folder on GitHubat commit 019733b
Simple Modern Uv next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Simple Modern Uv this skilljlevy/simple-modern-uv | 301 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Python Helpershepherdjerred/monorepo | 112 | — | ~2.3k | Automated safety check: Pass | GPL-3.0 | |
| Kedro Babysitkedro-org/kedro | 11k | — | ~4k | Automated safety check: Pass | Custom licence | |
| Update Dependenciesalorence/django-modern-rpc | 111 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Python Pypi Package Buildergithub/awesome-copilot | 40k | 1 repos | ~4.6k | Automated safety check: Pass | MIT | |
| Checkav1155/houndarr | 292 | — | ~366 | Automated safety check: Pass | AGPL-3.0 |
shepherdjerred/monorepo
Current Python development guidance for versions, uv and pip, packaging, typing, asyncio, pytest, Ruff, security, and runtime boundaries.
kedro-org/kedro
Run Kedro's local lint / format / type-check / tests on changed files (uses the project's pre-commit hooks, ruff, mypy, pytest, lint-imports, detect-secrets, Make targets — in the right venv), or…
alorence/django-modern-rpc
Routine update of all project dependencies — uv itself, uv.lock (all groups), tool versions pinned in GitHub workflows and .pre-commit-config.yaml (uv, ruff, mypy...), and SHA-pinned GitHub Actions.
github/awesome-copilot
End-to-end skill for building, testing, linting, versioning, and publishing a production-grade Python library to PyPI.
av1155/houndarr
Run Houndarr's full quality gate (ruff lint, ruff format check, mypy, bandit, pytest) and report results in a single table.
Aedelon/claude-code-blueprint
Reference patterns for REST APIs, pytest/vitest testing, Docker multi-stage builds, GitHub Actions CI/CD, PostgreSQL, TypeScript generics, Python async, and React Server Components.
Works with
Categories
Start, selectively modernize, fully migrate, or update Python projects using simple-modern-uv practices: uv, ruff, BasedPyright, pytest, GitHub Actions CI, and tag-driven PyPI publishing. Simple Modern Uv is an agent skill from jlevy/simple-modern-uv. Start, selectively modernize, fully migrate, or update Python projects using simple-modern-uv practices: uv, ruff, BasedPyright, pytest, GitHub Actions CI, and tag-driven PyPI publishing.
Simple Modern Uv fits situations like: creating a Python project; adding selected tooling; repository practices to an existing project; migrating from Poetry.
Run `npx skills add jlevy/simple-modern-uv --skill simple-modern-uv -a claude-code`. Or copy the skill folder (skills/simple-modern-uv in jlevy/simple-modern-uv) into .claude/skills/simple-modern-uv in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jlevy/simple-modern-uv --skill simple-modern-uv -a codex`. Or copy the skill folder (skills/simple-modern-uv in jlevy/simple-modern-uv) into .agents/skills/simple-modern-uv in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jlevy/simple-modern-uv --skill simple-modern-uv -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/simple-modern-uv, .gemini/skills/simple-modern-uv, .github/skills/simple-modern-uv and .opencode/skills/simple-modern-uv in your project.
Going by SKILL.md and its folder, Simple Modern Uv needs the command-line tools its instructions call (make). Our summary lists: Python 3. Compatibility (from SKILL.md): Requires git and uv (https://docs.astral.sh/uv/); network access to GitHub.
SKILL.md names 1 domain. As links in the text: copier.readthedocs.io. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Simple Modern Uv is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Simple Modern Uv: Python Helper (shepherdjerred/monorepo, 112 stars), Kedro Babysit (kedro-org/kedro, 11k stars), Update Dependencies (alorence/django-modern-rpc, 111 stars) and Python Pypi Package Builder (github/awesome-copilot, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jlevy (a GitHub user) maintains it in jlevy/simple-modern-uv, which has 301 GitHub stars. The repository was last updated on August 26, 2026.
Source: jlevy/simple-modern-uv on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.