Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

skilltest_pytest-0.1.1.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

skilltest_pytest-0.1.1-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file skilltest_pytest-0.1.1.tar.gz.

File metadata

  • Download URL: skilltest_pytest-0.1.1.tar.gz
  • Upload date:
  • Size: 18.9 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

Hashes for skilltest_pytest-0.1.1.tar.gz
Algorithm Hash digest
SHA256 1d3135e388f88927c12b55afb8a823559b518bfa150a78a2b5168c4c2439d864
MD5 aa29f0b2e0da1f552b4f4a842fee56c4
BLAKE2b-256 454bee70489f6314ec6ab762929ea19ea81357f72c131e8e39845ed9d8ef8f66

See more details on using hashes here.

File details

Details for the file skilltest_pytest-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: skilltest_pytest-0.1.1-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

Hashes for skilltest_pytest-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c1fc5ee9241c9d6fc4e193424c4cfebd5196a55c9149e758c3ac3feee50044f2
MD5 d2d1890bd34a4375dc96aea6af13aec1
BLAKE2b-256 f43c3867ca86a5cad379badc650b74e8fd7fc4c49deb65507be3d6f2719e6cf9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page