Unit Test Scaffold (Python/pytest)

Unit Test Scaffold (Python/pytest) is a skill for Claude Code from s977043/river-review. It costs 19 tokens per session (663 once invoked), scanned A, original, MIT.

A generator for Python unit-test skeletons using pytest, a popular Python testing tool. It turns requirements in a specification into test functions with TODO comments.

In plain words
What is it for?
Use it to outline tests for Python application behavior, including valid inputs and expected exceptions. It covers unit tests, not browser or integration testing.
Why use it?
It helps you identify expected inputs, outputs, and errors before implementing the code, without assuming details that the specification does not state.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the river-review plugin — 140 skills, 15 commands, 5 agents, 2 hooks shipped together

Install

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.

agentmods
npx agentmods add skills/s977043/river-review/code-unit-python-pytest
Any agent
npx skills add s977043/river-review --skill code-unit-python-pytest
Clone the repo
git clone --depth 1 https://github.com/s977043/river-review

Made for: Claude Code.

Or install river-review, the plugin that ships this one along with the rest of its 140 skills, 15 commands, 5 agents, 2 hooks.

Wrote 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.

agentmods badge for Unit Test Scaffold (Python/pytest)

README.md
[![agentmods](https://agentmods.dev/badge/skills/s977043/river-review/code-unit-python-pytest.svg)](https://agentmods.dev/skills/s977043/river-review/code-unit-python-pytest)
Your own site
<a href="https://agentmods.dev/skills/s977043/river-review/code-unit-python-pytest"><img src="https://agentmods.dev/badge/skills/s977043/river-review/code-unit-python-pytest.svg" alt="Measured on agentmods" height="20"></a>
Per session 19 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 663 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00019 $0.00663
Opus 5 $0.00010 $0.00331
Sonnet 5 $0.00004 $0.00133
Haiku 4.5 $0.00002 $0.00066

Measured 2d ago against content hash 23c003c7578b, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

Unit Test Scaffold (Python/pytest) 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 2d 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.

skills/upstream/code-unit-python-pytest/SKILL.md · 73 lines

What it actually says

Pattern declaration

Primary pattern: Generator Secondary patterns: Inversion Why: 仕様書からpytestユニットテストの足場を生成するジェネレーターであり、仕様の抜けをテスト観点から逆照射する。

Role

あなたは熟練したPython開発者です。 仕様書の内容を満たすための「単体テストのスケルトンコード(足場)」を作成してください。

Non-goals / 扱わないこと

  • 実装ロジックの具体的な書き方や最適化は示さない。
  • E2E/統合テストの網羅は対象外で、pytest によるユニットテストの足場に限定する。

Pre-execution Gate / 実行前ゲート

このスキルは以下の条件がすべて満たされない限りNO_REVIEWを返す。

  • 差分に仕様書(docs/**/*.md または specs/**/*.md)が含まれている
  • 仕様書にPythonアプリケーションに関する記述がある
  • inputContextにfullFileが含まれている

ゲート不成立時の出力: NO_REVIEW: code-unit-python-pytest — 対象となるPython仕様が差分に含まれていない

False-positive guards / 抑制条件

  • 仕様にない要件を推測で追加しない。
  • 対象外と明記された領域(例: 外部サービス連携の実装詳細)への指摘は行わない。

Output Format

Python (pytest) のコードブロック。 test_ で始まる関数、または Test で始まるクラスを使用します。 各テスト関数の中に、検証すべき内容をコメントで # TODO: ... として記述してください。

Example

import pytest
from my_module import UserRegistration

class TestUserRegistration:
    def test_should_raise_error_when_email_is_invalid(self):
        # TODO: Arrange invalid email input
        # TODO: Act call registration
        # TODO: Assert ValueError is raised
        pass

Constraints

  • unittest ではなく pytest スタイルを使用してください。
  • 実装の詳細は記述せず、インターフェースの入出力と振る舞いに注目してください。
Changes

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.

  1. 2d ago First seen · 73 lines · 19 tokens per session scan A 23c003c7578b

Subscribe to this mod's changes

Unit Test Scaffold (Python/pytest) is a skill published in the GitHub repository s977043/river-review (3 stars, last pushed today), licensed MIT. It adds 19 tokens to every session and 663 once invoked, about $0.0001 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-09-03.

Related

Other skills, from other repositories

python-quality

Python品質チェック。pytest/mypy/Black実行時に使用。「Pythonの品質チェック」「Pythonの静的解析」で起動。Do NOT use for Flask固有の品質チェック(→ flask-quality)。.

morodomi/dev-crew · 47 tokens

litestar-testing

Auto-activate for test.py, conftest.py, litestar.testing, TestClient, AsyncTestClient, createtestclient, createasynctestclient, anyio, Guard mocks, DI overrides, or handler tests. Not for generic pytest.

litestar-org/litestar-skills · 56 tokens

python-testing

Python testing patterns with pytest including unit tests, integration tests, fixtures, mocking, and coverage. Use when writing Python tests.

DmitriyYukhanov/claude-plugins · 28 tokens

test-generator

Генерация pytest-скелетов из Python-модуля по AST с ghostwriter-эвристикой значений аргументов (bool→True/False, int→0/-1/1, str→sample/пустая, list/dict→пустые, Optional→None). Скрипт testgen.py парсит функции/async-функции через ast, пропускает приватные (), генерирует @pytest.mark.parametrize с assert-заглушками.…

bestdeejay-design/agent-skills · 0 tokens

no-silent-pass

Write Python whose failures are visible and checks that actually fire — distinct sentinels for success and error, filters that narrow to nothing without reading as "all clear", output never discarded on a non-zero exit, and selftest cases proven red before they are trusted (mutate the fix, mutate it the other way too…

AleksandarBisevac/claude-plugins · 143 tokens

dhpk-pytest-async

Async pytest + pytest-asyncio testing: asynciomode=auto, SQLite fixtures, httpx.AsyncClient + ASGITransport, unit/integration split, coverage floor, live markers. Use when writing or reviewing async FastAPI/SQLAlchemy tests, or enforcing dhpk-tdd-workflow. Not for production code. Output: offline-green async tests.

hmj1026/dhpk · 79 tokens