MCPcopy
hub / github.com/codeaashu/claude-code / logSkillsLoaded

Function logSkillsLoaded

src/utils/telemetry/skillLoadedEvent.ts:13–39  ·  view source on GitHub ↗
(
  cwd: string,
  contextWindowTokens: number,
)

Source from the content-addressed store, hash-verified

11 * This enables analytics on which skills are available across sessions.
12 */
13export async function logSkillsLoaded(
14 cwd: string,
15 contextWindowTokens: number,
16): Promise<void> {
17 const skills = await getSkillToolCommands(cwd)
18 const skillBudget = getCharBudget(contextWindowTokens)
19
20 for (const skill of skills) {
21 if (skill.type !== 'prompt') continue
22
23 logEvent('tengu_skill_loaded', {
24 // _PROTO_skill_name routes to the privileged skill_name BQ column.
25 // Unredacted names don't go in additional_metadata.
26 _PROTO_skill_name:
27 skill.name as AnalyticsMetadata_I_VERIFIED_THIS_IS_PII_TAGGED,
28 skill_source:
29 skill.source as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS,
30 skill_loaded_from:
31 skill.loadedFrom as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS,
32 skill_budget: skillBudget,
33 ...(skill.kind && {
34 skill_kind:
35 skill.kind as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS,
36 }),
37 })
38 }
39}
40

Callers 1

logSessionTelemetryFunction · 0.85

Calls 2

getCharBudgetFunction · 0.85
logEventFunction · 0.85

Tested by

no test coverage detected