Help us improve
Share bugs, ideas, or general feedback.
Generates usage analytics dashboard from Claude Code sessions with epistemic protocol coverage metrics, friction analysis, growth timelines, and improvement recommendations.
npx claudepluginhub jongwony/epistemic-protocols --plugin epistemic-cooperativeHow this skill is triggered — by the user, by Claude, or both
Slash command
/epistemic-cooperative:dashboardThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
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.
Generates Growth Map from Claude Code session patterns and insights data, integrating epistemic profile for protocol recommendations with execution and epistemic resolution.
Analyzes Claude Code session patterns, categories, trends, benchmarks, and usage for behavioral insights and recommendations. Activates on 'patterns', 'insights', 'how am I doing' queries.
Opens a browser-based analytics dashboard showing personal Claude Code metrics: session activity, tool usage, error rate, parallel work patterns, project focus, and actionable insights. First run installs dependencies (~30s).
Share bugs, ideas, or general feedback.
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.