{% extends "_layout.html" %} {% set active = "skills" %} {% block title %}Skill {{ skill.id[:8] }}{% endblock %} {% block main %}
Fitness
{{ "%.2f"|format(skill.fitness_mean) }} ({{ skill.successes }}/{{ skill.trials }})
Trigger
{{ skill.trigger }}
Body
{{ skill.body }}
Rationale
{{ skill.rationale }}
Parents
{% if skill.parent_skills %} {% for pid in skill.parent_skills %} {{ pid[:8] }} {% endfor %} {% else %} none (root) {% endif %}
Provenance episodes
{% if skill.provenance_episodes %} {% for eid in skill.provenance_episodes[:20] %} {{ eid[:8] }} {% endfor %} {% else %} none {% endif %}
{% if skill.compiled_macro %}

Compiled macro

When this skill matches a task strongly, the macro below is executed deterministically — zero LLM tokens, no model latency between steps. On any error the agent falls back to the regular ReAct loop.

Confidence: {{ "%.2f"|format(macro_conf) }} · Steps: {{ macro_steps|length }} · Distilled from: {{ macro_episodes|length }} successful episodes

    {% for st in macro_steps %}
  1. {{ st.tool }}
    {{ st.args_json }}
  2. {% endfor %}
{% endif %} {% if skill.is_counterfactual and skill.parent_skills %}

Counterfactual lineage

Generated as an alternative to a failing skill: {{ skill.parent_skills[0][:8] }}. This skill competes with the parent for retrieval; if it outperforms, the parent is eventually retired.

{% endif %} {% if practice_prompts %}

Practice prompts dreamer-suggested

This skill's fitness is in the uncertain zone (~{{ "%.2f"|format(skill.fitness_mean) }}). The dreamer wrote concrete tasks the agent could try — running them feeds real evidence into the Bayesian fitness so the skill is either promoted or retired.

{% endif %} {% endblock %} {% block scripts %} {% endblock %}