test-ml-pipeline

Routes ML experiment test creation to category subskills while enforcing stem-pairing rules.

1|Updated Jun 22, 2026
One-click install
npx skills add https://github.com/probabl-ai/ibm-workshop --skill test-ml-pipeline-probabl-ai
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: test-ml-pipeline
Source: https://github.com/probabl-ai/ibm-workshop/tree/main/.bob/skills/test-ml-pipeline
Command: npx skills add https://github.com/probabl-ai/ibm-workshop --skill test-ml-pipeline-probabl-ai

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pytest.

What problem does it solve? In an ML workspace, every experiment needs a paired pytest test, but deciding which test category applies and keeping file naming consistent across journal notes, experiment scripts, and test files is error-prone. This Skill acts as a router that enforces the pairing contract and dispatches test authoring to the right subskill. ## Core Features & Use Cases - Stem-pairing enforcement: Guarantees that tests/<category>/test_NN_<short_name>.py only exists when journal/NN_<short_name>.md is approved and experiments/NN_<short_name>.py exists, keeping the three artifacts 1:1. - Category dispatch table: Routes smoke, regression, and distribution test requests to the matching subskill (smoke-test-ml-pipeline in v1), defaulting to smoke when the request is ambiguous. - Scaffolding placement: Creates the empty pytest test file with a def test_*(): stub and TODO marker without overwriting existing files, then hands off assertion writing to the subskill. - Use Case: After a design note for experiment 02_feature_eng is approved, ask for its smoke test and the Skill verifies the journal and experiment files, places tests/smoke/test_02_feature_eng.py, and hands off to the smoke-test subskill. ## Quick Start Ask the assistant to write the smoke test for experiment 02 so it verifies the approved design note, scaffolds the paired pytest file, and dispatches to the smoke-test subskill.

Frequently Asked Questions about test-ml-pipeline

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write a smoke test for an ML experiment?

First ensure the experiment has an approved design note in the journal and a matching script in experiments/. The Skill then places tests/smoke/test_NN_<short_name>.py with pytest scaffolding and hands off to the smoke-test-ml-pipeline subskill, which writes the actual assertions.

What naming convention pairs pytest tests with experiment scripts?

The test file basename is test_NN_<short_name>.py, where NN_<short_name> exactly matches the experiment script and journal design note stems. The pairing is strictly 1:1 per category, so variants like test_NN_v2.py are not allowed; tests evolve by editing in place.

Can I create a test before the design note is approved?

No. The Skill refuses to create any test file unless the matching journal/NN_<short_name>.md exists and is at least approved. If the design note is missing, it hands off to the iterate-ml-experiment skill first, since the design note is the contract the test asserts.

Does this Skill run pytest or write test assertions?

No. It only places the empty scaffolded test file and dispatches to a category subskill such as smoke-test-ml-pipeline, which owns assertion bodies and fixtures. Running pytest is left to the user or CI.

What happens when a smoke test fails in an ML pipeline?

A smoke test failure usually signals a structural problem in the DataOps pipeline layout rather than a model metric issue. The recommended response is to re-enter the build-ml-pipeline skill to fix the pipeline shape before iterating on the model.