darwin-agent/harnessx/gaia-playbook

Claude Code and agent skill by darwin-agent/harnessx

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

GAIA-specific benchmark guidance. Public-writeup-sourced techniques (markdown browser, file inspector, code-action agent, planning, multi-agent decomposition, query refinement, answer-format guard, early-commit nudge, prompt caching, majority voting) mapped to HarnessX's four levers (config / control / action / instruction), plus a catalogue of common GAIA failure modes (A-H). Use when forming a hypothesis or scanning for which intervention fits a pattern you see in trajectories.

Install

npx vskill@latest install darwin-agent/harnessx/gaia-playbook

SKILL.md

GAIA: Benchmark-specific Guidance

Task Structure

Per the GAIA paper's own frequency table, in decreasing order of how often each capability is needed:

  1. Web browsing — visit a specific page, not just read a search

snippet

  1. Code execution — compute from retrieved data (pandas, math)
  2. File handling — parse .pdf, .xlsx, .csv, .docx,

.mp3, .mp4, .jpg, .zip

  1. Multi-modal understanding — images, audio, video, PDFs with

figures

  1. Long-horizon planning — Level 3 tasks can require 20-50 steps

Common question shapes: "According to <source>, what is <value>?", "How many X in Y between Z1-Z2?", riddles, reversed/encoded text, embedded-file computations, YouTube video questions.

Analyzing Failures

Primary-evidence frontmatter fields (always reliable):

FieldWhat it tells you
exit_reasondone, budget_exceeded, loop_detected, error
stepsLoop iterations used
total_tokensCost proxy
tool_call_countsWhich tools fired, how often
tool_error_countsTool-level failures (≥30% of calls is a red flag)
final_output_lengthZero means the agent never produced text
eval_passedAuthoritative pass/fail from the external pipeline evaluator
eval_scoreAuthoritative numeric score (0.0 / 1.0 for exact-match)

The dataset's expected answer and the evaluator's textual reason are both intentionally withheld from the frontmatter — the meta-agent sees only pass/fail and the numeric score. For the why behind a failure, read the trajectory body and the optional judge_* fields below.

Opinion-only frontmatter fields (present only when the LLM judge processor ran):

FieldWhat it tells you
extracted_answerWhat the judge's extractor captured
judge_verdictOpinion only: plausible / unsupported /
hedging / format_wrong / refused /
no_answer / judge_error
judge_causeJudge's hypothesis for why the run went wrong
judge_missingCapability the judge thinks was absent
judge_lessonOne-line takeaway suggested by the judge

When eval_passed and judge_verdict disagree, trust eval_* for pass/fail accounting and use judge_* to probe why. judge_error is the judge itself failing (timeout, bad JSON), not the agent — do not build a candidate off those rows.

(Generic trajectory-reading methodology — lens × lever × intent, three-variant retroactive check, systemic-vs-idiosyncratic filter, candidate schema — all live in the analyze skill. This playbook only layers GAIA-specific patterns on top. In particular the "would it pass with unlimited steps + perfect discipline?" question is just Variant-A retroactive check with GAIA framing.)

When diagnosis points at a missing capability

GAIA is hard on purpose: many failing tasks would still fail with more steps, a better prompt, or a tighter loop guard, because the agent literally does not have the capability the task requires. These are your highest-leverage opportunities — answer the second question above honestly ("with unlimited steps and perfect discipline, would the final state still lack the answer?") and when the answer is yes, the default response is to author a new tool, not to nudge the model.

Signals that you are in a capability gap (not a behaviour gap):

  • judge_missing_capability.present = true with a non-empty

summary — the judge is naming the shape of the missing tool for you. Use summary as a starting sketch, not as a spec.

  • judge_missing is non-empty and repeats across a cluster of

failing tasks (e.g. "PDF table parser" on 3+ rows, "JS-rendered page browser" on 4+ rows). Repetition is evidence the gap is a class, not a one-off.

  • Failure modes E (raw bytes), F (missing modality), G (Wayback /

non-HTML endpoints), and most H (oversized context) post-mortems resolve to new tools rather than processors. When you see these, go straight to Action-layer candidates.

  • The trajectory shows many retries against the same endpoint, or

the agent paraphrases instead of quoting — both are "tool returned nothing usable", not "agent chose badly".

How to act on it:

  1. Read _meta_scratch/CONTEXT.md when present — it's the machine-

rendered lever scoreboard from the journal, so you can see at a glance whether instruction/control has already been tried on each task without lift. Use its hypothesis history as the seed for steps 2-4 below.

  1. Read reference skill in the meta-harness workspace — it has the

authoring mechanics (shape spec in TOOL_SPEC.md before code, stdlib-first impl, config wiring, end-of-turn checklist). The replay gate that runs after end_turn is the integration oracle — no self-written probe.

  1. Consult the "GAIA capability classes" table later in this playbook

— match your cluster's judge_missing_capability summaries to a row, use its "Shape hint" as a framing for your TOOL_SPEC.md. Do not copy the hint verbatim; your inputs differ from past teams'.

  1. Follow the recipe's checklist. Re-run the cluster on the new tool

and check the gap closed. If judge_missing_capability.present still fires on those rows, the tool shape was wrong — revise before declaring the candidate.

Conversely, do not reach for a new tool when:

  • judge_missing_capability.present = false — judge already said

