WikiSkill / paper explainer
Google Research · arXiv:2608.27454v1

WikiSkill

How agents turn messy execution experience into persistent knowledge, then use it to evolve reusable skills.

plain-English explainerbeginner firstimplementation guide included
agent
gets better
skills /
raw traces /
wiki /

Based on Liyan Tang et al., “WikiSkill: Compiling Agent Experience into Persistent Knowledge for Skill Evolution”, Google Research, 27 August 2026. Read the paper ↗

Start here · the beginner version

An agent should remember what happened, not just rewrite its instructions.

01 · observe

Run real tasks

Save the agent’s actions, tool calls, feedback and final answers as raw traces.

02 · compile

Make patterns durable

Turn repeated successes and failures into a searchable wiki with evidence and history.

03 · improve safely

Promote only winners

Propose a small skill change, test it on validation tasks, and roll back if it gets worse.

Raw experience → structured knowledge → executable skill → measured improvement.That is the whole idea.

Paper summary and Methodology, Sections 1–3. “Wiki” means a persistent knowledge layer, not a public website.

01
The problem

Most skill evolution has a short memory.

The agent may analyse traces and edit a skill, but the reasoning behind those edits can stay scattered across optimisation history. Useful lessons become hard to retrieve, compare or reuse.

WikiSkill inserts a durable knowledge layer between “what the agent experienced” and “what the skill tells it to do”.

Paraphrase of the paper’s motivation in Introduction, Section 1.

The mental model

Three layers, three different jobs.

Click a layer to see what it protects, what it contains and who can read it.

raw/

Keep the evidence intact: the agent’s reasoning, tool calls, observations and final answers. Later components can inspect it, but the history itself is not rewritten.

Methodology, Section 3.1 and Figure 2.

The mechanism

A four-part loop turns experience into a better skill.

STEP 01

Inference agent

Runs training tasks with the active skill and writes traces to raw/.

STEP 02

Wiki maintainer

Performs root-cause analysis and consolidates useful patterns into wiki/.

STEP 03

Skill proposer

Reads the wiki and selected traces, then proposes one atomic skill update.

STEP 04

Gating + rollback

Tests the candidate on validation tasks. Keep it only if the score improves.

Next iterationthe wiki stays, even when the skill is rolled back

Methodology, Section 3.2 and Algorithm 1.

A deliberate constraint

The learner sees the skill. The skill-maker sees the wiki.

rollout

The Inference Agent uses active skills, but is restricted from reading the wiki during training.

evolution

The Wiki Maintainer and Skill Proposer inspect traces plus accumulated wiki knowledge.

The paper’s ablation found that giving the Inference Agent wiki access during training reduced average performance from 63.7% to 60.9% in the tested Gemini configuration.

Why might this help?

Make the traces diagnostically useful.

If the agent can solve tasks by directly consulting the wiki, its traces may reveal less about what the executable skill itself is missing. The authors describe this as a hypothesis, supported by the ablation rather than proven as a universal law.

Safety valve

The wiki learns from every attempt. The skill earns its place.

A candidate skill update is evaluated on a validation split against the best score so far.

Accepted
Candidate becomes the new active skill and the best score moves up.
Rejected
Skill reverts to the last winner. The wiki still records what was tried.
candidate
skill
score
improves
score
degrades

Methodology, Section 3.2.4 and Algorithm 1. The paper uses a strict “must improve validation score” rule.

Evidence · average test accuracy

WikiSkill was the strongest method on average across the five tested models.

Qwen 3.5 4B · no skill
26.2
Qwen 3.5 4B · WikiSkill
38.5
Qwen 3.5 9B · no skill
29.9
Qwen 3.5 9B · WikiSkill
47.4
Qwen 3.6 27B · no skill
39.4
Qwen 3.6 27B · WikiSkill
63.3
Gemma 4 31B · no skill
41.3
Gemma 4 31B · WikiSkill
54.9
Gemini 3.5 Flash · no skill
49.5
Gemini 3.5 Flash · WikiSkill
68.1
no skill baselineWikiSkill result

Important: this is a visual summary of selected values, not a re-analysis. The underlying table reports averages over five benchmarks and three independent evolution runs; the paper reports paired bootstrap testing at p < 0.05.

Source: Table 1. Bars are scaled to 68.1%, the highest WikiSkill average in the table. Values shown are test accuracy percentages.

What scales with what?

Model capability and procedural knowledge are complementary.

within the Qwen family

WikiSkill gains grew with model scale.

Average improvement over no-skill baselines was reported as +12.3 points for Qwen-3.5-4B, +17.5 for Qwen-3.5-9B and +23.9 for Qwen-3.6-27B.

the counterintuitive bit

Skills can compensate for model size.

Qwen-3.5-9B with WikiSkill reached 47.4% average accuracy, versus 39.4% for Qwen-3.6-27B without skills.

A better model can discover better procedures. A better procedure can let a smaller model punch above its weight.That is a complement, not a replacement for scaling.

Results and interpretation from Section 4.2.1. Percentages are percentage-point differences in the paper’s wording.

Cross-model transfer

A skill can travel. It can also carry the wrong assumptions.

Useful transfer +26.2 pts

Qwen-3.6-27B Spreadsheet skills lifted Qwen-3.5-9B from 24.3% without skills to 50.5%.

