| name | challenge-help |
| description | Entry point for the Simulation Challenge skill set. Use when the user mentions the challenge, leaderboard, submitting a model, or any of the /api/challenge/* endpoints โ this skill picks the right downstream skill for them. |
challenge-help โ Pick the right skill
You are an AI assistant helping a contestant operate the Simulation Challenge platform end to end. This skill is the router: read the user's intent and direct them to the next skill, then hand off.
Stage map
โโ prep (before any job) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ challenge-download- โ โ challenge-baseline- โ
โ datasets โ โโโถ โ model โ
โ LeRobot v2.1 training โ โ clone code + ModelScope โ
โ data from ModelScope โ โ ckpts โ install โ run โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโ
โ challenge-login โ get/refresh CHALLENGE_TOKEN
โโโโโโโโโโฌโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโโโโ
โ challenge-submit- โ POST /api/challenge/job โ JOB_UUID, PARALLELISM, TUNNEL_ENDPOINT
โ job โ (counts against the 4-submissions-per-day quota!)
โโโโโโโโโโฌโโโโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโโโโ
โ challenge-run- โ ./scripts/tunnel.sh <gpu> <job_uuid> <endpoint>
โ agent โ scale to PARALLELISM processes
โโโโโโโโโโฌโโโโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ
โ challenge-poll- โ โโโโโโโถ โ challenge- โ
โ result โ โ troubleshoot โ โ if Failed / stuck
โโโโโโโโโโฌโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโโโโ
โ challenge-ranking โ best-score + leaderboard
โโโโโโโโโโโโโโโโโโโโโโ
Routing rules
| User says / intends | Use this skill |
|---|
"ไธ่ฝฝ่ฎญ็ปๆฐๆฎ/ๆฐๆฎ้", "download training data", "get the lerobot v2.1 data", "download task suite", mentions download_dataset.sh / GenieSim3.0-Dataset | challenge-download-datasets |
| "ๆๅ/ๆญไธไธช baseline", "ไธ่ฝฝๆจ็ไปฃ็ /ๆ้", "clone the inference repo", "download ckpts", "set up/run the baseline model", "้จ็ฝฒ/่ทไธช demo" | challenge-baseline-model |
| "log in", "I have credentials", "token expired" | challenge-login |
| "submit my model", "create a job", "what's my quota" | challenge-submit-job |
| "start the agent", "run my SDK", "use that GPU", "launch inference" | challenge-run-agent |
| "is my job done", "check the score", "what's the status of $JOB_ID" | challenge-poll-result |
| "where am I on the leaderboard", "best score" | challenge-ranking |
| "agent disconnected", "401", "stuck in Pending", "Failed why" | challenge-troubleshoot |
End-to-end "submit and run" โ challenge-submit-job โ challenge-run-agent โ challenge-poll-result | daisy-chain in order |
Hard rules
- Always confirm before
challenge-submit-job (each submission burns 1/4 daily quota) and before launching agent processes (they hold a parallelism slot).
- Read-only calls run without confirmation: login, current-user-info, jobs/result/log, best-score, ranking, quota check.
- The gateway host is fixed at
120.92.88.78 and does not change. Defaults: BASE_URL=http://120.92.88.78 (HTTP API base for all curl "$BASE_URL/api/challenge/..." calls) and TUNNEL_ENDPOINT=ws://120.92.88.78/api/challenge/tunnel (WebSocket tunnel for tunnel.sh/run-agent). If the job response carries a tunnel_endpoint, prefer it; otherwise fall back to the default above โ do not block on it being absent.
board has a closed allowed-value set today. config.board accepts exactly one of instruction / spatial / manip / robust. Any other value gets a 400 and burns quota. If the user proposes something else, stop and verify against challenge-submit-job Step 2 / ../user-manual.md before POSTing. Do not invent.
- If
CHALLENGE_TOKEN is missing or returns 401, jump to challenge-login first.
- Auto-pilot does not skip confirmation gates. If the user says "ๅ
จ็จๅๅฎ" / "do it end to end", you may merge the gates into a single up-front confirmation ("I'll submit job + launch K agents + poll until terminal โ OK?"), but you may not run them silently. The 4/day quota and the GPU-holding agents are user-visible costs that must be approved.
- 4xx is a semantic rejection, never a network blip. Do not retry a 400/401/403/404 just because the user says "ๅฏ่ฝๆฏ็ฝ็ปๆๅจ" โ only connection resets / 5xx / timeouts qualify as transient. Refer to
challenge-troubleshoot for the exact response.
Environment contract
These environment variables are the shared state between skills. Treat them as the single source of truth โ never re-derive.
They are persisted to ~/.simubotix-challenge.env (mode 0600). Each Bash call should start with [ -f ~/.simubotix-challenge.env ] && . ~/.simubotix-challenge.env because AI assistants typically spawn each command in a new subshell โ plain export does not survive. See README "State file" for the helper and rationale.
| Variable | Producer | Consumers |
|---|
BASE_URL | fixed default http://120.92.88.78 (override only if explicitly told) | all |
CHALLENGE_TOKEN | challenge-login (writes state file) | all subsequent |
JOB_ID | challenge-submit-job (writes state file) | challenge-poll-result |
JOB_UUID | challenge-submit-job (writes state file) | challenge-run-agent |
PARALLELISM | challenge-submit-job (writes state file) | challenge-run-agent |
TUNNEL_ENDPOINT | challenge-submit-job (job response), else fixed default ws://120.92.88.78/api/challenge/tunnel | challenge-run-agent |
If a downstream skill needs a variable that isn't set after sourcing the state file, don't guess โ go back to the producer skill.