"Run YiVal experiments through the CLI or Python APIs, interpret
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill run --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Run?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-run)More formats (shields.io, HTML) on the badges page.
---
name: run
description: "Run YiVal experiments through the CLI or Python APIs, interpret
result artifacts, and use interactive/Dash/bot workflows."
disable-model-invocation: true
metadata:
disco-role: operating
license: Apache 2.0
---
# YiVal run workflows
Use this sub-skill when the config is ready and the user wants to run YiVal, inspect outputs, resume from saved experiment data, use the Dash/interactive UI, or call `ExperimentRunner` / `LiteExperimentRunner` programmatically.
## Read first
- [Runtime workflows](references/runtime-workflows.md): CLI and API execution patterns.
- [Runner API](references/runner-api.md): `ExperimentRunner`, `LiteExperimentRunner`, state, output pickle behavior.
- [Output and UI](references/output-and-ui.md): result structures, Dash, Streamlit/bot, interactive mode.
- [Runtime troubleshooting](references/troubleshooting.md): run-time failures and fixes.
## Safe pre-run checks
1. Run installation smoke from the skill root: `python scripts/check_install.py`.
2. Validate YAML using the setup sub-skill.
3. Run a tiny no-network fixture from the skill root: `python scripts/write_minimal_experiment.py --run`.
4. For provider-backed configs, verify environment variables and set small `number_of_examples` / `number_of_variations` first.
## CLI run patterns
```bash
yival validate config.yml
yival run config.yml --output_path results.pkl
```
For non-blocking/headless automation, prefer Python API:
```python
from yival.experiment.experiment_runner import ExperimentRunner
runner = ExperimentRunner("config.yml")
runner.run(display=False, interactive=False, output_path="results.pkl", experiment_input_path="")
```
Why: CLI `--display` defaults to `True`, so it may start Dash and block until the UI server exits.
## Programmatic runner selection
| Need | Use |
| --- | --- |
| YAML-driven full experiment | `ExperimentRunner(config_path).run(...)` |
| Existing in-memory data/evaluator/config | `LiteExperimentRunner(...).run_experiment(enable_selector=True/False)` |
| Async custom function | `ExperimentRunner.run(async_eval=True)` and ensure the custom function is coroutine-compatible |
| Reuse saved experiment pickle | `ExperimentRunner.run(experiment_input_path="previous.pkl", ...)` |
| Interactive user input | `dataset.source_type: user_input` or `yival demo --basic_interactive` |
| Chat/bot over experiment output | `yival bot config.yml` after checking UI constraints |
## Runtime sequence inside `ExperimentRunner`
1. Load one or more configs with `load_and_validate_configs()`.
2. Register custom components from the YAML.
3. Build `Evaluator` and `ExperimentState`.
4. Build all variation combinations from the state.
5. Process data with `DataProcessor` unless reusing an experiment pickle.
6. Call the custom function for each data row / combination.
7. Evaluate individual results and aggregate metrics into an `Experiment`.
8. Apply selection strategy, enhancer, and optional trainer when configured.
9. Write pickle output and optionally launch Dash/interactive/bot UI.
## Output interpretation
- `output_path="results.pkl"` writes `results_0.pkl` for the first config.
- Each `ExperimentResult` contains `input_data`, `combination`, `raw_output`, `latency`, `token_usage`, and `evaluator_outputs`.
- `Experiment.combination_aggregated_metrics` is where AHP selection reads metrics such as `average_token_usage`, `average_latency`, and aggregated evaluator names.
- `Experiment.selection_output.best_combination` is a stringified combination key when a selection strategy runs.
## When to route elsewhere
- If the config will generate examples or prompt variations, read [prompt-automation](../prompt-automation/SKILL.md).
- If selecting metrics, evaluators, human ratings, or enhancers is the main issue, read [evaluation-optimization](../evaluation-optimization/SKILL.md).
- If custom components fail to register or import, read [custom-components](../custom-components/SKILL.md).
- If the user asks for fine-tuning/training, state that it is optional and heavy, then require explicit approval for trainer extras, credentials, downloads, GPU, and cost before proceeding.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!