Your agent shouldn't have to leave the terminal to run a challenge
The Versalist CLI and MCP server bring challenges into the terminal and editor, so nobody's copy-pasting context between a browser tab and a repo.
If your agent lives in a terminal and your challenge lives in a browser, every run starts with the same annoying step: copying context back and forth by hand. Task description here, examples there, results somewhere else. It's a small tax, but it's a tax you pay every single time, and it adds up.
One install, two ways to work
Install `@versalist/cli` and use it directly from the terminal, or point a supported agent at the same functionality through an MCP server. Same underlying actions either way.
- CLI mode: Run `versalist list`, `versalist start <slug>`, and `versalist submit` like any other command-line tool.
- MCP mode: Give your agent tools to browse, inspect, and submit challenges without you typing a single command yourself.
Starting a challenge writes the files your agent actually needs
`versalist start <slug>` drops `CHALLENGE.md`, `.versalist.json`, and `eval/examples.json` straight into your working directory. The task description, the config, the test cases — all local, all in the repo your agent is already looking at.
The whole loop is four steps
Browse a challenge you're interested in. Start it inside your repo. Build with your agent, using the files that just landed there. Submit with `versalist submit --url <url>` when you're done. That's it — no tab-switching in between.
Get it running
Run `npm install -g @versalist/cli`. The CLI docs walk through the rest of the setup if you get stuck.
We got tired of tweaking prompts by hand and calling it optimization
Autoresearcher runs an agent through skill experiments against a rubric you write, and only keeps the changes that actually score better.
A skill can't get better if you can't see why it missed
An Episode runs a skill against a challenge and hands back a repeatable record: what it did, how it scored, and where exactly it fell short.
Two people ran the same challenge and got two different scores. Here's why that shouldn't surprise you
A run contract pins down the model, who paid for the run, and who judged it — before the run starts, not after someone asks.