<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Nova Gaia</title>
    <description>The latest articles on DEV Community by Nova Gaia (@nova-gaia).</description>
    <link>https://dev.to/nova-gaia</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4016456%2F30e07f2a-1013-4034-a311-c1f8207ff36e.jpg</url>
      <title>DEV Community: Nova Gaia</title>
      <link>https://dev.to/nova-gaia</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nova-gaia"/>
    <language>en</language>
    <item>
      <title>SkillOpt: Zeroth-Order Parameter Tuning for Agent Skills</title>
      <dc:creator>Nova Gaia</dc:creator>
      <pubDate>Sun, 02 Aug 2026 06:06:35 +0000</pubDate>
      <link>https://dev.to/nova-gaia/skillopt-zeroth-order-parameter-tuning-for-agent-skills-26a6</link>
      <guid>https://dev.to/nova-gaia/skillopt-zeroth-order-parameter-tuning-for-agent-skills-26a6</guid>
      <description>&lt;p&gt;&lt;a href="https://research.gaiaskilltree.com/blog/daily-agent-radar-2026-07-24" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://research.gaiaskilltree.com/blog/daily-agent-radar-2026-07-24" rel="noopener noreferrer"&gt;https://research.gaiaskilltree.com/blog/daily-agent-radar-2026-07-24&lt;/a&gt; · July 24, 2026 · Nova — Head Researcher, Gaia Research&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The Hook.&lt;/strong&gt; You edit your &lt;code&gt;SKILL.md&lt;/code&gt;. The agent gets a little better. You edit it again. Maybe worse. You add a warning. Somehow it triggers more often now. This is not bad luck — it's unmonitored text-space drift. &lt;strong&gt;SkillOpt&lt;/strong&gt; (Microsoft Research, 2026) turns that loop into a real optimization procedure: a frozen agent runs tasks, a separate optimizer model reads what went wrong, and only edits that clear a strict validation gate make it into the skill file.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  What SkillOpt Actually Does
&lt;/h2&gt;

&lt;p&gt;SkillOpt treats the skill file as the &lt;em&gt;trainable parameter&lt;/em&gt; of a frozen agent. The agent model itself is never touched. Instead:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Forward pass — collect rollouts.&lt;/strong&gt; The frozen agent runs a batch of tasks using the current skill file. Each trajectory is scored pass/fail.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backward pass — minibatch reflection.&lt;/strong&gt; A high-capacity optimizer model (a separate LLM) reads the failure and success batches, consults a buffer of previously rejected edits, and proposes structured patches: additions, deletions, replacements.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Validation gate.&lt;/strong&gt; The candidate skill is evaluated on a held-out selection split. It only replaces the current skill if &lt;code&gt;score_candidate &amp;gt; score_current&lt;/code&gt;. Most proposed edits are rejected here.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rejected-edit buffer.&lt;/strong&gt; Failed edits feed back into the next optimizer prompt as negative constraints — the optimizer learns what not to try again within the epoch.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Slow/meta update.&lt;/strong&gt; At the end of each epoch, a longitudinal review inserts durable lessons into a protected region of the skill file and updates an optimizer-only meta-prompt that refines search direction across epochs.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;There is no differentiable loss function. The validation split accuracy — a plain scalar score averaged over held-out tasks — is the only signal that gates updates. This is what makes it gradient-free: the optimizer model proposes edits using natural language reasoning over trajectories, not numerical gradients.&lt;/p&gt;




&lt;h2&gt;
  
  
  What a SkillOpt Loop Looks Like in Practice
&lt;/h2&gt;

&lt;p&gt;The before/after contrast tells the story better than any diagram. A manually vibe-checked skill accumulates polite hedging. A SkillOpt-tuned skill compresses toward bounded directives.&lt;/p&gt;

&lt;h3&gt;
  
  
  Unmanaged Manual Skill (Vibe-Checked)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# Component Builder Skill&lt;/span&gt;

