{% extends "base.html" %} {% block title %}Skill Evolution — Agent Dashboard{% endblock %} {% block page_css %} {% endblock %} {% block content %}

Skill Evolution Engine

Detects recurring skill workflows and synthesises new composite skills automatically

Patterns
{{ stats.total }}
Synthesized
{{ stats.synthesized }}
Pending
{{ stats.pending }}
Threshold
{{ stats.threshold }}×
Job Interval
6 h
Engine
{% if stats.enabled %}Active{% else %}Disabled{% endif %}
{% if not stats.enabled %}

Skill Evolution Engine is disabled

Set SKILL_EVOLUTION_ENABLED=true in your environment to enable automatic pattern detection and skill synthesis. The engine runs every 6 hours.

{% endif %}

Recurring multi-skill workflows detected in the last 7 days. Patterns reaching the threshold ({{ stats.threshold }}×) are queued for synthesis.

{% if stats.patterns %} {% for p in stats.patterns %} {% set pct = [[p.occurrence_count / stats.threshold * 100, 100]|min, 0]|max %}
{% for skill in p.skill_sequence %} {{ skill }} {% if not loop.last %} {% endif %} {% endfor %}
{% if p.synthesized %} synthesized {% elif p.occurrence_count >= stats.threshold %} ready {% else %} learning {% endif %}
Usage frequency {{ p.occurrence_count }} / {{ stats.threshold }}
{% if p.synthesized and p.composite_skill_name %} Composite: {{ p.composite_skill_name }} {% else %} {{ p.pattern_key }} {% endif %}
{{ p.last_seen_at[:16]|replace("T"," ") if p.last_seen_at else "—" }}
{% endfor %} {% else %}

No patterns detected yet

Patterns emerge when the same sequence of skills is used {{ stats.threshold }} or more times within a 5-minute window. Keep using the agent and patterns will appear here.

{% endif %}
{% endblock %}