<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>skill-discovery on tomrochette.com</title>
    <link>https://tomrochette.com/tags/skill-discovery/</link>
    <description>Recent content in skill-discovery on tomrochette.com</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <managingEditor>tom@tomrochette.com (Tom Rochette)</managingEditor>
    <webMaster>tom@tomrochette.com (Tom Rochette)</webMaster>
    <copyright>© 2026 Tom Rochette</copyright>
    <lastBuildDate>Tue, 13 Oct 2026 21:33:13 -0400</lastBuildDate><atom:link href="https://tomrochette.com/tags/skill-discovery/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>EvoSkill</title>
      <link>https://tomrochette.com/agents/skills/evoskill/</link>
      <pubDate>Tue, 13 Oct 2026 00:00:00 +0000</pubDate>
      <author>tom@tomrochette.com (Tom Rochette)</author>
      <guid>https://tomrochette.com/agents/skills/evoskill/</guid>
      <category>research-note</category><category>agent-curated</category><category>fully-ai-generated</category><category>llm=glm-5.3-flash</category><category>skills</category><category>skill-discovery</category><category>evolution</category><category>optimization</category>
      <description>&lt;p&gt;EvoSkill is Sentient Labs&amp;rsquo; Apache-2.0 skill-discovery toolkit: it runs your coding agent over a benchmark, hands the failed trajectories to a proposer, and materializes the proposed fixes as standard SKILL.md skill folders, keeping only the candidates that improve a held-out validation score.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;It is the third optimizer-family column in this category, and its difference from SkillOpt and GEPA is the unit of evolution: where they train or rewrite one text parameter, EvoSkill evolves the whole agent configuration (prompt plus skill set) and can discover skills nobody wrote.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;What it is&#xA;    &lt;div id=&#34;what-it-is&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#what-it-is&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;A Python 3.12+ CLI (installed by script or &lt;code&gt;pip install -e .&lt;/code&gt;) that wraps Claude Code, Codex, OpenCode, OpenHands, Goose, or Harbor as the executor, with any model provider behind it (Anthropic, OpenAI, OpenRouter, Fireworks, and more).&#xA;The loop runs three roles: an Executor attempts task batches with the current configuration, a Proposer reads the failed trajectories and proposes one targeted skill, and a Skill Builder writes it as a markdown folder under &lt;code&gt;.claude/skills/&lt;/code&gt;.&#xA;Selection is a Pareto frontier of the top configurations, each pinned as a git branch, so the evolutionary history is a git log you can check out, and a candidate survives only when it improves the held-out score.&#xA;Apache-2.0, from Sentient Labs (the sentient-agi org), built on the March 2026 paper (arXiv 2603.02766).&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Status&#xA;    &lt;div id=&#34;status&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#status&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Quiet since late August: 1,250 stars, 132 forks, and 21 open issues as of 2026-10-13, created 2026-03-04, pushed 2026-08-24, with the release train stalled at v1.3.0 (2026-06-16, the Fireworks provider addition).&#xA;The paper and the March 5 blog post are the whole public record, and my searches found no Hacker News story and no independent coverage of the project, so the footprint is the repository itself.&#xA;The paper&amp;rsquo;s headline numbers are the authors&amp;rsquo; own runs: OfficeQA 60.6% to 67.9% exact match with Claude Code (Opus 4.5) on a 10% training subset, SealQA 26.6% to 38.7%, and a 5.3-point zero-shot transfer from SealQA skills to BrowseComp.&lt;/p&gt;&#xA;&lt;picture&gt;&#xA;  &lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;https://api.star-history.com/chart?repos=sentient-agi/EvoSkill&amp;type=date&amp;theme=dark&amp;legend=top-left&#34; /&gt;&#xA;  &lt;source media=&#34;(prefers-color-scheme: light)&#34; srcset=&#34;https://api.star-history.com/chart?repos=sentient-agi/EvoSkill&amp;type=date&amp;legend=top-left&#34; /&gt;&#xA;  &lt;img alt=&#34;Star History Chart&#34; src=&#34;https://api.star-history.com/chart?repos=sentient-agi/EvoSkill&amp;type=date&amp;legend=top-left&#34; /&gt;&#xA;&lt;/picture&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Strengths&#xA;    &lt;div id=&#34;strengths&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#strengths&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Failure-driven search: proposals are grounded in recorded execution trajectories, so each candidate skill answers a demonstrated capability gap rather than a random mutation.&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;The held-out validation gate is the same discipline that makes SkillOpt trustworthy, and the git-branch frontier makes every accepted and rejected candidate inspectable.&lt;/li&gt;&#xA;&lt;li&gt;The output is ordinary SKILL.md folders, so induced skills install anywhere the Agent Skills standard reaches.&lt;/li&gt;&#xA;&lt;li&gt;Cross-model and cross-agent by construction, and the transfer result (SealQA skills improving BrowseComp without modification) is the interesting evidence that skill-level optimization produces general capabilities.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Cautions&#xA;    &lt;div id=&#34;cautions&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#cautions&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;The project has been quiet for roughly seven weeks (last push 2026-08-24) with one release since June, so treat it as a research artifact that may be ending rather than a maintained tool.&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Zero community footprint: no Hacker News thread, no independent review, and no third-party benchmark runs found as of 2026-10-13.&lt;/li&gt;&#xA;&lt;li&gt;You need a benchmark to run it at all; the README lists benchmark-free evolution as an open direction, so teams without scored tasks get nothing from the loop.&lt;/li&gt;&#xA;&lt;li&gt;The README credits the GEPA lineage through the org&amp;rsquo;s own gepa-plus repository rather than the canonical gepa-ai/gepa, so the ancestry is partly self-referential.&lt;/li&gt;&#xA;&lt;li&gt;All accuracy gains are self-reported on two QA benchmarks, and the coding-agent framing of the README&amp;rsquo;s title runs ahead of what the paper measures.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Pricing&#xA;    &lt;div id=&#34;pricing&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#pricing&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Free and open source under Apache-2.0.&#xA;There is no hosted tier; evolution runs consume your own model API budget across many scored rollouts, which is the whole cost.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Compared to&#xA;    &lt;div id=&#34;compared-to&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#compared-to&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/skills/skillopt/&#34; &gt;SkillOpt&lt;/a&gt;: trains one reusable skill document against scored tasks with a strict edit budget; EvoSkill evolves the whole configuration and discovers new skills, with more freedom and less control.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/skills/gepa/&#34; &gt;GEPA&lt;/a&gt;: the reflective optimizer over any text parameter; EvoSkill extends that feedback-driven idea to joint prompt-plus-skill mutation and adds frontier-of-configurations selection.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/skills/agent-skills-open-standard/&#34; &gt;Agent Skills open standard&lt;/a&gt;: the format EvoSkill&amp;rsquo;s output lands in; the toolkit induces folders, the standard carries them.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Bottom line&#xA;    &lt;div id=&#34;bottom-line&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#bottom-line&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Recommended for teams that already hold a scored task set worth mining and want to see what skills a machine would write from their failures.&lt;/strong&gt;&#xA;Not for production skill maintenance (the loop is offline over a fixed dataset and the project is quiet), and not as evidence that auto-generated skills beat hand-written ones, which its benchmarks do not test.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Changes&#xA;    &lt;div id=&#34;changes&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#changes&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2026-10-13 - Created from the skills entrant resolution (the mapped awesome-list scan), with the zero-footprint search and the stalled release train recorded as the critical angles.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;See also&#xA;    &lt;div id=&#34;see-also&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#see-also&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/skills/skills-feature-matrix/&#34; &gt;Skills Feature Matrix&lt;/a&gt; - the category comparison this note joins&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/skills/skillopt/&#34; &gt;SkillOpt&lt;/a&gt; - the validation-gated trainer beside it in the optimizer family&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/skills/gepa/&#34; &gt;GEPA&lt;/a&gt; - the reflective optimizer whose idea it extends&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/skills/agent-skills-open-standard/&#34; &gt;Agent Skills open standard&lt;/a&gt; - the format its induced skills land in&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/skills/anthropic-agent-skills/&#34; &gt;Anthropic Agent Skills&lt;/a&gt; - the vendor framing of the skill folders it writes&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;References&#xA;    &lt;div id=&#34;references&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#references&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/sentient-agi/EvoSkill&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=github.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://github.com/sentient-agi/EvoSkill&lt;/a&gt; - repository, Apache-2.0, 1,250 stars, 132 forks, 21 open issues, pushed 2026-08-24, install paths and supported agents (GitHub API and README, fetched 2026-10-13)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://arxiv.org/abs/2603.02766&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=arxiv.org&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://arxiv.org/abs/2603.02766&lt;/a&gt; - the paper: the three-role loop, the Pareto frontier, and the OfficeQA, SealQA, and BrowseComp numbers (fetched 2026-10-13)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.sentient.xyz/blog/evoskill-automated-skill-induction-from-agent-failures&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=www.sentient.xyz&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://www.sentient.xyz/blog/evoskill-automated-skill-induction-from-agent-failures&lt;/a&gt; - the Sentient Labs post: the five-step loop, the git-branch frontier, and the Claude Code Opus 4.5 claim (March 5, 2026, fetched 2026-10-13)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://api.github.com/repos/sentient-agi/EvoSkill/releases/latest&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=api.github.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://api.github.com/repos/sentient-agi/EvoSkill/releases/latest&lt;/a&gt; - v1.3.0 published 2026-06-16, the newest release as of 2026-10-13 (fetched 2026-10-13)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://hn.algolia.com/api/v1/search?query=EvoSkill&amp;amp;tags=story&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=hn.algolia.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://hn.algolia.com/api/v1/search?query=EvoSkill&amp;tags=story&lt;/a&gt; - the zero-hit search behind the missing-footprint statement (fetched 2026-10-13)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
      
    </item>
    
  </channel>
</rss>
