.claude/skills/enhanced-telemetry/SKILL.md
Comprehensive Claude Code telemetry via 10 hooks capturing sessions, conversations, tools, subagents, context, permissions, and repository analytics. Use when analyzing detailed usage patterns beyond default OTEL.
npx skillsauth add adaptationio/skrillz enhanced-telemetryInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Captures comprehensive Claude Code metrics via ALL 10 available hooks, providing deep observability beyond default OTEL telemetry.
| Hook | Event Type | What's Captured |
|------|------------|-----------------|
| SessionStart | session_start | Source, permission mode, git info |
| SessionEnd | session_end | Duration, turns, tools, errors, subagents |
| UserPromptSubmit | user_prompt | Pattern, length, tokens, prompt hash |
| PreToolUse | tool_call | Tool name, details, sequence position |
| PostToolUse | tool_result | Status, response size, errors |
| SubagentStop | subagent_complete | Subagent count |
| PermissionRequest | permission_request | Notification type |
| PreCompact | context_compact | Trigger (manual/auto), token estimate |
| Notification | notification | Notification type |
| Stop | session_end | Same as SessionEnd |
Settings file: .claude/settings.json
{
"hooks": {
"SessionStart": ["python3 .claude/hooks/enhanced-telemetry.py SessionStart"],
"SessionEnd": ["python3 .claude/hooks/enhanced-telemetry.py SessionEnd"],
"UserPromptSubmit": ["python3 .claude/hooks/enhanced-telemetry.py UserPromptSubmit"],
"PreToolUse": [{"matcher": ".*", "hooks": ["python3 .claude/hooks/enhanced-telemetry.py PreToolUse"]}],
"PostToolUse": [{"matcher": ".*", "hooks": ["python3 .claude/hooks/enhanced-telemetry.py PostToolUse"]}],
"SubagentStop": ["python3 .claude/hooks/enhanced-telemetry.py SubagentStop"],
"PermissionRequest": ["python3 .claude/hooks/enhanced-telemetry.py PermissionRequest"],
"PreCompact": ["python3 .claude/hooks/enhanced-telemetry.py PreCompact"],
"Notification": ["python3 .claude/hooks/enhanced-telemetry.py Notification"],
"Stop": ["python3 .claude/hooks/enhanced-telemetry.py Stop"]
}
}
# All enhanced telemetry
{job="claude_code_enhanced"} | json
# Session analytics
{job="claude_code_enhanced", event_type="session_end"} | json
# Tool calls
{job="claude_code_enhanced", event_type="tool_call"} | json
# Prompt patterns
sum by (pattern) (count_over_time({job="claude_code_enhanced", event_type="user_prompt"} | json [24h]))
# Skill usage
{job="claude_code_enhanced", event_type="skill_usage"} | json
# Context utilization
{job="claude_code_enhanced", event_type="context_utilization"} | json
# Tool sequences
{job="claude_code_enhanced", event_type="tool_call"} | json | line_format "{{.previous_tool}} → {{.tool_name}}"
# Subagent tracking
{job="claude_code_enhanced", event_type="tool_call", tool="Task"} | json
# Error analysis
{job="claude_code_enhanced", event_type="tool_result", status="error"} | json
# Context compaction
{job="claude_code_enhanced", event_type="context_compact"} | json
{
"event": "session_start",
"session_id": "abc123",
"source": "startup",
"permission_mode": "default",
"cwd": "/mnt/c/data/github/project",
"timestamp": "2025-11-27T08:00:00Z",
"git": {"repo_name": "project", "branch": "main"}
}
{
"event": "session_end",
"session_id": "abc123",
"reason": "prompt_input_exit",
"duration_seconds": 1847.5,
"turn_count": 25,
"tools_used": {"Read": 45, "Edit": 12, "Bash": 8},
"tool_sequence": ["Read", "Edit", "Bash", "Read"],
"subagents_spawned": 3,
"error_count": 2,
"timestamp": "2025-11-27T08:30:00Z"
}
{
"event": "user_prompt",
"turn_number": 5,
"prompt_length": 256,
"estimated_tokens": 64,
"prompt_hash": "a1b2c3d4",
"patterns": ["question", "debugging"],
"timestamp": "2025-11-27T08:05:00Z"
}
{
"event": "tool_call",
"tool_name": "Read",
"tool_use_id": "xyz789",
"tool_details": {"file_path": "/src/main.py", "file_type": ".py"},
"sequence_position": 15,
"previous_tool": "Glob",
"timestamp": "2025-11-27T08:05:30Z"
}
{
"event": "tool_result",
"tool_name": "Read",
"tool_use_id": "xyz789",
"response_length": 4500,
"estimated_tokens": 1125,
"is_error": false,
"error_type": null,
"timestamp": "2025-11-27T08:05:31Z"
}
{
"event": "context_utilization",
"estimated_session_tokens": 45000,
"context_percentage": 22.5,
"last_content_tokens": 5000,
"turn_count": 15,
"timestamp": "2025-11-27T08:10:00Z"
}
{
"event": "context_compact",
"trigger": "auto",
"has_custom_instructions": false,
"session_turn_count": 45,
"estimated_tokens_before": 180000,
"timestamp": "2025-11-27T08:15:00Z"
}
.claude/
├── hooks/
│ └── enhanced-telemetry.py # Main telemetry script (v2)
├── settings.json # Hook configurations
└── skills/
└── enhanced-telemetry/
└── SKILL.md # This documentation
Check hooks configured:
cat .claude/settings.json | grep enhanced-telemetry
Test script manually:
echo '{"tool_name":"Test"}' | python3 .claude/hooks/enhanced-telemetry.py PreToolUse
Check Loki receiving data:
curl -s "http://localhost:3100/loki/api/v1/labels"
# Should include: event_type, tool, repo, pattern, etc.
Check Loki has enhanced data:
curl -s "http://localhost:3100/loki/api/v1/query?query={job=\"claude_code_enhanced\"}&limit=5"
.claude/settings.jsonpython3 -m json.tool .claude/settings.jsonwhich python3chmod +x .claude/hooks/enhanced-telemetry.py{job="claude_code_enhanced"} queriesdevelopment
Setup secure web-based terminal access to WSL2 from mobile/tablet via ttyd + ngrok/Cloudflare/Tailscale. One-command install, start, stop, status. Use when you need remote terminal access, web terminal, browser-based shell, or mobile access to WSL2 environment.
development
Complete development workflows where Claude writes the code while Gemini and Codex provide research, planning, reviews, and different perspectives. Claude remains the main developer. Use for complex projects requiring expert planning and multi-perspective reviews.
development
Systematic progress tracking for skill development. Manages task states (pending/in_progress/completed), updates in real-time, reports progress, identifies blockers, and maintains momentum. Use when tracking skill development, coordinating work, or reporting progress.
testing
Comprehensive testing workflow orchestrating functional testing, example validation, integration testing, and usability assessment. Sequential workflow for complete skill testing from examples through scenarios to integration validation. Use when conducting thorough testing, pre-deployment validation, ensuring skill functionality, or comprehensive quality checks.