Define the capability, not the benchmark
Start from the behavior the deployed agent must produce, then design tasks that exercise it. The reverse order, adopting a public benchmark and training against it, produces models that score well and transfer badly, because public benchmarks encode someone else's task distribution and are often contaminated.
Write the capability as a set of task families with explicit success criteria. For a support agent: resolve a billing dispute given account tools, escalate correctly when policy requires it, recover after a tool returns an error. Each family becomes a generator of task instances, not a fixed list.