uv-tdd

Create Python projects with TDD workflows using the uv package manager.

43|5|Updated Dec 29, 2025
One-click install
npx skills add https://github.com/simonw/skills --skill uv-tdd-simonw
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: uv-tdd
Source: https://github.com/simonw/skills/tree/main/uv-tdd
Command: npx skills add https://github.com/simonw/skills --skill uv-tdd-simonw

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill streamlines the creation and development of new Python projects by enforcing Test-Driven Development (TDD) practices and utilizing the uv package manager for efficient dependency handling.

Core Features & Use Cases

  • Project Initialization: Sets up a new Python project with pyproject.toml using uv init.
  • Dependency Management: Adds project and development dependencies (like pytest) via uv add.
  • Test-Driven Development: Guides the user through writing failing tests first, then implementing code to pass them, ensuring code quality and correctness.
  • Use Case: When starting a new Python application, use this Skill to quickly scaffold the project, set up testing, and follow a robust TDD workflow from the outset.

Quick Start

Create a new Python project named 'my-new-app' and initialize it for TDD using uv.

Frequently Asked Questions about uv-tdd

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up a new Python project with uv and pytest?

This Skill scaffolds new Python applications by combining uv for package management with Test-Driven Development practices. It initializes projects via uv init, adds dependencies like pytest, and guides you through writing failing tests before implementing code to pass them.

What is the best way to start Test-Driven Development in a new Python application?

The best way to start Test-Driven Development in a new Python application is to scaffold the project using uv init, add pytest via uv add, and follow strict TDD cycles by writing failing tests first, then implementing the exact code needed to pass them.

Can I use uv for dependency management in an existing Python project?

Yes, you can use uv for dependency management in an existing Python project by utilizing the uv add command to install required packages and development tools like pytest directly into your uv-managed environment.

Do I need to manually configure pytest when using uv for project setup?

You do not need to manually configure pytest when using uv for project setup. The workflow handles adding pytest as a development dependency automatically through the uv add command during the initial project scaffolding process.

How does uv handle the TDD cycle during Python development?

uv handles the TDD cycle by providing a managed environment where you write failing tests first, execute code within the uv sandbox, implement the application logic to pass the tests, and follow structured commit strategies to ensure code correctness.