Help us improve
Share bugs, ideas, or general feedback.
From beagle-python
Reviews pytest test code for async patterns, fixtures, parametrize, and mocking. Activates on test_*.py files to catch async/sync mismatches, fixture scope issues, mock call-site errors, and test duplication.
npx claudepluginhub existential-birds/beagle --plugin beagle-pythonHow this skill is triggered — by the user, by Claude, or both
Slash command
/beagle-python:pytest-code-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
| Issue Type | Reference |
Write and evaluate effective Python tests using pytest. Covers test design, fixtures, parameterization, mocking, and async testing.
Generates pytest test suites from source code, covering happy paths, edge cases, error conditions, async flows, with fixture scaffolding and focused mocks.
Reviews pytest test suites for coverage, isolation, mock usage, naming conventions, and completeness using checklists and coverage reports.
Share bugs, ideas, or general feedback.
| Issue Type | Reference |
|---|---|
| async def test_*, AsyncMock, await patterns | references/async-testing.md |
| conftest.py, factory fixtures, scope, cleanup | references/fixtures.md |
| @pytest.mark.parametrize, DRY patterns | references/parametrize.md |
| AsyncMock tracking, patch patterns, when to mock | references/mocking.md |
Work in order. Do not assert pytest-specific problems until each applicable gate passes.
test_*.py and any conftest.py you will cite; no findings for files outside that list.async def test_* / await; if yes, open references/async-testing.md before criticizing async usage.conftest.py path(s) or state none; for yield fixtures, confirm cleanup exists before claiming resource leaks.patch or mock critique, you give the import path where the symbol is used (call site), or mark N/A; open references/mocking.md when mocking is central to the review.async def test_* for async code under test