{% extends "base.html" %} {% block title %}aide - Insights{% endblock %} {% block content %}

Insights

{# --- First Prompt Effectiveness --- #} {% if first_prompt.buckets %}

First Prompt Effectiveness

How first prompt length correlates with session outcomes.

{% if not subscription_user %} {% endif %} {% for b in first_prompt.buckets %} {% if not subscription_user %} {% endif %} {% endfor %}
Prompt Length SessionsAvg CostAvg Errors Avg Edits
{{ b.label }} {{ b.n }}{{ "${:,.2f}".format(b.avg_cost) }}{{ "{:.1f}".format(b.avg_errors) }} {{ "{:.1f}".format(b.avg_edits) }}
{% if first_prompt.buckets|length >= 2 %} {% set first = first_prompt.buckets[0] %} {% set last = first_prompt.buckets[-1] %} {% if first.avg_errors > 0 and last.avg_errors < first.avg_errors %}
Detailed first prompts ({{ last.label }}) average {{ "{:.0%}".format(1 - last.avg_errors / first.avg_errors) }} fewer errors {% if not subscription_user and first.avg_cost > last.avg_cost and last.avg_cost > 0 %} and {{ "{:.0%}".format(1 - last.avg_cost / first.avg_cost) }} less cost {% endif %} than short ones ({{ first.label }}).
{% endif %} {% endif %}
{% endif %} {# --- Cost Concentration --- #} {% if not subscription_user and cost_concentration.sessions %}

Cost Concentration

How cost is distributed across sessions — a few whale sessions often drive most of the spend.

Top 3 Sessions
{{ "{:.0%}".format(cost_concentration.top3_pct) }}
of total cost
Median Session
{{ "${:,.2f}".format(cost_concentration.median) }}
p90
{{ "${:,.2f}".format(cost_concentration.p90) }}
{% for s in cost_concentration.sessions %} {% endfor %}
Session Project Cost Cumulative
{{ s.custom_title or s.started_at[:10] }} {{ s.project_name }} {{ "${:,.2f}".format(s.cost) }} {{ "{:.0%}".format(s.cumulative_pct) }}
{% endif %} {# --- Cost Per Edit by Duration --- #} {% if cost_per_edit %}
{% if not subscription_user %}

Cost Per Edit

Average cost per file change by session length.

{% endif %} {# --- Model Usage --- #} {% if model_breakdown %}

Model Usage

Which models Claude Code uses and their relative cost.

{% for m in model_breakdown %}
{{ m.model_short }} {{ "{:,}".format(m.msg_count) }} msgs{% if not subscription_user %} · ~{{ "${:,.0f}".format(m.estimated_cost) }}{% endif %}
{% endfor %}
{% endif %}
{% endif %} {# --- Time Patterns --- #} {% if time_patterns.by_hour %}

Work Blocks by Hour

When you start focused coding blocks. (?)

{% if time_patterns.by_day %}

Work Blocks by Day

Day-of-week work patterns.

{% endif %}
{% endif %} {# --- Thinking + Permission Mode --- #}
{% if thinking_stats.sessions_with_thinking > 0 %}

Thinking Blocks

Extended thinking usage — sessions where Claude reasons before acting.

Sessions w/ Thinking
{{ thinking_stats.sessions_with_thinking }}/{{ thinking_stats.total_sessions }}
{{ "{:.0%}".format(thinking_stats.sessions_with_thinking / thinking_stats.total_sessions) if thinking_stats.total_sessions > 0 else "0%" }}
Avg Thinking
{% set avg_k = thinking_stats.avg_thinking_chars / 1000 %} {{ "{:.0f}K".format(avg_k) if avg_k >= 1 else "{:.0f}".format(thinking_stats.avg_thinking_chars) }}
chars per session
{% if thinking_stats.by_session %} {% for s in thinking_stats.by_session[:5] %} {% endfor %}
Session Thinking Errors
{{ s.custom_title or s.started_at[:10] }} {{ s.project_name }} {{ "{:,.0f}K".format(s.thinking_chars / 1000) if s.thinking_chars >= 1000 else "{:,}".format(s.thinking_chars) }} {{ s.tool_error_count }}
{% endif %}
{% endif %} {% if permission_modes %}

Permission Modes

Which permission mode you use across sessions.

{% set mode_labels = {"acceptEdits": "Accept Edits", "default": "Default", "plan": "Plan", "bypassPermissions": "Bypass"} %} {% set mode_descriptions = { "acceptEdits": "Auto-approves file edits, prompts for other actions", "default": "Prompts for approval on all tool uses", "plan": "Plan mode — research and design before implementing", "bypassPermissions": "All actions auto-approved" } %} {% for m in permission_modes %}
{{ mode_labels.get(m.mode, m.mode) }} {{ mode_descriptions.get(m.mode, "") }}
{{ m.count }} sessions · {{ "{:.0%}".format(m.pct) }}
{% endfor %}
{% endif %}
{# --- Tool Sequences + User Response Time --- #}
{% if tool_sequences %}

Tool Sequences

Most common tool-to-tool transitions — the workflow fingerprint.

{% for seq in tool_sequences %} {% endfor %}
From To Count Pattern
{{ seq.from_tool }} {{ seq.to_tool }} {{ "{:,}".format(seq.count) }} {% set max_count = tool_sequences[0].count %}
{% endif %} {% if response_times.count > 0 %}

Your Response Time

How long you take between Claude's response and your next message (excluding auto tool results).

Median
{% if response_times.median_seconds >= 60 %}{{ (response_times.median_seconds // 60)|int }}m {{ (response_times.median_seconds % 60)|int }}s{% else %}{{ response_times.median_seconds|int }}s{% endif %}
Mean
{% if response_times.mean_seconds >= 60 %}{{ (response_times.mean_seconds // 60)|int }}m {{ (response_times.mean_seconds % 60)|int }}s{% else %}{{ response_times.mean_seconds|int }}s{% endif %}
{{ response_times.count }} response gaps measured (1s–1h window)
{% endif %}
{% endblock %} {% block scripts %} {% endblock %}