| name | geobench-run-cursor |
| description | Run GeoBench with Cursor Agent. Use when the user asks to run cursor-agent, Cursor CLI, kimi-k3-max, gemini-3.7-flash-high, glm-5.2-high, or /geobench-run-cursor. Shared reset, isolation, grade, and import live in the geobench-run skill.
|
GeoBench via Cursor Agent
Read geobench-run first. --harness is cursor-agent.
In the container the binary is plain cursor-agent on PATH (the Windows-only cursor-agent.cmd / agent confusion does not exist there). Listing ids: docker exec geobench-login cursor-agent models, or run the same via a one-off container.
Invoke
Runs in the geobench-agent container. --force is required in -p or the agent only proposes edits. --trust skips the workspace prompt. --sandbox disabled is fine: the container is the sandbox and only the task workspace is mounted.
The instruction is a trailing argument. Do not insert -- before "$prompt". Do not pipe the prompt on stdin.
export MSYS_NO_PATHCONV=1
prompt="$(<"$root/tasks/$task/instruction.md")"
docker run --rm --security-opt seccomp=unconfined \
-v geobench-agent-home:/home/agent \
-v "$(cygpath -w "$root/tasks/$task/workspace"):/work" \
-v "$(cygpath -w "$root/tasks/$task/instruction.md"):/instruction.md:ro" \
-w /work geobench-agent \
cursor-agent -p --force --trust --sandbox disabled \
--workspace /work --model "<cursor-model-id>" \
--output-format stream-json "$prompt"
Models
Effort is part of the model id, not a separate flag. Ids that have completed a suite on this host: gemini-3.7-flash-high, glm-5.2-high, kimi-k3-max.
The retained Cursor catalog also exposes composer-2.5,
cursor-grok-4.5-high, and cursor-grok-4.6-high; use those exact IDs rather
than inventing a separate effort flag. Composer has no effort suffix in the
installed catalog, so record it as the default variant.
Pitfalls
-- before "$prompt" → option parsing stops, instruction is dropped, exit 0, no files written.
- Container login missing →
cursor-agent login in the login container, or copy host auth per docker/README.md.
Rate limits and resume
On the Windows Docker host, use the shared runner's
--security-opt seccomp=unconfined, retain geobench-agent-home, and keep one
disposable --rm task container active at a time. If Cursor rate-limits or the
outer session stops, preserve that item's logs/timing, clean only its exact
stale task container, reset with python scripts/generate_tasks.py, and resume
the same queue item later. A model is complete only after its matching verify
artifact exists; never use a partial workspace for the next model.
Provider quota/session responses are recorded as rate_limited and stop the
suite so the item can resume cleanly after reset.