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 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/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/s977043/river-review/code-unit-python-pytest"><img src="https://agentmods.dev/badge/skills/s977043/river-review/code-unit-python-pytest.svg" alt="Reviewed on agentmods" width="80" 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.5 | $0.00008 | $0.00265 |
| Sonnet 5.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 1mo 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.
- 1mo 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 (7 stars, last pushed yesterday), licensed MIT. It adds 19 tokens to every session and 663 once invoked, about $0.0001 per session on Opus 5.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
A Python quality-check workflow using tests, type checking, linting, formatting, and import sorting. Type checking verifies that values are used with the expected kinds, while linting finds common code problems.
pydantic-ai-testing
Test PydanticAI agents using TestModel, FunctionModel, VCR cassettes, and inline snapshots. Use when writing unit tests, mocking LLM responses, or recording API interactions.
litestar-testing
Auto-activate for test.py, conftest.py, litestar.testing, TestClient, AsyncTestClient, createtestclient, createasynctestclient, anyio, Guard mocks, or DI overrides. 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.
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…
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.