Negative transfer −32.4 pts

Qwen-3.5-4B Spreadsheet skills reduced Gemini-3.5-Flash from 50.5% without skills to 18.1%.

Design implication: separate general procedures from model-specific workarounds. The paper attributes negative transfer to low-level constraints and fragmented diagnostics that helped one model but restricted another.

Source: Table 2 and cross-model analysis in Section 4.2.2. Differences calculated from the reported values.

Case study · ALFWorld

The wiki turns a rejected idea into a concrete rule.

Iteration 0 · rejected

“Goal-directed action” is too abstract and fails to improve validation performance.

Iteration 1 · accepted

“Break repetition loop” adds a concrete rule: don’t return an item to its origin location.

Iteration 4 · refined

New evidence leads to a sharper rule: perform each operation type once per item.

raw/traces/The detailed action history shows the loop and the recovery.
wiki/patterns/take-examine-move-loop.mdPattern page: description, evidence, root cause and workaround.
skills/break-repetition-loop/SKILL.mdExecutable instruction promoted after validation.

Source: Figure 3 and Case Study, Section 5.3. File contents in the paper’s diagram are simplified for clarity.

Translation for agent builders

This is a memory architecture for improving procedures.

PRODUCT

Make improvement inspectable.

Keep the trace, the diagnosis, the proposal, the score and the decision linked. “The agent got better” should have an audit trail.

ENGINEERING

Use two speeds of knowledge.

Raw traces are append-only evidence. Wiki patterns are curated understanding. Skills are the small runtime surface.

EVALUATION

Test changes, not vibes.

Require a validation decision for each atomic update, while preserving rejected attempts as future context.

These are practical interpretations of the paper’s architecture and findings, not additional experimental claims.

Where to be careful

Promising does not mean production-complete.

Retrieval is not tested

Active skills were directly injected into prompts. Skill discovery and triggering at scale remain open problems.

Strict gating can be myopic

Neutral changes are rejected even if they could enable a later improvement.

The wiki can grow without bound

The paper does not yet automate pruning or consolidation over long runs.

Long horizons remain open

The benchmarks do not cover tasks spanning hundreds of actions or multiple hours.

Limitations, Section 7. Treat this slide as the boundary around the paper’s evidence.

Implementation guide · start small

Build a tiny WikiSkill loop around one agent task.

1

Choose a narrow task family

For example: spreadsheet edits, document retrieval or a bounded tool workflow. Define train, validation and test splits.

2

Log complete traces

Capture inputs, observations, tool calls, outputs, errors, final answer and score. Never overwrite the original trace.

3

Ask a maintainer for patterns

Sample both failures and successes. Require root cause, evidence and a concrete workaround.

4

Ask a proposer for one change

Give it the wiki index, prior impact log and selected traces. Keep each proposal atomic.

5

Gate on validation

Evaluate the candidate with the same harness. Accept only if your chosen rule says it is better.

6

Record the decision

Store the diff, score and accepted/rejected outcome in the wiki so future proposals do not repeat dead ends.

Implementation sequence adapted from Algorithm 1 and Sections 3.1–3.2. The guide adds practical engineering detail.

Implementation guide · workspace

Keep evidence, knowledge and runtime instructions visibly separate.

project/
├── raw/
│ └── traces/iter-0001/task-004.jsonl
├── wiki/
│ ├── patterns/
│ │ └── search-wrong-file.md
│ ├── index.md
│ ├── logs.md
│ └── skill-impact.md
└── skills/
└── document-search/
├── SKILL.md
└── PURPOSE.md

raw/ is your replayable evidence. Append new traces; do not “clean” history.

wiki/ is the durable diagnosis: patterns, evolution log, and what each proposal changed.

skills/ is the compact runtime contract. Each skill should point back to the wiki patterns that motivated it.

Directory names and file responsibilities follow the paper’s Three-Layer Knowledge Architecture.

Implementation guide · outer loop

The core can fit in one page of pseudo-code.

best_score = evaluate(empty_skill, validation)
skill = empty_skill
wiki = empty_wiki

for iteration in range(max_iterations):
    traces = rollout(agent, train_tasks, skill)
    sampled = sample_failures_and_successes(traces)

    wiki = maintainer.update(wiki, sampled)
    proposal = proposer.create(wiki, traces, skill)
    candidate = apply(skill, proposal)

    candidate_score = evaluate(candidate, validation)
    accepted = candidate_score > best_score
    skill = candidate if accepted else skill
    best_score = max(best_score, candidate_score)
    wiki = log_decision(wiki, proposal, candidate_score, accepted)

Adapted from Algorithm 1. In the paper, the proposer can read selected traces on demand and the wiki is retained whether the skill update is accepted or rejected.

Implementation guide · done means measurable

Before you call it self-improving, check the loop.

0 of 7 checked

Checklist synthesises the paper’s architecture, ablation, transfer findings and limitations into a practical pre-flight check.

The takeaway

Don’t make the skill the only place the agent remembers.

Let the wiki accumulate the messy learning history. Let the skill stay concise, executable and earned by evaluation.

Paper: Tang et al., WikiSkill, Google Research, arXiv:2608.27454v1. Source paper ↗

Experienceraw traces you can replay
Knowledgepatterns with memory and provenance
Actionskills that improve only when the score says so