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 agentmods add skills/s977043/river-review/code-unit-python-pytestnpx skills add s977043/river-review --skill code-unit-python-pytestgit clone --depth 1 https://github.com/s977043/river-reviewWrote 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/s977043/river-review/code-unit-python-pytest)<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>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.00019 | $0.00663 |
| Opus 5 | $0.00010 | $0.00331 |
| Sonnet 5 | $0.00004 | $0.00133 |
| Haiku 4.5 | $0.00002 | $0.00066 |
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.
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スタイルを使用してください。- 実装の詳細は記述せず、インターフェースの入出力と振る舞いに注目してください。
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.
- 2d ago First seen · 73 lines · 19 tokens per session scan A 23c003c7578b
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.
Other skills, from other repositories
python-quality
Python品質チェック。pytest/mypy/Black実行時に使用。「Pythonの品質チェック」「Pythonの静的解析」で起動。Do NOT use for Flask固有の品質チェック(→ flask-quality)。.
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.
python-testing
Python testing patterns with pytest including unit tests, integration tests, fixtures, mocking, and coverage. Use when writing Python tests.
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-заглушками.…
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…
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.