Claude Code skills · updated 2026-10-03
pytest deprecation skill for Claude Code — removed APIs and silent skips by line
12 findings in one conftest.py, each with the pytest release and the fix
On the bundled sample: 12 findings (7 errors, 5 warnings) in 1 file from 19 rules, including pytest.warns(None), pytest.config and an unmarked async test.
Get it on Whop - $12 onceGet it on Gumroad
Who it's for
Python teams moving an older test suite to pytest 8 or 9, or upgrading pytest-asyncio to 1.0.
What breaks, and when
pytest.warns(None) was removed in pytest 8.0 — it now raises instead of running the block. nose-style setup(self) stopped being called in pytest 8.0 — the test still reports green.
What it printed on the bundled example
== Pytest Lint — 12 findings (7 errors, 5 warnings) in 1 file · 19 rules
ERROR conftest.py:10 [yield_fixture]
pytest.yield_fixture has been a deprecated alias for pytest.fixture() since pytest 6.2 — it is the same decorator under an old name.
fix: @pytest.fixture (a plain fixture may yield)
ERROR conftest.py:17 [pytest_config_global]
The global pytest.config object was removed in pytest 5.0.
fix: the pytestconfig fixture, or request.config inside a fixture/hook
WARN conftest.py:17 [mark_on_fixture]
Marks applied to a fixture never had any effect — pytest deprecated this in 7.4 and lists it as removed in pytest 9.0, so the skipif/parametrize you wrote there is dead.
What you get
- SKILL.md, an offline Node scanner and the 19-rule table
- file:line, severity and the pytest release for each finding
- The replacement call, applied only after you agree
- CI: node scripts/scan.js . exits 1 on any error
Install
Unzip into ~/.claude/skills/ (all projects) or your-repo/.claude/skills/ (one repo), then ask Claude Code: "We're upgrading pytest to 8 in this repo. Will our tests and conftest.py still work? Don't edit anything yet.". Needs Node 16+.
unzip pytest8-deprecation-check.zip -d ~/.claude/skills/
Ask Claude
“We're upgrading pytest to 8 in this repo. Will our tests and conftest.py still work? Don't edit anything yet.”
What it does not do
It does not run pytest or import your tests; it reads file text only. No network calls, no edits without your OK.
FAQ
What is a Claude Code skill?
A folder with a SKILL.md and scripts that Claude Code loads when your request matches it. You ask in plain words and Claude runs the scanner the skill carries.
How is this different from asking Claude without the skill?
The skill carries a dated rule table and a scanner that reads every file, so Claude quotes the exact date and line instead of answering from memory.
Does it send my code anywhere?
It does not run pytest or import your tests; it reads file text only. No network calls, no edits without your OK.
How do I install it?
Unzip into ~/.claude/skills/ (all projects) or your-repo/.claude/skills/ (one repo), then ask Claude Code: "We're upgrading pytest to 8 in this repo. Will our tests and conftest.py still work? Don't edit anything yet.". Needs Node 16+.
What do I get when I buy?
The zip. On Whop it is in your library as a download lesson with the zip attached; on Gumroad it is the product file.