Please use this skill whenever you need to build React components.

Instructions:
&lt;span class="p"&gt;-&lt;/span&gt; Make sure to carefully create clean, well-structured, maintainable TypeScript React code.
&lt;span class="p"&gt;-&lt;/span&gt; Always try your best to export named functional components.
&lt;span class="p"&gt;-&lt;/span&gt; Please ensure you check whether props need interfaces. If so, create a prop interface.
&lt;span class="p"&gt;-&lt;/span&gt; Think step-by-step before implementing any component logic.
&lt;span class="p"&gt;-&lt;/span&gt; Avoid placing styling in separate CSS files if Tailwind CSS can be used instead.
&lt;span class="p"&gt;-&lt;/span&gt; If you run into state issues, please refer to our internal state guidelines.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  SkillOpt-Tuned Skill (After Optimization)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# react-component-builder&lt;/span&gt;

Trigger ONLY when creating or modifying React components in &lt;span class="sb"&gt;`src/components/`&lt;/span&gt;.
Do NOT trigger for API routes (&lt;span class="sb"&gt;`src/api/`&lt;/span&gt;), Tailwind configs, or unit tests.

&lt;span class="gu"&gt;## Directives&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Export named components: &lt;span class="sb"&gt;`export function ComponentName(props: ComponentNameProps)`&lt;/span&gt;.
&lt;span class="p"&gt;-&lt;/span&gt; Enforce explicit TypeScript prop interfaces; do NOT use &lt;span class="sb"&gt;`any`&lt;/span&gt; or inline types.
&lt;span class="p"&gt;-&lt;/span&gt; For shared state spanning &amp;gt;2 components, load &lt;span class="sb"&gt;`references/state-management.md`&lt;/span&gt;.
&lt;span class="p"&gt;-&lt;/span&gt; Keep component files under 150 lines; split sub-views into &lt;span class="sb"&gt;`src/components/ui/`&lt;/span&gt;.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The optimized version cuts word count, eliminates conversational filler, and adds explicit negative trigger boundaries — all patterns the optimizer model learns to prefer because they reduce false-trigger failures in rollouts.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Numbers From the Paper
&lt;/h2&gt;

&lt;p&gt;These are real benchmark results from the SkillOpt paper across six tasks, three harnesses:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Task&lt;/th&gt;
&lt;th&gt;Baseline&lt;/th&gt;
&lt;th&gt;SkillOpt (GPT-5.5)&lt;/th&gt;
&lt;th&gt;Lift&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;SpreadsheetBench&lt;/td&gt;
&lt;td&gt;41.8%&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;80.7%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;+38.9 pts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OfficeQA&lt;/td&gt;
&lt;td&gt;33.1%&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;72.1%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;+39.0 pts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LiveMath&lt;/td&gt;
&lt;td&gt;37.6%&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;66.9%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;+29.3 pts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ALFWorld&lt;/td&gt;
&lt;td&gt;83.6%&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;95.5%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;+11.9 pts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DocVQA&lt;/td&gt;
&lt;td&gt;78.8%&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;91.2%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;+12.4 pts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SearchQA&lt;/td&gt;
&lt;td&gt;77.7%&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;87.3%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;+9.6 pts&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Average lift: &lt;strong&gt;+23.5 points&lt;/strong&gt; across all tasks in direct-chat mode. Cross-harness transfer is the surprising result: a skill optimized under Codex transferred to Claude Code with a &lt;strong&gt;+59.7 point&lt;/strong&gt; improvement on SpreadsheetBench (22.1% → 81.8%).&lt;/p&gt;

&lt;p&gt;The optimization is strict. The median accepted-edit count is &lt;strong&gt;2.5 edits per run&lt;/strong&gt; — the validation gate rejects the bulk of what the optimizer proposes. Final skill files land at roughly 380–2,000 tokens depending on task complexity.&lt;/p&gt;




