Agent skills encapsulate reusable procedural knowledge that enables LLM agents to perform tasks, and they can be improved automatically using trajectories from interactions with the environment. This is the classic problem of skill evolution. Existing approaches predominately follow a linear evolution paradigm, in which updates are sequentially applied to the latest skill-library version. As a result, they inevitably fall into local optima, leaving many promising evolution paths unexplored. We propose SkillVine, an automatic skill-evolution framework that formulates skill evolution as a graph search problem and employs a branching exploration strategy. Equipped with a trunk-branch collaborative searching mechanism, an intelligent parent-node selector, and an adaptive-granularity update rule, SkillVine achieves a balance between exploration and exploitation. We evaluate SkillVine on 5 benchmarks with two LLMs. Results show that SkillVine discovers better skill-library versions along branches than along the linear trunk and achieves the best test performance in nine of ten benchmark-model combinations.
Figures & tables
Figure 1: Overview of SkillVine. SkillVine organizes skill library versions into a graph, maintains a continuous trunk, selects branch nodes based on quality, exploration, and complementarity, and adapts branch-update granularity based on whether the trunk update is accepted.
Algorithm 1 SkillVine
Model
Method
Benchmark Score
Spreadsheet
LiveMath
SearchQA
OfficeQA
TABVERSE
DeepSeek-V4 -flash
Linear
48.04
43.40
73.36
47.30
63.88
Best-of-3
64.41
50.00
73.14
45.27
64.49
Random
53.38
46.23
74.14
52.70
64.08
SkillOpt
62.99
47.17
73.50
46.62
63.47
SkillOpt-Lite
66.19
50.48
73.14
37.84
61.84
Table 1: Main results across benchmarks. Higher values indicate better performance.
Model
Ablation
Benchmark Score
Spreadsheet
LiveMath
SearchQA
OfficeQA
TABVERSE
w/o Selector & AGBU
53.38
46.23
74.14
52.70
64.08
w/o Selector
67.26
46.23
72.93
47.30
63.47
w/o AGBU
65.84
50.00
74.57
52.03
63.27
w/o Comp
71.53
53.77
73.36
55.41
60.82
DeepSeek-V4 -flash
SkillVine
71.53
53.77
74.43
55.41
67.35
Table 2: Ablation study results. Higher values indicate better performance.
Figure 5
Figure 5: Impact of system parameters on validation and test scores with DeepSeek-V4-flash. Panels (a) and (b) use SpreadsheetBench; panel (c) includes both SpreadsheetBench and LiveMath.
Table 3: Evolution paths to the final best nodes across the ten benchmark–model combinations. Each vXXXX is a skill library version number within that run. M:vXXXX denotes a node on the trunk; D:vXXXX denotes a side-branch node generated using a discovery selector; R:vXXXX denotes a side-branch node generated using a refinement selector. † means that AGBU rejects at least one edit during the update.
Case 1: DeepSeek-V4-flash × SpreadsheetBench
Version Node
Skill Capability
Unique / Lost
Typical Validation Samples
Final Gain
Trunk M:v0002 Branch R:v0007
R:v0007 adds Python-based calculation beyond M:v0002 ’s workbook inspection and preservation. M:v0002 rules: Inspect headers and cell types; read cached formula values while preserving the workbook. R:v0007 rules: Compute in Python and write values directly; infer the intended operation from the actual table when the supplied formula is flawed.
M:v0002 0 / 7 R:v0007 7 / 0
10747: Two-key profit lookup M:v0002 : None (fail) R:v0007 : -10600 (pass) 51556: Conditional average M:v0002 : None (fail) R:v0007 : 82 (pass) The branch also solves all 21 examples solved by the trunk.
Final best D:v0030 outperforms the best trunk M:v0028 by 20.51 on validation and 23.49 on test.
Case 2: DeepSeek-V4-flash × SearchQA
Version Node
Skill Capability
Unique / Lost
Typical Validation Samples
Final Gain
Trunk M:v0031 Branch D:v0010
D:v0010 handles wordplay and answer forms missed by M:v0031 ; M:v0031 better resolves associated entities in the examples shown. M:v0031 rule: For a bare entity name, identify the associated category or relationship from context. D:v0010 rules: Match the source answer form; for word transformations, return both the original and transformed terms.
M:v0031 5 / 9 D:v0010 9 / 5
“Adam Levine” M:v0031 : Maroon 5 (pass) D:v0010 : Adam Levine (fail) Holes on postage stamps M:v0031 : perforation (fail) D:v0010 : perforations (pass) Hawaiian wreath becoming a sheltered area M:v0031 : lee (fail) D:v0010 : lei & lee (pass)
Final best R:v0187 outperforms the best trunk M:v0134 by 5.00 on validation and 1.07 on test.
Appendix
Table 4: Two examples of selected complementary nodes.
Proposed rule: Return the full cell text, such as “Middelkerke, Belgium”, rather than one part. Result: The update included this rule. It lost three previously solved samples and only gained two: 45/70 → 44/70 ( −1.43 ), so it was rejected.
AGBU kept one edit and rejected two . The kept edit selects the correct column and computes durations from date ranges: 47/70 → 49/70. An edit with the same full-cell rule then reduced the score to 43/70 ( −8.57 ), so AGBU rejected it.
The accepted child R:v0007 † improved over D:v0004 : 47/70 → 49/70, +2 samples ( +2.86 ).
Proposed rule: Shorten names: use “Webster” instead of “Noah Webster” and “the Colorado” instead of “Colorado River”. Result: The update included this rule. The score fell from 152/200 to 148/200 ( −2.00 ), so it was rejected.
AGBU kept two edits and rejected two . An edit with the same name-shortening rule reduced the score from 147/200 to 141/200 ( −3.00 ), so it was rejected. The kept edits select the specific answer type and use “&” for paired answers such as “Nina & Pinta”. Together, they raised the score to 151/200.
The accepted child D:v0066 † improved over M:v0002 : 147/200 → 151/200, +4 samples ( +2.00 ).
Appendix
Table 5: Two examples of harmful edits rejected by AGBU.
Figure 6: Evolution path of DeepSeek-V4-flash on SpreadsheetBench. Nodes are labeled with their version numbers and validation scores. Gray dashed nodes denote rejected candidate versions. Blue arrows denote accepted trunk updates, while orange and green arrows denote accepted side-branch updates using the discovery and refinement selectors, respectively. † marks updates for which AGBU rejects at least one edit.