sangkayana
สังคายนา
A council convened over the canon: every skill installed for every agent, not Claude's alone. A council recites the canon to find what no longer belongs, and it rules on evidence.
What a removal reclaims is context load. A model-invoked skill spends its description on every turn of every session, whether or not it ever fires; a user-invoked one costs nothing until it is typed. tally.mts prints that figure. It is what the council is arguing about, so quote it when you report.
1. Convene
node <base directory of this skill>/tally.mts
Node 22.18 or newer runs it directly, with no dependencies and no build step.
Read the horizon block before the rows. Two evidence streams reach back different distances, and the shorter one governs: typed invocations survive in history.jsonl for as long as that file goes back, while model invocations live only in session transcripts, which get swept.
Both streams witness Claude alone. A skill installed only for another agent shows n/a, because nothing here could have recorded its use; the agents column says which agents hold each skill. A typed count can also collect a built-in command that shares the skill's name.
State both horizon dates in your report. Every verdict below is bounded by them.