gaia-architecture-comparison — Claude Code skill: how to install
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.
npx skills add ruvnet/ruflo --skill gaia-architecture-comparison -a claude-codeWhat gaia-architecture-comparison does
This skill contrasts ruflo's GAIA harness with Princeton's HAL reference implementation. It breaks down the internal pipeline across gaia-loader.ts, the multi-turn Anthropic loop in gaia-agent.ts, the gaia-tools/ directory, and Track A majority voting in gaia-voting.ts. The review highlights why ruflo scored ~20.8% on partial L1 questions while HAL achieved 74.6%.
Ruflo maintains clear strengths with Track Q hardness routing and AgentDB HNSW memory. However, relying on a python_exec stub instead of an actual code sandbox is the single biggest bottleneck holding back multi-step math evaluation. Replacing raw HTML fetching with Playwright and adding parsers for PDF or XLSX files form the next steps.
The skill requires Bash, Read, and Ruflo MCP memory tools to run. You can filter the evaluation using --focus with tools, routing, memory, or cost. Prior run logs are retrieved and saved into the gaia-patterns namespace using @claude-flow/cli.
What it helps with
- Compare the ruflo benchmark harness against the Princeton HAL implementation
- Identify why ruflo trails behind on GAIA pass rates
- Prioritize upgrades like real Python execution and Playwright browsing
- Focus benchmark auditing on specific subsystems like memory or routing
Example prompts for the agent
- Compare ruflo against HAL on GAIA benchmarks with
--focus=tools. - Run gaia-architecture-comparison focusing on routing and cost trade-offs.
- Analyze our GAIA capability gaps and show the improvement roadmap for code execution.
How to install gaia-architecture-comparison
1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill gaia-architecture-comparison -a claude-code2Manually: put the files in place
~/.claude/skills/gaia-architecture-comparison/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/gaia-architecture-comparison/
1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill gaia-architecture-comparison -a codex2Manually: put the files in place
.agents/skills/gaia-architecture-comparison/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill gaia-architecture-comparison -a cursor2Manually: put the files in place
.cursor/skills/gaia-architecture-comparison/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install ruvnet/ruflo gaia-architecture-comparison2Manually: put the files in place
.github/skills/gaia-architecture-comparison/SKILL.md1Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill gaia-architecture-comparison -a gemini-cli2Platform CLI
gemini skills install https://github.com/ruvnet/ruflo --path plugins/ruflo-workflows/skills/gaia-architecture-comparisonManually: put the files in place
.devin/skills/gaia-architecture-comparison/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add ruvnet/ruflo --skill gaia-architecture-comparison -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about gaia-architecture-comparison
How to install gaia-architecture-comparison in Claude Code?
Run npx skills add ruvnet/ruflo --skill gaia-architecture-comparison -a claude-code in your terminal. This adds the skill definition to ~/.claude/skills/gaia-architecture-comparison/SKILL.md.
What does gaia-architecture-comparison do?
It performs an architectural comparison between the ruflo and HAL harnesses on the GAIA benchmark. It identifies capability gaps in code execution, browser automation, and file parsing while outlining a prioritized improvement roadmap.
What advantages does ruflo have over the HAL reference?
Ruflo includes Track A self-consistency voting, Track Q hardness routing to reduce model costs on simpler questions, and AgentDB HNSW vector memory. The HAL reference implementation lacks these features.
Source text
SKILL.md · MIT
---
name: gaia-architecture-comparison
description: Side-by-side comparison of ruflo vs HAL vs other GAIA harnesses — capability gaps, design decisions, and improvement roadmap
argument-hint: "[--focus=tools|routing|memory|cost]"
allowed-tools: Bash Read mcp__plugin_ruflo-core_ruflo__memory_search mcp__plugin_ruflo-core_ruflo__memory_store
---
# GAIA Architecture Comparison Skill
Compare ruflo's GAIA benchmark harness against the Princeton HAL reference
implementation and other open-source harnesses to understand capability gaps
and prioritize improvements.
## When to use
- Planning the next iteration of GAIA work
- Evaluating which architectural change has the highest pass-rate ROI
- Onboarding a new contributor to the benchmark codebase
## Architecture overview
### ruflo harness (current)
```
gaia-bench run
└─ gaia-loader.ts — HF dataset download + cache
└─ gaia-agent.ts — multi-turn Anthropic Messages loop
└─ gaia-tools/ — web_search, file_read, web_browse,
image_describe, python_exec
└─ gaia-voting.ts — Track A self-consistency (N attempts → majority vote)
└─ gaia-hardness/ — Track Q difficulty predictor (ADR-136)
└─ gaia-judge.ts — two-stage LLM-as-judge scorer
```
### HAL reference (Princeton)
HAL uses a similar loop but with:
- OpenAI function calling as the tool interface
- BrowserBase / Playwright for real browser automation
- Code interpreter sandbox (Jupyter kernel)
- Larger token budget per turn (4096+)
- Full 300-question evaluation set
### Key differences
| Dimension | ruflo | HAL reference | Gap |
|-----------|-------|--------------|-----|
| Question count | 53 (partial L1) | 300 (full L1) | Use `--limit 165` for full L1 |
| Web search | DuckDuckGo / Google CSE | BrowserBase live | Add Playwright or Browserless |
| Code execution | python_exec stub | Real Jupyter kernel | Implement real sandbox |
| Image OCR | image_describe (Gemini) | GPT-4V / Gemini | Functionally equivalent |
| File handling | file_read | Full PDF/XLSX/ZIP parser | Expand file_read |
| Self-consistency | voting.ts (Track A) | Not in reference | ruflo advantage |
| Hardness routing | predictor.ts (Track Q) | Not in reference | ruflo advantage |
| Memory | AgentDB HNSW | None | ruflo advantage |
| Pass-rate L1 | ~20.8% (iter 23) | 74.6% (HAL Sonnet 4.5) | ~54 pp gap |
## Gap analysis
### Primary gaps (high impact)
1. **Real code execution** — many L2/L3 questions require running Python to
compute a numerical answer. The current `python_exec` tool is a stub.
Implementing a real sandbox (E2B, Pyodide, or subprocess) is the single
highest-ROI change.
2. **Full question set** — running 53/300 L1 questions underestimates true
pass-rate because the first 53 skew easier. Run `--limit 165` (full L1)
for a comparable HAL score.
3. **Real browser** — `web_browse` currently fetches raw HTML. Replacing it
with Playwright/Browserless for JavaScript-rendered pages would unlock
many web navigation questions.
### Secondary gaps (medium impact)
4. **Structured file parsing** — PDF, XLSX, and ZIP attachments require
dedicated parsers. `file_read` currently handles plain text and images only.
5. **Turn budget** — 12 turns may be insufficient for complex multi-step
questions. HAL uses up to 20 turns for L3.
6. **System prompt tuning** — HAL's system prompt is more elaborate and
explicitly instructs the model to use tools before answering.
### ruflo advantages
7. **Self-consistency voting** (Track A) — running N attempts per question and
taking the majority answer reduces variance on borderline questions.
HAL does not implement this.
8. **Hardness routing** (Track Q) — routing each question to an appropriate
model and turn budget based on predicted difficulty. This reduces cost on
easy questions while providing more resources for hard ones.
9. **AgentDB memory** — storing patterns across runs enables the agent to
recall successful strategies for similar question types.
## Improvement roadmap
| Priority | Change | Expected Lift | Effort |
|----------|--------|--------------|--------|
| P0 | Real python_exec sandbox (E2B) | +15-25 pp | High |
| P0 | Full 165-Q L1 evaluation | Accurate baseline | Low |
| P1 | Playwright-based web_browse | +5-10 pp | Medium |
| P1 | PDF/XLSX file parser | +3-8 pp | Medium |
| P2 | Increase max-turns to 20 for L2/L3 | +2-5 pp | Low |
| P2 | System prompt tuning (iter 30 research) | +2-5 pp | Low |
| P3 | Google Grounding via Gemini (iter 32) | +3-7 pp | Medium |
| P3 | Multi-provider routing (Gemini Flash for cheap Q's) | Cost reduction | Medium |
## Loading context from past research
```bash
npx @claude-flow/cli@latest memory search \
--namespace gaia-patterns \
--query "architecture comparison HAL benchmark"
```
## Storing comparison findings
```bash
npx @claude-flow/cli@latest memory store \
--namespace gaia-patterns \
--key "architecture-comparison-$(date +%Y%m%d)" \
--value "HAL gap: 54pp. Primary: python_exec stub. Secondary: browser, file parsing."
```
© ruvnet · MIT · ruvnet/ruflo