> ## Documentation Index
> Fetch the complete documentation index at: https://smithers.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# eval-author

> Turn acceptance criteria into eval fixtures (JSONL cases + rubric) wired to smithers eval.

`eval-author` is an archived example, not installed by `init`. Copy it from `examples/init-pack/` with its dependency closure, or ask `create-workflow` to build an equivalent.

`eval-author` turns plain-English acceptance criteria into a runnable Smithers eval
suite: cases, a `.jsonl` fixture under `.smithers/evals/`, and the exact
`bunx smithers-orchestrator eval` command to run it (see Stages below). Use it when
you have a goal or acceptance criteria and want a repeatable, regression-safe check
for a workflow.

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
bunx smithers-orchestrator workflow run eval-author \
  --input '{"prompt":"Release notes must list every breaking change","workflow":".smithers/workflows/release.tsx"}'
```

## Stages

1. **derive**: turn the criteria into a structured suite, with a kebab-case `suiteName` and a list of cases (`id`, `input`, `expected`, `rubric`).
2. **write**: write the JSONL fixture to `.smithers/evals/<suiteName>.jsonl` and return its `path`, `caseCount`, and the `runCommand` (`bunx smithers-orchestrator eval <workflow> --cases .smithers/evals/<suiteName>.jsonl --suite <suiteName>`).

## Inputs

| Input      | Type           | Default                                                              |
| ---------- | -------------- | -------------------------------------------------------------------- |
| `prompt`   | string         | `"Describe the acceptance criteria / goal to turn into eval cases."` |
| `workflow` | string or null | `null` (leaves a `<workflow>` placeholder in the run command)        |

The fixture's assertions support `status`, `output` (exact match), and
`outputContains` (partial match). See [Recipes](/recipes#eval-suites-for-regressions)
for the eval-suite format and how reports land in `.smithers/evals/<suite>.json`.
