
GAIA Submission
FreeStreamline your GAIA benchmark submission process.
Free · Opens the source repo
What GAIA Submission does
The GAIA Submission skill provides a comprehensive workflow for developers and researchers looking to submit benchmark results to the GAIA leaderboard. It guides users through a series of essential phases, starting from validating the environment to packaging a HAL-compatible submission package. This structured approach ensures that all prerequisites are met and that the submission process adheres to the necessary standards.
The skill operates through a series of command-line instructions that facilitate each step of the submission process. Users can validate their environment, estimate costs associated with running benchmarks, execute the benchmark, package results, and finally, compare their scores against the leaderboard. The built-in integrity checks ensure that submissions are both transport and earning integrity verified, which is crucial for maintaining the credibility of the results.
This skill is particularly useful for those involved in AI benchmarking, as it abstracts away the complexities of preparing submissions, allowing users to focus on their benchmark configurations and results. By providing a clear path from setup to submission, it minimizes the risk of errors and enhances the efficiency of the benchmarking process.
Whether you are a developer working on AI models or a researcher looking to contribute to the GAIA leaderboard, this skill simplifies the submission workflow, making it easier to achieve accurate and reliable results.
When to use it
Use this skill when you need to run a benchmark and submit the results, ensuring compliance with GAIA standards.
When not to use it
This skill is not suitable for users who do not require GAIA benchmark submissions or those who are not familiar with command-line operations.
What you can build with it
Submitting to GAIA Leaderboard
Use this skill to efficiently package and submit your benchmark results to the GAIA leaderboard.
Validating Benchmark Environment
Run pre-flight checks to ensure your environment is correctly set up before executing benchmarks.
Cost Estimation for Benchmarking
Estimate the costs associated with running benchmarks based on your configuration before proceeding.
How to install GAIA Submission
View source1. Install with the skills CLI
npx skills add ruvnet/ruflo/gaia-submission --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by ruvnetGAIA Submission Skill
Walk Claude Code through every step needed to go from a clean environment to a signed, HAL-compatible submission package ready to upload to the Princeton GAIA leaderboard.
When to use
When the user wants to:
- Run a benchmark and submit results to the HAL leaderboard
- Package an existing results file into a submission archive
- Confirm their environment is ready for a benchmark run
Prerequisites
Before starting, confirm these are available:
| Requirement | Check |
|---|---|
ANTHROPIC_API_KEY | echo ${ANTHROPIC_API_KEY:0:8}… (should show sk-ant-…) |
HF_TOKEN | echo ${HF_TOKEN:0:5}… (should show hf_…) |
| Node.js 20+ | node --version |
| CLI built | node v3/@claude-flow/cli/bin/cli.js --version |
Phase 1 — Validate environment
# Run all pre-flight checks
/gaia validate
If any check fails, resolve it before continuing.
Phase 2 — Estimate cost and confirm
Ask the user for their configuration:
- Level (default: 1)
- Question limit (default: 53 for a quick run, 165 for the full L1 set)
- Models (default:
claude-sonnet-4-6) - Self-consistency voting (default: 1; use 3 for L2/L3)
/gaia cost --level=$LEVEL --limit=$LIMIT --models=$MODELS --voting=$VOTING
If projected cost > $5, show the estimate and ask: "This run will cost approximately $X. Proceed? (y/N)"
Phase 3 — Run the benchmark
/gaia run --level=$LEVEL --limit=$LIMIT --models=$MODELS --voting=$VOTING
While running, progress is reported every 5 questions:
[12/53] 22.7% (5 passed of 22 scored) — est. remaining: $0.18
Store the run summary in memory for history tracking:
npx @claude-flow/cli@latest memory store \
--namespace gaia-runs \
--key "run-$(date +%Y%m%d-%H%M)" \
--value '{"level":$LEVEL,"model":"$MODEL","total":$TOTAL,"passed":$PASSED,"pass_rate":$RATE,"est_cost_usd":$COST}'
Phase 4 — Package for submission
/gaia submit --results=~/.cache/ruflo/gaia/results-latest.json
This produces:
submission-<date>-<sha>/
├── results.jsonl ← HAL-compatible, one JSON per line
├── trajectories.jsonl ← full agent traces
├── metadata.json ← harness info, model, tool catalogue
├── audit-report.json ← ADR-167 pre-submission exploit-audit report
├── manifest.md.json ← Ed25519-signed witness (signs audit-report.json's hash)
└── README.md ← human summary + leaderboard comparison
Integrity gate — the audit runs before signing (ADR-167)
Post-RDI (UC Berkeley broke 8 agent benchmarks — GAIA to ~98% — without solving
a task), a signature alone is not enough: it proves the bytes are untampered,
not that the score was earned. /gaia submit therefore runs a deterministic,
$0 exploit audit before signing and refuses to build the leaderboard package
on a CRITICAL failure unless --allow-dirty is passed. The audit report is
signed into the witness manifest as an ADR-103 fix marker, so a ruflo GAIA
submission attests both transport-integrity and earning-integrity.
If the gate blocks, treat it as a real finding — inspect audit-report.json
(answer-leakage, no-work pass, oracle leakage, grader monkey-patching, an
answer-key read outside the dataset dir, or dynamic eval/exec of task content in
the runner) rather than reaching for --allow-dirty. The static source-scan
family (answer-key-reads, dynamic-eval, judge-injection) enforces today with no
trajectory instrumentation; the trajectory-fed checks the current schema cannot
feed are reported as harness_gaps (ADR-167 §7), not passes.
Phase 5 — Compare and report
/gaia leaderboard --level=$LEVEL
/gaia history
Interpret the gap between ruflo's score and the leaderboard top-10.
Identify the primary failure mode (tool gap, reasoning miss, extraction bug)
using the /gaia-debugging skill if needed.
Phase 6 — Persist learnings
npx @claude-flow/cli@latest hooks post-task \
--task-id "gaia-submission-$(date +%Y%m%d)" \
--success true \
--train-neural true
Store any discovered patterns:
npx @claude-flow/cli@latest memory store \
--namespace gaia-patterns \
--key "submission-notes-$(date +%Y%m%d)" \
--value "Level $LEVEL, $MODEL: $NOTES"
Extensibility note
This skill is intentionally structured to be benchmark-agnostic. The phase headers (validate → estimate → run → package → compare → learn) apply to SWE-bench, WebArena, and HumanEval with only phase 3-4 details changing.
Frequently asked questions about GAIA Submission
Similar skills
Arize Evaluator
Streamline LLM evaluation workflows on Arize.
Troubleshoot
Analyze logs to understand chat agent behavior.
Agentic Evaluation
Enhance AI outputs through iterative evaluation and refinement.
RAG Evaluation
Evaluate retrieval-augmented generation benchmarks efficiently.
NV-Reason-CXR
Run smoke tests for chest X-ray reasoning models.
Clinical ASR Evaluation
Score and evaluate clinical ASR manifests effectively.
