Skip to content
Back to skills

Run

ASecurity

"Run YiVal experiments through the CLI or Python APIs, interpret

  • 247 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 9, 2026
toolspythonbashapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 9, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill run --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Run?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Run
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-run/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-run)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.

Files in this skill

  • SKILL.md4.1 KB
  • references/output-and-ui.md1.6 KB
  • references/runner-api.md2.2 KB
  • references/runtime-workflows.md2.1 KB
  • references/troubleshooting.md2.2 KB
  • scripts/inspect_pickle.py1.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.