Agent skill
upgrade-actions
Upgrade GitHub Actions workflows
Install this agent skill to your Project
npx add-skill https://github.com/simonw/skills/tree/main/upgrade-actions
SKILL.md
Upgrade GitHub Actions workflows
Upgrade GitHub Actions workflows to the latest standard.
Look in .github/workflows/ for test.yml and publish.yml or release.yml.
First make sure they are running the latest versions of e.g. actions/checkout and actions/setup-python.
Consult https://simonw.github.io/actions-latest/versions.txt with curl and grep to find the latest versions.
Next make sure they use current versions of Python in their test matrices. Right now that should be:
["3.10", "3.11", "3.12", "3.13", "3.14"]
Check if the project uses setup.py or pyproject.toml and update any cache keys to reflect that.
Also check if the project uses dependency-groups.dev in pyproject.toml - if it does then any pip install lines
in the workflows should use this pattern:
pip install . --group dev
Make sure requires-python is >= 3.10 as well.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
setup-to-pyproject
Migrate Python projects from setup.py/setup.cfg to pyproject.toml for use with uv. Use when upgrading legacy Python packaging, converting setup.py to modern pyproject.toml format, setting up dependency groups for development/testing, and ensuring `uv run pytest` works correctly.
cogapp-markdown
Use cogapp to auto-generate sections of markdown documentation by embedding Python code that produces content. Use when a project needs to keep documentation in sync with code, such as embedding CLI --help output in README files, generating tables, or any content that should be derived from the code itself rather than manually maintained.
uv-tdd
A development process for Python applications that uses TDD to iterate on a new project based around uv. Use when Claude needs to create a new Python project, write Python code with tests, or work on Python development using test-driven development practices with the uv package manager.
datasette-plugin-writer
Guide for writing Datasette plugins. This skill should be used when users want to create or develop plugins for Datasette, including information about plugin hooks, the cookiecutter template, database APIs, request/response handling, and plugin configuration.
starlette
Build async web applications and APIs with Starlette 1.0, the lightweight ASGI framework for Python. Use this skill whenever a user wants to create an async Python web app, REST API, WebSocket server, or ASGI application using Starlette. Triggers include mentions of 'Starlette', 'ASGI', async Python web frameworks, or requests to build lightweight async APIs, WebSocket services, streaming responses, or middleware pipelines. Also use when the user is working with FastAPI internals (which is built on Starlette), needs ASGI middleware patterns, or wants a minimal async web server without a full framework. Covers routing, requests/responses, WebSockets, middleware, templates, static files, authentication, lifespan, background tasks, config, testing, schemas, and more.
greeter
Generate a cheerful greeting in any language.
Didn't find tool you were looking for?