pytest integration for skilltest: auto-collect *.skilltest.yaml cases as pytest tests, built on skilltest-sdk.
Project description
skilltest-pytest
A pytest plugin for skilltest: run
AI-skill tests and natural-language evals as ordinary pytest tests, and mix in
your own deterministic checks. Built on
skilltest-sdk — the SDK's code API is
re-exported here, so a pytest suite needs only this one dependency.
Two ways to use it
Auto-collected case files. Name a case something.skilltest.yaml and pytest
runs it:
# greet.skilltest.yaml
skill: ./skills/greeter
input: "Greet Dr. Smith."
evals:
- type: boolean
criterion: "the reply greets Dr. Smith by name"
As code, for matrices and deterministic mix-ins:
from skilltest_pytest import run_skill
def test_greeter():
report = run_skill("cases/greet.yaml", platforms=["claude-code"], models=["claude-opus-4-8"])
assert report.passed, report.describe_failures()
assert "Dr. Smith" in report.runs[0].transcript.assistant_text()
Configuration
The plugin shells out to the skilltest binary. Point it at one with the
SKILLTEST_BIN env var (or bin=), the provider with SKILLTEST_PROVIDER (or
provider=), and set defaults in pyproject.toml:
[tool.pytest.ini_options]
skilltest_provider = "oneharness"
skilltest_platforms = ["claude-code"]
skilltest_models = ["claude-opus-4-8"]
See the repository root for the provider protocol and the full schema.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file skilltest_pytest-0.3.0.tar.gz.
File metadata
- Download URL: skilltest_pytest-0.3.0.tar.gz
- Upload date:
- Size: 19.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e8e566eb0080954c9003c49784a4e3c88a2eaf0ac76dddfe6a62819014da7b3
|
|
| MD5 |
e2b9c587967e3c1fe650e71cba51a0a1
|
|
| BLAKE2b-256 |
170f5d8d4c7074f298f129f13c5bd129d56440360e65214f366e94e102b3d3c3
|
File details
Details for the file skilltest_pytest-0.3.0-py3-none-any.whl.
File metadata
- Download URL: skilltest_pytest-0.3.0-py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0529b213a59b26d69dd8ab33e6cdfe02cc66a2b646885df707f0516a3e1c75b8
|
|
| MD5 |
9d04044075c1de385a365a790de024f8
|
|
| BLAKE2b-256 |
52527227d678af120eb7d8488a622a4cafe1eb3f422e41a7a867616cf7e01720
|