Skip to main content

self_learning_skills

self_learning_skills periodically reviews recent turns and lets a constrained same-core child agent update the active core's skills. It is a skills-only loop; it does not read or write memory.

The package installs:

agent/lib/self_learning_skills/
agent/output/self_learning_skills/

The output slot runs in the parallel output pipeline. It counts completed turns in session state, and when the configured interval is reached it calls the same core with:

  • input_slots=["base_input"]
  • output_slots=["base_output"]
  • tools=["skills_list", "skill_view", "skill_manage"]
  • use_bootstrap=True

The child can only use the skill tools selected above. Skill writes still go through normal skill_manage capability and approval checks, and changes take effect on later turns.

Install

Use the interactive package manager:

uv run demiurge package

Or install from the CLI:

uv run demiurge package install self_learning_skills --core assistant --preview
uv run demiurge package install self_learning_skills --core assistant

Options

OptionDefaultMeaning
interval10Number of turns between skill review passes.
history_limit40Number of recent history messages supplied to the review child.
notifytrueEmit transient notices when a review updates skills or fails.

Requirements

The target core must expose skills_list, skill_view, and skill_manage, and must allow skill_manage to request fs.write through the host approval flow. The package grants its output slot agents.run:* and scoped session-state counter access.

Because the review uses ctx.agents.run(...), the current turn waits for the review child to finish when a review is triggered.