Generates usage analytics dashboard from Claude Code sessions with epistemic protocol coverage metrics, friction analysis, growth timelines, and improvement recommendations.
From epistemic-cooperativenpx claudepluginhub jongwony/epistemic-protocols --plugin epistemic-cooperativeThis skill uses the workspace's default tool permissions.
references/html-template.mdEnables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Analyze all Claude Code session data to produce a comprehensive usage analytics dashboard with epistemic protocol coverage metrics, friction analysis, growth timeline, and actionable improvement recommendations.
Invoke this skill when:
/onboard for deeper, full-dataset analysisSkip when:
/onboard instead)COLLECT → AGGREGATE → ANALYZE → PRESENT
| Phase | Owner | Tool | Decision Point |
|---|---|---|---|
| 1. Collect | Main | Glob | Inventory + path decision |
| 2. Aggregate | Subagent (coverage-scanner) | Bash, Read, Grep, Glob | Batch data collection |
| 3. Analyze | Main | — | 7 computations |
| 4. Present | Main | Write, Bash | HTML dashboard + console summary |
| Source | Method | Extracts |
|---|---|---|
~/.claude/usage-data/facets/{session_id}.json | Glob + Read | friction_counts, friction_detail, goal_categories, session_type, outcome, user_satisfaction_counts |
~/.claude/usage-data/session-meta/{session_id}.json | Glob + Read | tool_counts, git_commits, git_pushes, languages, duration_minutes, start_time, first_prompt |
| Source | Method | Extracts |
|---|---|---|
~/.claude/projects/*/*.jsonl | Glob | All session JSONL files on disk |
| Session JSONL files | Grep command-name + "skill":" | Protocol usage history (slash commands + Skill tool invocations) |
~/.claude/usage-data/facets/*.json → inventory facets files~/.claude/usage-data/session-meta/*.json → inventory session-meta files~/.claude/projects/*/*.jsonl (scanner runs glob internally)If no facets or session-meta data found: report "No usage data available. Run some Claude Code sessions first, then try /dashboard again." and stop.
Call coverage-scanner subagent with:
facets_dir: ~/.claude/usage-data/facets/session_meta_dir: ~/.claude/usage-data/session-meta/session_jsonl_glob: ~/.claude/projects/*/*.jsonl (scanner runs glob + grep internally, avoiding 900+ paths in prompt)mode: "path_a" or "path_b" based on Phase 1 decisionThe subagent returns aggregated data: friction totals, outcome/satisfaction distributions, tool totals, timeline, protocol usage (slash commands + Skill tool invocations, de-duplicated), gate interaction data (per-protocol gated/relay counts), code change statistics.
For each protocol, determine:
| Protocol | situation_occurred (Path A) | situation_occurred (Path B) |
|---|---|---|
| Telos | friction wrong_approach OR vague firstPrompt | vague firstPrompt |
| Hermeneia | friction misunderstood_request | rework (3+ edits same file) |
| Syneidesis | friction excessive_changes OR (wrong_approach + rework) | rework + high exploration |
| Aitesis | friction context_loss | N/A |
| Prosoche | friction wrong_file_edited | deploy/push keywords |
| Prothesis | — | exploration ratio ≥ 3:1 |
| Katalepsis | — | verification firstPrompt |
| Epharmoge | — | N/A (conditional protocol) |
situation_used detection: From Phase 2 Protocol Usage output (coverage-scanner detects via slash commands and Skill tool invocations in a single pass, de-duplicated per session). The scanner owns the mapping from skill names to protocol names — see coverage-scanner.md step 2c for the canonical mapping table.
Coverage ratio per protocol: situation_used / situation_occurred. Protocols with no detected situations = N/A.
Count protocol invocations per protocol from Phase 2 aggregated data (merged from slash commands + Skill tool). Include first usage date, detection method breakdown (command vs Skill tool), and session count if available.
Aggregate friction_counts from Phase 2. Map to protocol groups using the Tertiary Mapping Table:
| Friction Key | Protocol Group |
|---|---|
wrong_approach | Telos, Syneidesis |
misunderstood_request | Hermeneia |
excessive_changes | Syneidesis |
context_loss | Aitesis |
wrong_file_edited | Prosoche |
Others (buggy_code, api_errors, etc.) | Environmental (no protocol mapping) |
From Phase 2 timeline data:
Compute milestones:
From user_satisfaction_counts (Path A only):
Composite score (0-100):
From Phase 2 gate interaction scan:
gated_interactions / total_gates ratio| Protocol | Avg Gate Efficiency | Relay Gates | Gated Gates | Total Sessions |
|---|
Gate efficiency = 1.0 means all gates user-facing. Lower values indicate more automation via relay classification.
For protocols with 3+ session history:
HTML Dashboard: Write to ~/.claude/.insights/dashboard.html via Write tool
references/html-template.md for the full HTML skeletonConsole Summary: Output key metrics:
~/.claude/.insights/dashboard.htmlOpen in browser: Call Bash open ~/.claude/.insights/dashboard.html to launch the dashboard in the default browser
Refer to references/html-template.md for the full HTML skeleton, CSS classes, and detailed artifact guidelines.
/dashboard multiple times produces updated results. Previous dashboard is overwritten./dashboard provides analytics only. For protocol recommendations, direct users to /onboard.