Per-skill offered-vs-activated rollup
Rollup the org’s routing decisions that offered skill_name and
measure how often a downstream trace actually activated it.
A skill offered often but activated rarely is “menu bloat” — it costs context on every routing decision and earns little. Returns:
Org-scoped. activation_rate is null rather than 0 in the two cases where
a rate would be misleading: when there is no routing data yet, and when
activation_measurable is false — that is, the skill reaches the model
only as a prompt fragment, with no SDK or trace channel to report an
activation back, so nothing could have been counted.
activations_missing_decision is the third way this rollup can be empty
for a reason that is not “the model ignored it”: runs that activated the
skill and cited a routing decision this org has no row for, so the join
key resolves to nothing. Those activations are real and are absent from
activated_count — a non-zero value here means the ratio is an
under-count, and an empty panel is empty because data went missing, not
because the skill was passed over.