the problem is behavioural.

  • The answer is present in the trajectory body but the `FINAL

ANSWER:` marker / format is wrong (mode C). That is a Control layer fix.

  • A single existing tool already covers the capability and only the

instruction to use it is missing. That is an Instruction lever.

Authoring a tool to dodge a prompt fix inflates the action surface without lifting the score. Authoring a prompt fix to dodge an obvious capability gap keeps the benchmark locked at the ceiling of what the current tools can reach.

Known Techniques That Improve GAIA Scores

These are generic GAIA wisdom from public writeups by teams scoring 40-75% on the leaderboard. Each is mapped to the lever you'd use in HarnessX.

TechniqueLayer in HarnessXEvidence sourceApprox. lift
Markdown-view web browser with visit_page / page_down / find_in_page / scroll_to (agent sees the rendered page as paginated structured markdown) instead of raw-HTML WebFetch that pollutes contextAction — new toolHF "beating GAIA" (Autogen browser), H2Obig — was a main lever taking Transformers Agents from mid-pack to #1; see capability class Stateful browser automation
Specialized file inspector with per-extension handlers: .pdf → text extract, .xlsx/.csv → pandas, .mp3/.wav → ASR, .jpg/.png → captioner/OCRAction — new toolHF "beating GAIA", H2O, hetlinelarge — many questions depend on attached files that default read_file returns as unparsed bytes; see capability classes File-format parsers / Structured spreadsheet reader / Audio transcription / Vision QA
Code-Agent style — agent writes Python snippets (not JSON tool calls) executed in a sandboxed interpreter; loops, math, and dataframe ops compose in one stepInstruction — new template + optional Action toolHF "beating GAIA", smolagents, Executable Code Actions Elicit Better LLM Agents (arXiv 2402.01030)Python-action agents beat JSON-action on the same model
Planning / fact-list regeneration every N steps — summarize known facts, rewrite plan; crucially drop the previous plan from context so the model re-evaluates rather than rubber-stampingControl — new before_model processorHF "beating GAIA" (N=2 manager, N=5 sub-agent)moderate; author note: including the prior plan in context lowered the score
Manager + research sub-agent — manager agent delegates research to a sub-agent that returns only clean summaries; keeps manager context cleanControl (via existing spawn_subagent) or ActionHF "beating GAIA", JoyAgent 4-role splitlarge on multi-hop questions where context cleanliness matters
Multiple search providers wired in (Google CSE + Bing + DuckDuckGo + Tavily) so one outage doesn't brick the agentAction — new tool(s)LinkedIn empirical study, H2Omoderate — WebSearch outages are a common failure signal
LLM query refinement — rewrite the user question into 2-3 optimized search queries before hitting the retrieval backendInstruction + ControlLinkedIn empirical studymodest; compounds with multi-provider
Forced `FINAL ANSWER:` format guard — on_task_end processor that refuses to stop until marker is present; if missing, triggers one more model turnControl — new processorH2O (output verification), GAIA grading contract+2-4pp on "body has answer, no marker" failures
Early-commit nudge near step budget — prompt section or before_model processor injecting "commit now" when remaining_steps ≤ 3Instruction or Controlwell-known fix for budget_exceeded → no_answermoderate on Level 2-3 tasks with long chains
Prompt caching on the provider side — GAIA agents re-read the same system prompt every step; caching cuts cost 2-10× without behavior changeConfiguration — provider kwargsH2O (Sonnet 3.5 with prompt caching)cost-only; no accuracy lift
Majority voting over N samples (typically 3) — run each task multiple times, take the modeControl — orchestrationH2O (N=3 at max accuracy)+3-5pp at 3× cost
Right-size the model per task — reasoning models (o1/o3, reasoning_effort=high) are often overkill for GAIA's light-reasoning questions; non-reasoning variants or effort=low/minimal can beat them on latency, cost, and loopsConfigurationhetline 2025-10 (GPT-4o beat GPT-5 on GAIA via fewer graph-depth loops)context-dependent; worth testing

Don't just map failures to existing tools. The table is a menu of techniques with known lifts — but GAIA's ceiling on any one scaffold is set by the tools the scaffold has. Teams that broke through 60%+ did it by writing new tools that did not exist before (HuggingFace's markdown browser, their per-extension file inspector). When a cluster of failures points at a missing capability your current Action list does not cover, the right move is to author a new tool sized to that cluster — see ### When diagnosis points at a missing capability above. Pattern- matching a hard task to the closest-fitting existing tool is how benchmarks stall.

GAIA capability classes that have unblocked past systems

When the journal flags a cluster and you write _meta_scratch/TOOL_SPEC.md (per the reference skill's "Before you type — write the shape spec" section), it helps to know which tool classes have historically unblocked top teams on GAIA. This is vocabulary, not a catalogue to copy from.

The pattern is: match your cluster's judge_missing_capability summaries to one of the classes below, then write a SHAPE from YOUR failing trajectory inputs. Do not copy implementations from elsewhere — those were shaped for different input distributions than this run's.

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
100
Repository forks
9
7-day trend score
23

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/darwin-agent/harnessx/gaia-playbook/badge)](https://verified-skill.com/skills/darwin-agent/harnessx/gaia-playbook)

Something wrong with this skill or its page? Tell us.