Define Workflows
Author scenario suites for repository, CLI and MCP tasks, optionally with skill or custom-agent context.
Waza is a Go CLI for evaluating agent workflows, skills and custom agents. Define repository, CLI or MCP scenarios in YAML, run graded trials and inspect the recorded evidence. Existing skill suites remain supported.
Perfect for skill authors, platform teams, and developers building AI-powered applications.
Define Workflows
Author scenario suites for repository, CLI and MCP tasks, optionally with skill or custom-agent context.
Run Benchmarks
Execute evaluations against different AI models with fixture isolation and pluggable validators.
Compare Results
Cross-model comparison to measure skill effectiveness and track improvements.
Validate Quality
Use 13 native grader types to inspect task output, files, tool observations and behavior.
View Metrics
Interactive web dashboard with live results, trends, detailed analysis, and exports.
Integrate with CI/CD
Automated evaluation runs on pull requests with GitHub Actions integration.
Start credential-free with the offline Quick Start. After installing v0.39.0 or building from source as described there:
waza init my-eval-suite --no-skillcd my-eval-suitewaza new eval inventory --scenario --template repositorywaza preflight evals/inventory/eval.yaml# Continue in Quick Start: explicitly select mock in YAML before any run.A mock pass proves harness wiring, not agent quality. Before real SDK execution, read the authentication, permissions and possible-cost prerequisites in Getting Started. Preflight is inventory, not execution or release assurance.
Define evaluation specs, tasks, and validation rules in simple YAML:
After scaffolding code-explainer, use the
Getting Started explanation task and sample.py fixture.
This suite selects only tasks/basic-usage.yaml, not the unrelated scaffolded
edge-case/negative tasks. With the mock executor, expect exit 0 and
1/1 selected tasks passed (basic-usage-001): a wiring check, not agent
quality. The code grader requires Python.
name: code-explainer-evaldescription: Test agent's ability to explain codeskill: code-explainer
config: executor: mock trials_per_task: 1 model: claude-sonnet-4.6 timeout_seconds: 300metrics: - name: task_completion weight: 1 threshold: 1
graders: - type: text name: checks_logic weight: 2.0 config: regex_match: ["(?i)(function|logic|parameter)"] - type: code name: has_output config: assertions: - "len(output) > 100"
tasks: - "tasks/basic-usage.yaml"13 native grader kinds (regex and keyword checks are part of text):
Each task gets a fresh temp workspace with fixtures copied in. Original fixtures never modified.
Test skills against multiple AI models:
waza run eval.yaml --model gpt-4o -o gpt4.jsonwaza run eval.yaml --model claude-sonnet-4.6 -o sonnet.jsonwaza compare gpt4.json sonnet.jsonServe interactive results:
waza serve# opens http://localhost:3000 — view runs, comparisons, trends, and live updatesIntegrated GitHub Actions support for automated evaluation runs.
Questions? Open an issue or check the GitHub repository.