Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add spencerpauly/awesome-cursor-skills --skill python-tdd-with-uvgit clone --depth 1 https://github.com/spencerpauly/awesome-cursor-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/spencerpauly/awesome-cursor-skills/python-tdd-with-uv)<a href="https://agentmods.dev/skills/spencerpauly/awesome-cursor-skills/python-tdd-with-uv"><img src="https://agentmods.dev/badge/skills/spencerpauly/awesome-cursor-skills/python-tdd-with-uv/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/spencerpauly/awesome-cursor-skills/python-tdd-with-uv"><img src="https://agentmods.dev/badge/skills/spencerpauly/awesome-cursor-skills/python-tdd-with-uv.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00035 | $0.00704 |
| Opus 5 | $0.00017 | $0.00352 |
| Sonnet 5 | $0.00007 | $0.00141 |
| Haiku 4.5 | $0.00003 | $0.00070 |
Grade A, and why
python-tdd-with-uv scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Python TDD with uv
Write Python code test-first using uv for fast dependency and environment management.
Setting Up the Project
- Check if
uvis installed:uv --version - If the project doesn't have a
pyproject.toml, initialize:uv init - Add pytest as a dev dependency:
uv add --dev pytest pytest-cov - Confirm the test runner works:
uv run pytest --co
TDD Workflow — Vertical Slicing
Work in small cycles. Never write more than one failing test at a time.
Planning Phase
Before writing code, answer:
- What interface changes are needed? (functions, classes, APIs)
- Which behaviors matter most? (prioritize critical paths)
- Can we design for testability? (inject dependencies, avoid global state)
The Cycle
RED → Write ONE failing test for the next behavior
GREEN → Write the MINIMUM code to make it pass
REFACTOR → Clean up without changing behavior
REPEAT
Rules:
- Never write implementation before a failing test exists
- Never write more than one failing test at a time
- Run
uv run pytestafter every change - Tests must assert observable behavior, not implementation details
- Mocks should only be used at system boundaries (I/O, network, clock)
Test File Structure
# tests/test_<module>.py
class TestFeatureName:
"""Group related behaviors."""
def test_does_expected_thing_when_given_input(self):
result = function_under_test(input_value)
assert result == expected
def test_raises_when_given_invalid_input(self):
with pytest.raises(ValueError):
function_under_test(bad_input)
Running Tests
uv run pytest # all tests
uv run pytest tests/test_foo.py # single file
uv run pytest -k "test_name" # by name pattern
uv run pytest --cov=src # with coverage
uv run pytest -x # stop on first failure
uv Essentials
uv add <package> # add dependency
uv add --dev <package> # add dev dependency
uv remove <package> # remove dependency
uv sync # sync environment from lockfile
uv run <command> # run in managed environment
uv lock # regenerate lockfile
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 100 lines · 35 tokens per session scan A ddacb34fdb5f
python-tdd-with-uv is a skill published in the GitHub repository spencerpauly/awesome-cursor-skills (765 stars, last pushed 1mo ago), licensed CC0-1.0. It adds 35 tokens to every session and 704 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
python
Python development with ruff, mypy, pytest - TDD and type safety.
python-testing
A Python testing guide covering pytest, test coverage, and test-driven development (TDD), a method of writing a failing test before the code that makes it pass.
python-tdd
Generate suites that pin behavior instead of implementation. TRIGGER WHEN: writing Python tests, improving coverage, reviewing test quality, or practicing red-green-refactor workflows with pytest. DO NOT TRIGGER WHEN: the target is non-Python (use mattpocock-skills:tdd for other languages, or…
test-generator
A generator that reads Python functions and creates pytest test-file skeletons with parameterized example inputs. Pytest is a Python testing tool, and TDD means writing tests as part of the implementation process.
python-tdd
Python development with TDD using pytest, type checking with mypy, and linting with ruff/black. Use when working on Python projects requiring test-driven development, quality gates, or Python code review. Do NOT use for other programming languages.
Unit Test Scaffold (Python/pytest)
Generate Python/pytest unit test skeletons from specifications.