{"id":"272801ca-60f2-4bc9-be87-8894373d722f","shortId":"2qD997","kind":"skill","title":"telemetry-sanitized-skill-invocation","tagline":"Record SkillTool usage with sanitized telemetry fields so built-in, bundled, and custom skills are distinguished while avoiding PII leakage.","description":"# SKILL: Telemetry Sanitized Skill Invocation\n**Domain:** tool-orchestration  \n**Trigger:** Use when SkillTool emits `tengu_skill_tool_invocation` so built-in commands, remote MCP skills, and forked executions are logged without exposing command strings in open analytics tables.\n**Source Pattern:** Distilled from reviewed tool-loop and result-shaping patterns.\n\n## Core Method\nBefore executing any skill, compute whether the command is built-in, bundled, official marketplace, or custom and pass the sanitized value as `command_name` while storing the actual skill name under `_PROTO_skill_name` to satisfy both privacy and auditability. Add contextual metadata such as `execution_context` (`inline`, `forked`, `remote`), `query_depth`, `parent_agent_id`, and plugin fields when applicable, and wrap remote canonical invocations or discovered skills with additional flags so downstream dashboards know the skill source without revealing user-generated text. Emit separate telemetry for inline/forked/remote flows so metrics can split by execution path while normalizing the skill name for aggregated reporting.\n\n## Key Rules\n- Derive `sanitizedCommandName` as `commandName` for built-in/bundled/official skills and fall back to `'custom'` for user-authored commands; log the actual name only in `_PROTO_skill_name` to keep BigQuery columns safe.\n- Always include `execution_context` (`'inline'`, `'forked'`, `'remote'`) plus `invocation_trigger` (nested vs proactive) and `query_depth` so telemetry consumers understand the runtime scenario.\n- When a plugin skill is involved, add both `_PROTO_plugin_name` and the sanitized `plugin_name`/`plugin_repository` fields along with marketplace metadata to enable plugin-level analytics without leaking repository URLs.\n- For remote MCP skills, emit `is_remote`, `was_discovered`, and cached load info (latency, cache hit) so telemetry can diagnose discovery performance without exposing the raw prompt body.\n\n## Example Application\nUse this skill to log any slash command invocation, ensuring that a cloned forked review or `remote_skill` call still records an `execution_context` flag plus proper naming sanitization for consumption by privacy-sensitive dashboards.\n\n## Anti-Patterns (What NOT to do)\n- Do not log user-entered command text directly into public telemetry columns; that breaks PII rules and makes analytics unusable.\n- Do not merge inline/forked/remote flows in a single metric stream without flags, because it becomes impossible to trace delays or diagnostics per execution context.","tags":["telemetry","sanitized","skill","invocation","cskill","agents","ychampion","agent-skills","ai-agents","cli","coding-agents","context-engineering"],"capabilities":["skill","source-ychampion","skill-telemetry-sanitized-skill-invocation","topic-agent-skills","topic-ai-agents","topic-cli","topic-coding-agents","topic-context-engineering","topic-developer-tools","topic-mcp","topic-multi-agent","topic-terminal-ui"],"categories":["cskill-agents"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/ychampion/cskill-agents/telemetry-sanitized-skill-invocation","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add ychampion/cskill-agents","source_repo":"https://github.com/ychampion/cskill-agents","install_from":"skills.sh"}},"qualityScore":"0.467","qualityRationale":"deterministic score 0.47 from registry signals: · indexed on github topic:agent-skills · 34 github stars · SKILL.md body (2,546 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T00:56:57.360Z","embedding":null,"createdAt":"2026-04-18T22:21:26.944Z","updatedAt":"2026-04-22T00:56:57.360Z","lastSeenAt":"2026-04-22T00:56:57.360Z","tsv":"'/bundled/official':197 'actual':109,211 'add':122,252 'addit':151 'agent':135 'aggreg':185 'along':265 'alway':223 'analyt':64,274,371 'anti':346 'anti-pattern':345 'applic':141,308 'audit':121 'author':207 'avoid':24 'back':201 'becom':387 'bigqueri':220 'bodi':306 'break':366 'built':15,47,91,195 'built-in':14,46,90,194 'bundl':17,93 'cach':289,293 'call':327 'canon':145 'clone':321 'column':221,364 'command':49,60,88,104,208,316,358 'commandnam':192 'comput':85 'consum':241 'consumpt':339 'context':128,226,332,396 'contextu':123 'core':79 'custom':19,97,203 'dashboard':155,344 'delay':391 'depth':133,238 'deriv':189 'diagnos':298 'diagnost':393 'direct':360 'discov':148,287 'discoveri':299 'distil':68 'distinguish':22 'domain':32 'downstream':154 'emit':40,166,283 'enabl':270 'ensur':318 'enter':357 'exampl':307 'execut':55,82,127,177,225,331,395 'expos':59,302 'fall':200 'field':12,139,264 'flag':152,333,384 'flow':171,377 'fork':54,130,228,322 'generat':164 'hit':294 'id':136 'imposs':388 'includ':224 'info':291 'inlin':129,227 'inline/forked/remote':170,376 'invoc':5,31,44,146,231,317 'involv':251 'keep':219 'key':187 'know':156 'latenc':292 'leak':276 'leakag':26 'level':273 'load':290 'log':57,209,313,354 'loop':73 'make':370 'marketplac':95,267 'mcp':51,281 'merg':375 'metadata':124,268 'method':80 'metric':173,381 'name':105,111,115,183,212,217,256,261,336 'nest':233 'normal':180 'offici':94 'open':63 'orchestr':35 'parent':134 'pass':99 'path':178 'pattern':67,78,347 'per':394 'perform':300 'pii':25,367 'plugin':138,248,255,260,262,272 'plugin-level':271 'plus':230,334 'privaci':119,342 'privacy-sensit':341 'proactiv':235 'prompt':305 'proper':335 'proto':113,215,254 'public':362 'queri':132,237 'raw':304 'record':6,329 'remot':50,131,144,229,280,285,325 'report':186 'repositori':263,277 'result':76 'result-shap':75 'reveal':161 'review':70,323 'rule':188,368 'runtim':244 'safe':222 'sanit':3,10,29,101,259,337 'sanitizedcommandnam':190 'satisfi':117 'scenario':245 'sensit':343 'separ':167 'shape':77 'singl':380 'skill':4,20,27,30,42,52,84,110,114,149,158,182,198,216,249,282,311,326 'skill-telemetry-sanitized-skill-invocation' 'skilltool':7,39 'slash':315 'sourc':66,159 'source-ychampion' 'split':175 'still':328 'store':107 'stream':382 'string':61 'tabl':65 'telemetri':2,11,28,168,240,296,363 'telemetry-sanitized-skill-invoc':1 'tengu':41 'text':165,359 'tool':34,43,72 'tool-loop':71 'tool-orchestr':33 'topic-agent-skills' 'topic-ai-agents' 'topic-cli' 'topic-coding-agents' 'topic-context-engineering' 'topic-developer-tools' 'topic-mcp' 'topic-multi-agent' 'topic-terminal-ui' 'trace':390 'trigger':36,232 'understand':242 'unus':372 'url':278 'usag':8 'use':37,309 'user':163,206,356 'user-author':205 'user-ent':355 'user-gener':162 'valu':102 'vs':234 'whether':86 'without':58,160,275,301,383 'wrap':143","prices":[{"id":"07217861-59dc-48c1-9feb-e9bec6255298","listingId":"272801ca-60f2-4bc9-be87-8894373d722f","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"ychampion","category":"cskill-agents","install_from":"skills.sh"},"createdAt":"2026-04-18T22:21:26.944Z"}],"sources":[{"listingId":"272801ca-60f2-4bc9-be87-8894373d722f","source":"github","sourceId":"ychampion/cskill-agents/telemetry-sanitized-skill-invocation","sourceUrl":"https://github.com/ychampion/cskill-agents/tree/main/skills/telemetry-sanitized-skill-invocation","isPrimary":false,"firstSeenAt":"2026-04-18T22:21:26.944Z","lastSeenAt":"2026-04-22T00:56:57.360Z"}],"details":{"listingId":"272801ca-60f2-4bc9-be87-8894373d722f","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"ychampion","slug":"telemetry-sanitized-skill-invocation","github":{"repo":"ychampion/cskill-agents","stars":34,"topics":["agent-skills","ai-agents","cli","coding-agents","context-engineering","developer-tools","mcp","multi-agent","terminal-ui"],"license":"mit","html_url":"https://github.com/ychampion/cskill-agents","pushed_at":"2026-04-04T14:13:23Z","description":"Agent skills for coding CLIs, multi-agent runtimes, context engines, MCP extensions, and terminal tooling. Instead of using claude code's source code, give your agent skills to create your own!","skill_md_sha":"2ab774ddf654fa5d1ff0c4968d61d7aebdc61377","skill_md_path":"skills/telemetry-sanitized-skill-invocation/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/ychampion/cskill-agents/tree/main/skills/telemetry-sanitized-skill-invocation"},"layout":"multi","source":"github","category":"cskill-agents","frontmatter":{"name":"telemetry-sanitized-skill-invocation","description":"Record SkillTool usage with sanitized telemetry fields so built-in, bundled, and custom skills are distinguished while avoiding PII leakage."},"skills_sh_url":"https://skills.sh/ychampion/cskill-agents/telemetry-sanitized-skill-invocation"},"updatedAt":"2026-04-22T00:56:57.360Z"}}