run-eval
Run the LangSmith evaluation suite and display pass/fail results
14 stars
Best use case
run-eval is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Run the LangSmith evaluation suite and display pass/fail results
Teams using run-eval should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
$curl -o ~/.claude/skills/run-eval/SKILL.md --create-dirs "https://raw.githubusercontent.com/spideystreet/medox/main/.claude/skills/run-eval/SKILL.md"
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/run-eval/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How run-eval Compares
| Feature / Agent | run-eval | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Run the LangSmith evaluation suite and display pass/fail results
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# /run-eval
## Steps
1. **Ensure Docker is running**
```bash
docker compose ps
```
If PostgreSQL or ChromaDB is not up:
```bash
docker compose up -d
```
2. **Run the evaluation suite**
```bash
uv run dotenv -f .env run -- python scripts/run_eval.py
```
Note the experiment name printed (e.g. `medox-<hash>`).
3. **Fetch and display results**
Write the following script to `/tmp/check_eval.py` then run it:
```python
from langsmith import Client
client = Client()
runs = list(client.list_runs(project_name='<experiment_name>', is_root=True))
print(f'Eval cases: {len(runs)}')
print()
passed, failed = 0, 0
for run in runs:
fb = list(client.list_feedback(run_ids=[str(run.id)]))
score = fb[0].score if fb else None
comment = fb[0].comment if fb else ''
prompt = (run.inputs or {}).get('prompt', '').strip()[:75]
status = 'PASS' if score == 1 else 'FAIL'
if score == 1:
passed += 1
else:
failed += 1
print(f'[{status}] {prompt}')
if comment and comment != 'OK':
print(f' -> {comment}')
print()
print(f'Result: {passed} passed, {failed} failed out of {len(runs)}')
```
Replace `<experiment_name>` with the value printed in step 2, then:
```bash
uv run dotenv -f .env run -- python3 /tmp/check_eval.py
```
4. **Investigate failures**
For any `[FAIL]`, read the comment and:
- Check the relevant node/tool in `src/medox/agent/`
- Check the evaluator logic in `scripts/run_eval.py`
- Use `/add-eval-case` to add a regression case if a new edge case was found
5. **Report summary**
Print the final `Result: N passed, M failed out of X` line to the user.Related Skills
We are still matching the closest adjacent skills for this page. In the meantime, continue through the full directory.