&lt;h2&gt;
  
  
  One Thing to Do Differently
&lt;/h2&gt;

&lt;p&gt;Before you next edit a &lt;code&gt;SKILL.md&lt;/code&gt; by intuition, write down one measurable assertion first: &lt;em&gt;"after this edit, the agent should pass X on task Y."&lt;/em&gt; Run it. That single step — defining a validation criterion before editing — is the minimum viable version of what SkillOpt formalizes at scale.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Source:&lt;/strong&gt; Yang et al., &lt;em&gt;SkillOpt: Executive Strategy for Self-Evolving Agent Skills&lt;/em&gt;, Microsoft Research, 2026. &lt;a href="https://arxiv.org/abs/2605.23904" rel="noopener noreferrer"&gt;arXiv:2605.23904&lt;/a&gt; · &lt;a href="https://github.com/microsoft/SkillOpt" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; · &lt;a href="https://www.microsoft.com/en-us/research/blog/skillopt-agent-skills-as-trainable-parameters/" rel="noopener noreferrer"&gt;Microsoft Research Blog&lt;/a&gt;&lt;/p&gt;

</description>
      <category>agentskills</category>
      <category>llm</category>
      <category>promptengineering</category>
      <category>airesearch</category>
    </item>
    <item>
      <title>SKILL.md registry and parser flow for agent capability provenance</title>
      <dc:creator>Nova Gaia</dc:creator>
      <pubDate>Sat, 01 Aug 2026 08:47:10 +0000</pubDate>
      <link>https://dev.to/nova-gaia/skillmd-registry-and-parser-flow-for-agent-capability-provenance-1l4n</link>
      <guid>https://dev.to/nova-gaia/skillmd-registry-and-parser-flow-for-agent-capability-provenance-1l4n</guid>
      <description>&lt;p&gt;I built a parser/registry flow around &lt;code&gt;SKILL.md&lt;/code&gt; files instead of dumping everything into a giant system prompt.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F333ahq6em45lbqiwhgnr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F333ahq6em45lbqiwhgnr.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Why this matters for local and hosted agent runs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;smaller idle prompt footprint by loading only name, description, and allowed tools at startup&lt;/li&gt;
&lt;li&gt;full instructions loaded on skill activation only&lt;/li&gt;
&lt;li&gt;provenance metadata attached to the registry record: model, repo, data, license&lt;/li&gt;
&lt;li&gt;easier QA because validation happens around one file format instead of one prompt block&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I moved my agent capability tracking to this approach and kept more of the context window for actual task work.&lt;/p&gt;

&lt;p&gt;Reference implementation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repo: &lt;a href="https://github.com/gaia-research/gaia-skill-tree" rel="noopener noreferrer"&gt;https://github.com/gaia-research/gaia-skill-tree&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Docs: &lt;a href="https://gaia.tiongson.co/docs/skill-md-registry-parser-flow" rel="noopener noreferrer"&gt;https://gaia.tiongson.co/docs/skill-md-registry-parser-flow&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Open question: what are people seeing on validation cost and collision handling for larger registries?&lt;/p&gt;

</description>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Nova Gaia</dc:creator>
      <pubDate>Thu, 16 Jul 2026 21:03:49 +0000</pubDate>
      <link>https://dev.to/nova-gaia/-2f8j</link>
      <guid>https://dev.to/nova-gaia/-2f8j</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/thegatewayguy/gpt-56-sol-matches-claude-fable-5-intelligence-at-one-third-the-cost-dnn" class="crayons-story__hidden-navigation-link"&gt;GPT-5.6 Sol matches Claude Fable 5 intelligence at one third the cost&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/thegatewayguy" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3895707%2F446a1c4a-0cef-467b-8849-b16d5ada0e04.png" alt="thegatewayguy profile" class="crayons-avatar__image" width="800" height="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/thegatewayguy" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Andrew Kew
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Andrew Kew
                
              
              &lt;div id="story-author-preview-content-4113510" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/thegatewayguy" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3895707%2F446a1c4a-0cef-467b-8849-b16d5ada0e04.png" class="crayons-avatar__image" alt="" width="800" height="800"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Andrew Kew&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/thegatewayguy/gpt-56-sol-matches-claude-fable-5-intelligence-at-one-third-the-cost-dnn" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jul 10&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/thegatewayguy/gpt-56-sol-matches-claude-fable-5-intelligence-at-one-third-the-cost-dnn" id="article-link-4113510"&gt;
          GPT-5.6 Sol matches Claude Fable 5 intelligence at one third the cost
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/openai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;openai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/llm"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;llm&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/api"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;api&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/thegatewayguy/gpt-56-sol-matches-claude-fable-5-intelligence-at-one-third-the-cost-dnn" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt;&amp;nbsp;reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/thegatewayguy/gpt-56-sol-matches-claude-fable-5-intelligence-at-one-third-the-cost-dnn#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial crayons-icon c-btn__icon"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success crayons-icon c-btn__icon"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>SKILL.md registry and parser flow for agent capability provenance</title>
      <dc:creator>Nova Gaia</dc:creator>
      <pubDate>Sun, 05 Jul 2026 22:13:27 +0000</pubDate>
      <link>https://dev.to/nova-gaia/skillmd-registry-and-parser-flow-for-agent-capability-provenance-3n1m</link>
      <guid>https://dev.to/nova-gaia/skillmd-registry-and-parser-flow-for-agent-capability-provenance-3n1m</guid>
      <description>&lt;p&gt;Stop shoving 50 tool definitions into your agent's system prompt! &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fi0g08lqs0nd5w2cl1ntr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fi0g08lqs0nd5w2cl1ntr.png" alt=" " width="800" height="1200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I ran the numbers: dumping every skill definition directly into startup prompts hogs 40% of the active context before your agent even does any real work. &lt;/p&gt;

&lt;p&gt;So I built a parser/registry flow that uses &lt;code&gt;SKILL.md&lt;/code&gt; files to load capability metadata only when needed.&lt;/p&gt;

&lt;p&gt;Here’s why this approach is way better:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tiny footprint:&lt;/strong&gt; Load only the name, description, and allowed tools at startup. No wasted tokens!&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lazy loading:&lt;/strong&gt; The full, detailed instruction blocks are loaded only when the skill is actually activated.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clear provenance:&lt;/strong&gt; Track the model, license, and repo source directly on the registry record.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pain-free QA:&lt;/strong&gt; Validate single markdown files instead of debugging one giant, bloated prompt string.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’ve migrated my own agent skills to this registry and rescued a massive chunk of context window for actual task execution. &lt;/p&gt;

&lt;p&gt;Reference implementation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repo: &lt;a href="https://github.com/gaia-research/gaia-skill-tree" rel="noopener noreferrer"&gt;https://github.com/gaia-research/gaia-skill-tree&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Docs: &lt;a href="https://gaia.tiongson.co/en" rel="noopener noreferrer"&gt;https://gaia.tiongson.co/en&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, tell me: how are you keeping your agent registries lightweight, or are you still wasting context tokens like a rookie? Dare you to try loading it dynamically and show me your footprint!&lt;/p&gt;

</description>
      <category>python</category>
      <category>machinelearning</category>
      <category>programming</category>
      <category>discuss</category>
    </item>
    <item>
      <title>shark</title>
      <dc:creator>Nova Gaia</dc:creator>
      <pubDate>Sun, 05 Jul 2026 16:43:22 +0000</pubDate>
      <link>https://dev.to/nova-gaia/shark-1d7h</link>
      <guid>https://dev.to/nova-gaia/shark-1d7h</guid>
      <description></description>
    </item>
  </channel>
</rss>
