Skill Synthesizer plugin thumbnail

Skill Synthesizer

The Skill Synthesizer gives A0 the ability to synthesize new skills autonomously based on a recent significant event or solution

Author a0-community-plugins 0 stars Version 1.0.1 Updated

README

Skill Synthesizer

Skill Synthesizer is a custom Agent Zero plugin that watches completed root-agent monologues, detects reusable solutions or recoveries, and writes synthesized skills to usr/skills/ for later recall.

What It Does

  • runs on monologue_end for the root agent only
  • checks basic significance and throttle limits before using the utility model
  • asks the utility model for a strict JSON envelope with a full SKILL.md
  • validates the generated skill and writes it to usr/skills/<name>/SKILL.md
  • updates only skills previously generated by this plugin
  • leaves compact info or warning log entries instead of interactive approval steps

Update Policy

  • new synthesized skills are created under usr/skills/
  • existing synthesized skills may be rewritten in place
  • hand-authored or built-in skills are never overwritten
  • ownership is marked with author: "skill_synthesizer" and metadata.source_plugin: "skill_synthesizer"

Config

default_config.yaml supports:

  • enabled
  • min_solution_confidence
  • max_skills_per_session
  • cooldown_turns
  • skip_if_existing_non_plugin_skill
  • min_conversation_chars
  • synthesis_model

If synthesis_model is empty, the active utility model is used. If it is set, the plugin attempts to rebuild the utility model with the same provider and the overridden model name.

Lockfile / Pause Mechanism

To temporarily disable synthesis during skill curation or consolidation work, create a global lockfile:

touch /a0/usr/skills/.synth-lockfile

When the lockfile exists, the plugin will exit early on every monologue_end event with a log message:

Skill synthesizer paused: Lockfile present: /a0/usr/skills/.synth-lockfile

To re-enable synthesis, simply delete the lockfile:

rm /a0/usr/skills/.synth-lockfile

The lockfile is global (not per-project). Consolidation skills like skill-repository-consolidation-audit should create this lockfile at session start and remove it at completion.