Skip to main content
skill CX Codex

gaia-submission — Claude Code skill: what it does, how to install

Runs the full GAIA benchmark pipeline from API key checks to building a HAL-compatible submission package. Useful when evaluating agent accuracy.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add ruvnet/ruflo --skill gaia-submission -a claude-code
Open on GitHub

What gaia-submission does

This skill guides an agent through the Princeton GAIA benchmark workflow. It validates prerequisites, calculates model invocation costs, executes question batches with regular progress updates, and packages files for the HAL leaderboard. Run summaries and learnings are saved directly into the CLI memory store.

Before signing the Ed25519 manifest, the packager runs a mandatory integrity audit under ADR-167. It inspects task execution for answer leakage, oracle cheating, and dynamic evaluation calls. Critical failures abort package generation immediately, which prevents unearned scores unless --allow-dirty is explicitly supplied.

You need Node.js 20 or higher, an active @claude-flow/cli build, and exported ANTHROPIC_API_KEY and HF_TOKEN variables.

What it helps with

  • validate environment keys and CLI binaries before benchmarking
  • estimate token costs across models prior to running questions
  • package benchmark results into a HAL-compatible archive
  • audit agent execution traces for benchmark leakage

Example prompts for the agent

  • Validate the environment and estimate GAIA level 1 cost for 53 questions
  • Run the GAIA benchmark using claude-sonnet-4-6 with voting set to 3
  • Package the latest GAIA results into a HAL submission bundle

How to install gaia-submission

1Skills CLI (Vercel)

npx skills add ruvnet/ruflo --skill gaia-submission -a claude-code

2Manually: put the files in place

~/.claude/skills/gaia-submission/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/gaia-submission/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about gaia-submission

How to install gaia-submission in Claude Code?

Run npx skills add ruvnet/ruflo --skill gaia-submission -a claude-code. The skill file will be stored in ~/.claude/skills/gaia-submission/SKILL.md.

What is the purpose of the pre-submission exploit audit?

The audit checks trajectories and runner code for answer leaks and grader tampering. If a critical issue is detected, /gaia submit blocks package creation unless overridden with --allow-dirty.

What dependencies does this skill require?

You need Node.js 20 or newer, a built @claude-flow/cli binary, and valid ANTHROPIC_API_KEY and HF_TOKEN environment variables.

Source text

SKILL.md · MIT
---
name: gaia-submission
description: Walk through a complete GAIA benchmark→submit flow — from key resolution through HAL-compatible package generation
argument-hint: "[level] [limit] [models]"
allowed-tools: Bash mcp__plugin_ruflo-core_ruflo__memory_store mcp__plugin_ruflo-core_ruflo__memory_search mcp__plugin_ruflo-core_ruflo__memory_list mcp__plugin_ruflo-core_ruflo__hooks_post-task mcp__plugin_ruflo-core_ruflo__hooks_pre-task
---

# GAIA 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

```bash
# 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)

```bash
/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

```bash
/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:
```bash
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

```bash
/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_gap`s (ADR-167 §7), not passes.

## Phase 5 — Compare and report

```bash
/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

```bash
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:
```bash
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.

© ruvnet · MIT · ruvnet/ruflo

Similar skills

Everything for AI and ML →

From the same set146

trader-cloud-backtest Sends heavy neural-trader work — walk-forward, Monte-Carlo, parameter sweeps, model training — to a Managed Agent container instead of your own machine. CX Codex +1 599installs managed-agent Skill for running Anthropic Claude Managed Agents in the cloud. Best for long asynchronous tasks inside a persistent container with network access. CX Codex +1 596installs trader-portfolio-cg Solves mean-variance optimization with conjugate gradients instead of the Neumann series. Useful when you recompute portfolio weights often and latency gets in the way. CX Codex +1 513installs trader-explain Identifies key features behind LSTM and Transformer trading signals with PageRank and writes signed audit artifacts. CX Codex +1 510installs gaia-debugging gaia-debugging examines a failed GAIA task, classifies the failure, and suggests a targeted fix before you submit the task again. CX Codex +1 435installs gaia-architecture-comparison Compares the ruflo GAIA benchmark harness with Princeton's HAL reference implementation. It identifies architectural gaps and prioritizes engineering steps to improve benchmark pass rates. CX Codex +1 432installs nested-subagents Spawns a tree of sub-agents where each child can spawn its own children. Useful when intermediate state would overflow a single agent's context. CX Codex +1 316installs claude-flow Connect Claude Code to claude-flow tools for agent coordination and shared task context. The MCP setup uses ANTHROPIC_API_KEY. CX Codex +1 ★ 79,357repo stars

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor