---
name: smithersai-smithers-optimize
description: "Run GEPA prompt optimization over a workflow eval suite and write an optimized prompt artifact. Run `smithers optimize --help` for usage details."
license: "MIT"
metadata:
  decimalai-skill-id: "5e010107-dde2-4586-8ce8-b8a8dbf74ee1"
  decimalai-version-id: "21d7b2c7-777e-44cf-9abf-f35f86aab998"
  decimalai-version: "1"
  decimalai-body-sha256: "63432dd88589bd56ca9ea206e3db7f74d572a203c636843df9c9dbb120d04ab9"
  decimalai-name: "smithersai/smithers-optimize"
  decimalai-format: "1"
  decimalai-invocation: "model"
  decimalai-category: "ai-ml"
  decimalai-source: "https://app.decimal.ai/s/smithersai-smithers-optimize@1/SKILL.md"
---
# smithers optimize

Run GEPA prompt optimization over a workflow eval suite and write an optimized prompt artifact.

## Arguments

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `workflow` | `string` | yes | Workflow ID (from `smithers workflow list`) or path to a .tsx workflow file |

## Options

| Flag | Type | Default | Description |
|------|------|---------|-------------|
| `--cases` | `string` |  | JSON or JSONL eval case file |
| `--suite` | `string` |  | Stable suite ID used in run IDs and report paths |
| `--provider` | `string` | `openai-api` | GEPA patch generator provider |
| `--model` | `string` |  | Optimizer model for provider-backed GEPA |
| `--artifact` | `string` |  | Write the optimized prompt artifact to this path |
| `--reportDir` | `string` |  | Directory for baseline and optimized eval reports |
| `--minImprovement` | `number` | `0.000001` | Minimum required absolute score improvement |
| `--maxCases` | `number` |  | Run only the first N cases |
| `--concurrency` | `number` | `1` | Number of eval cases to run at once |
| `--maxConcurrency` | `number` |  | Per-workflow max task concurrency |
| `--root` | `string` |  | Tool sandbox root directory |
| `--log` | `boolean` | `true` | Enable NDJSON event log file output |
| `--logDir` | `string` |  | NDJSON event logs directory |
| `--allowNetwork` | `boolean` | `false` | Allow bash tool network requests |
| `--maxOutputBytes` | `number` |  | Max bytes a single tool call can return |
| `--toolTimeoutMs` | `number` |  | Max wall-clock time per tool call in ms |
