bunx smthrs optimize to generate improved prompts for agent tasks via GEPA, verify the improvement against your eval suite, and save the result as a reusable artifact.
gpt-5.6-luna with reasoning
effort medium; pass --provider to use another backend (see
Providers).
bunx smthrs optimize runs the eval suite twice:
- baseline run with the workflow’s current prompts
- optimized run with GEPA-generated prompt patches applied
--min-improvement; reports for both runs go to .smithers/optimizations/reports unless --report-dir is set.
Reuse an artifact
Apply the optimized prompts to future evals with--optimization:
<Task> prompts by nodeId; workflow structure, output schemas, retries, approvals, and persistence behavior stay unchanged.
Cerebras improvement demo
This run shows a GEPA patch fixing a baseline failure: the baseline prompt omitted the required optimization token and failed the eval, then Cerebras GEPA’s patch added the token and the optimized eval passed.Providers
bunx smthrs optimize accepts the same provider vocabulary Smithers uses for agents and accounts:
Default models track the SOTA model registry (current defaults and badges, refreshed by a daily research job). CLI provider names (
codex, claude-code, antigravity, gemini, kimi) map to their hosted API equivalents for optimization, since GEPA needs a direct model call to propose prompt patches; providers with no single hosted backend (opencode, pi, amp, forge) go through a generic OpenAI-compatible endpoint instead.
Smithers defaults research and prompt-optimization work to Luna. Automatic
workflow routing keeps non-Codex providers behind Codex, but this standalone command
never silently swaps paid API backends: if OpenAI is unavailable, select a
Cerebras, Claude, Kimi, or other fallback explicitly with --provider.
--provider heuristic is deterministic, needs no API call, and is meant for local tests and fixtures: place optimizationHints in each case’s metadata to control the patch, for example: