hermes - 💡(How to fix) Fix Feature Request: Integrate Microsoft SkillOpt for Self-Evolving Agent Skills

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Microsoft recently released SkillOpt — a text-space optimizer that trains reusable natural-language skills for frozen LLM agents through trajectory-driven edits, validation-gated updates, and deployable best_skill.md artifacts.

This issue proposes exploring SkillOpt integration with Hermes to enable automated skill optimization without touching model weights.

Root Cause

Microsoft recently released SkillOpt — a text-space optimizer that trains reusable natural-language skills for frozen LLM agents through trajectory-driven edits, validation-gated updates, and deployable best_skill.md artifacts.

This issue proposes exploring SkillOpt integration with Hermes to enable automated skill optimization without touching model weights.

Fix Action

Fix / Workaround

Pipeline (6 stages):

  1. Rollout — execute episodes with current skill
  2. Reflect — analyze trajectories, generate patches
  3. Aggregate — hierarchical merge of patches
  4. Select — rank and select top edits
  5. Update — apply edits to skill document
  6. Evaluate — validate candidate skill, accept/reject

Code Example

hermes skillopt train --config configs/hermes/default.yaml --split_dir ./my_tasks
hermes skillopt import ./outputs/best_skill.md --name my-optimized-skill
RAW_BUFFERClick to expand / collapse

Feature Request: Integrate Microsoft SkillOpt for Self-Evolving Agent Skills

Summary

Microsoft recently released SkillOpt — a text-space optimizer that trains reusable natural-language skills for frozen LLM agents through trajectory-driven edits, validation-gated updates, and deployable best_skill.md artifacts.

This issue proposes exploring SkillOpt integration with Hermes to enable automated skill optimization without touching model weights.

What is SkillOpt?

Core concept: Train agent skills like you train neural networks — with epochs, (mini-)batchsize, learning rates, and validation gates — but without touching model weights.

Pipeline (6 stages):

  1. Rollout — execute episodes with current skill
  2. Reflect — analyze trajectories, generate patches
  3. Aggregate — hierarchical merge of patches
  4. Select — rank and select top edits
  5. Update — apply edits to skill document
  6. Evaluate — validate candidate skill, accept/reject

Output: best_skill.md — a deployable skill document

Why Integrate with Hermes?

Hermes CurrentWith SkillOpt
Skills are manually written SKILL.md filesSkills can be auto-optimized from task trajectories
Skill improvement requires human iterationSkill improvement is data-driven with validation gates
No systematic skill evaluation frameworkBuilt-in train/val/test split evaluation
Skills are static after creationSkills can self-evolve over time

Proposed Integration Paths

Option A: CLI Wrapper Skill (Low Effort)

Create a Hermes skill that wraps SkillOpt CLI:

hermes skillopt train --config configs/hermes/default.yaml --split_dir ./my_tasks
hermes skillopt import ./outputs/best_skill.md --name my-optimized-skill

Option B: Native Integration (Medium Effort)

  • Add SkillOpt as optional dependency
  • Provide hermes skill optimize <skill-name> command
  • Auto-generate training data from Hermes session history
  • Integrate with existing skill registry

Option C: Deep Integration (High Effort)

  • Replace/adapt Hermes skill system to use SkillOpt's document-based skill representation
  • Real-time skill optimization during agent execution
  • Continuous learning from user feedback

Technical Compatibility

  • ✅ Python 3.10+ (matches Hermes)
  • ✅ Supports Azure OpenAI / OpenAI / Anthropic / local vLLM
  • ✅ MIT license
  • ⚠️ Requires JSON training data in specific format
  • ⚠️ Currently benchmark-oriented (SearchQA, ALFWorld, etc.), needs adaptation for general tasks

Next Steps

  1. Evaluate SkillOpt on a Hermes skill (e.g., github-pr-workflow or requesting-code-review)
  2. Prototype Option A as a proof-of-concept
  3. Gather feedback from maintainers and community

References


This is a research/experimental feature proposal. Happy to contribute a POC if there's interest!

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING