Llms Dashboard
by dparedesi
Generate and update HTML dashboards for LLM usage (Claude, Gemini, Kiro, VS code, Cline, etc). Use when the user wants to visualize their AI coding assistant usage statistics, view metrics in a web interface, or analyze historical trends.
Skill Details
Repository Files
20 files in this skill directory
name: llms-dashboard description: Generate and update HTML dashboards for LLM usage (Claude, Gemini, Kiro, VS code, Cline, etc). Use when the user wants to visualize their AI coding assistant usage statistics, view metrics in a web interface, or analyze historical trends.
LLMs Dashboard Generator
Why? AI coding assistants like Claude and Gemini store usage data in local JSON/Protobuf files. This skill transforms that raw data into beautiful, interactive HTML dashboards with charts and insights.
Generate visual HTML dashboards from Claude Code and Gemini usage data.
Quick Start
Claude Dashboard
# Step 1: Aggregate all session history (~/.claude/projects/)
python3 ~/.claude/skills/llms-dashboard/scripts/aggregate_claude_history.py
# Step 2: Generate dashboard
python3 ~/.claude/skills/llms-dashboard/scripts/update_claude_dashboard.py
# Step 3: Open in browser
open ~/.claude/skills/llms-dashboard/claude_dashboard.html
Gemini Dashboard
# Step 1: Aggregate all session history (~/.gemini/tmp/)
python3 ~/.claude/skills/llms-dashboard/scripts/aggregate_gemini_history.py
# Step 2: Generate dashboard
python3 ~/.claude/skills/llms-dashboard/scripts/update_gemini_dashboard.py
# Step 3: Open in browser
open ~/.claude/skills/llms-dashboard/gemini_dashboard.html
VS Code Dashboard
# Step 1: Aggregate all session history (Logs, History, Storage)
python3 ~/.claude/skills/llms-dashboard/scripts/aggregate_vscode_data.py
# Step 2: Generate dashboard
python3 ~/.claude/skills/llms-dashboard/scripts/update_vscode_dashboard.py
# Step 3: Open in browser
open ~/.claude/skills/llms-dashboard/vscode_dashboard.html
Kiro Dashboard
# Step 1: Aggregate all session history (.chat files, logs, settings)
python3 ~/.claude/skills/llms-dashboard/scripts/aggregate_kiro_history.py
# Step 2: Generate dashboard
python3 ~/.claude/skills/llms-dashboard/scripts/update_kiro_dashboard.py
# Step 3: Open in browser
open ~/.claude/skills/llms-dashboard/kiro_dashboard.html
Cline Dashboard
# Step 1: Aggregate task history from VS Code extension
python3 ~/.claude/skills/llms-dashboard/scripts/aggregate_cline_history.py
# Step 2: Generate dashboard
python3 ~/.claude/skills/llms-dashboard/scripts/update_cline_dashboard.py
# Step 3: Open in browser
open ~/.claude/skills/llms-dashboard/cline_dashboard.html
[!NOTE] The
opencommand works on macOS. For Linux, usexdg-openinstead.
Requirements
| Dashboard | Required Data Source |
|---|---|
| Claude | ~/.claude.json (created after first Claude Code session) |
| Gemini | ~/.gemini/tmp/ with chat history files |
| VS Code | ~/Library/Application Support/Code/ (macOS) or ~/.config/Code/ (Linux) |
| Kiro | ~/Library/Application Support/Kiro/User/globalStorage/kiro.kiroagent/**/*.chat (macOS) |
| Cline | ~/Library/Application Support/Code/User/globalStorage/asbx.amzn-cline/state/taskHistory.json (macOS) |
[!WARNING] Always run the aggregate script before the update script, otherwise charts will be empty.
What It Does
This skill reads usage statistics from local configuration files (read-only) and generates interactive HTML dashboards with:
-
Claude Dashboard:
- Usage statistics from
~/.claude.json - Historical trends from
~/.claude/projects/*.jsonl - Token usage, costs, and cache efficiency
- Usage statistics from
-
Gemini Dashboard:
- Usage statistics from
~/.gemini/tmp/**/chats/*.json - Token usage (including thought tokens)
- Model breakdown and session activity
- Usage statistics from
-
VS Code Dashboard:
- Usage statistics from
~/Library/Application Support/Code/logs - Historical reconstruction from
~/Library/Application Support/Code/User/History - Project identification from
~/Library/Application Support/Code/User/globalStorage/storage.json
- Usage statistics from
-
Kiro Dashboard:
- Session data from
~/Library/Application Support/Kiro/User/globalStorage/kiro.kiroagent/**/*.chat - Log sessions from
~/Library/Application Support/Kiro/logs/ - Settings from
~/.kiro/settings/cli.json - Powers registry from
~/.kiro/powers/registry.json - CLI history from
~/.kiro/.cli_bash_history
- Session data from
Files
| File | Purpose |
|---|---|
SKILL.md |
This documentation |
scripts/update_claude_dashboard.py |
Generates claude_dashboard.html |
scripts/aggregate_claude_history.py |
Scans Claude logs, creates data/claude_history.json |
templates/claude_template.html |
Template for Claude dashboard |
claude_dashboard.html |
Generated Claude output |
scripts/update_gemini_dashboard.py |
Generates gemini_dashboard.html |
scripts/aggregate_gemini_history.py |
Scans Gemini logs, creates data/gemini_history.json |
templates/gemini_template.html |
Template for Gemini dashboard |
gemini_dashboard.html |
Generated Gemini output |
scripts/update_vscode_dashboard.py |
Generates vscode_dashboard.html |
scripts/aggregate_vscode_data.py |
Scans VS Code data, creates data/vscode_data.json |
templates/vscode_template.html |
Template for VS Code dashboard |
vscode_dashboard.html |
Generated VS Code output |
scripts/update_kiro_dashboard.py |
Generates kiro_dashboard.html |
scripts/aggregate_kiro_history.py |
Scans Kiro data, creates data/kiro_history.json |
templates/kiro_template.html |
Template for Kiro dashboard |
kiro_dashboard.html |
Generated Kiro output |
scripts/update_cline_dashboard.py |
Generates cline_dashboard.html |
scripts/aggregate_cline_history.py |
Scans Cline data, creates data/cline_history.json |
templates/cline_template.html |
Template for Cline dashboard |
cline_dashboard.html |
Generated Cline output |
Expected Output
Each dashboard generates a standalone HTML file with:
- Summary Cards: Total usage metrics (cost, tokens, sessions)
- Interactive Charts: Daily activity trends, model breakdown, token usage over time
- Project Statistics: Per-project breakdown with sortable tables
- Cache Metrics: Cache hit ratio and efficiency (Claude only)
- Session Analysis: Session length distribution and patterns
[!TIP] Dashboards use Chart.js and TailwindCSS via CDN. Open directly in any browser—no server required.
Troubleshooting
| Problem | Cause | Solution |
|---|---|---|
FileNotFoundError: ~/.claude.json |
Claude Code not installed or never run | Install Claude Code and run at least once |
FileNotFoundError: ~/.gemini/tmp |
Gemini CLI not used yet | Run Gemini CLI at least once to create history |
| Empty charts in dashboard | Aggregate script not run | Run the aggregate script first, then update |
Permission denied |
Protected directories | Check file permissions on data directories |
| VS Code data missing on Linux | Different path on Linux | Data is at ~/.config/Code/ instead of ~/Library/... |
| Charts not rendering | Browser blocking CDN | Use a browser with internet access for Chart.js CDN |
Testing
To verify the skill works correctly:
# 1. Check data sources exist
ls ~/.claude.json # Should exist for Claude dashboard
ls ~/.gemini/tmp/ # Should exist for Gemini dashboard
# 2. Run aggregate + update
python3 ~/.claude/skills/llms-dashboard/scripts/aggregate_claude_history.py
python3 ~/.claude/skills/llms-dashboard/scripts/update_claude_dashboard.py
# 3. Verify output
ls -la ~/.claude/skills/llms-dashboard/claude_dashboard.html # Should be recent
open ~/.claude/skills/llms-dashboard/claude_dashboard.html # Should show charts
Success indicators:
- Dashboard HTML file is generated with recent timestamp
- Summary cards show non-zero values
- Charts render with data points
- No Python errors during script execution
Related Skills
Clickhouse Io
ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.
Clickhouse Io
ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.
Clinical Decision Support
Generate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug develo
Geopandas
Python library for working with geospatial vector data including shapefiles, GeoJSON, and GeoPackage files. Use when working with geographic data for spatial analysis, geometric operations, coordinate transformations, spatial joins, overlay operations, choropleth mapping, or any task involving reading/writing/analyzing vector geographic data. Supports PostGIS databases, interactive maps, and integration with matplotlib/folium/cartopy. Use for tasks like buffer analysis, spatial joins between dat
Mermaid Diagrams
Comprehensive guide for creating software diagrams using Mermaid syntax. Use when users need to create, visualize, or document software through diagrams including class diagrams (domain modeling, object-oriented design), sequence diagrams (application flows, API interactions, code execution), flowcharts (processes, algorithms, user journeys), entity relationship diagrams (database schemas), C4 architecture diagrams (system context, containers, components), state diagrams, git graphs, pie charts,
Datacommons Client
Work with Data Commons, a platform providing programmatic access to public statistical data from global sources. Use this skill when working with demographic data, economic indicators, health statistics, environmental data, or any public datasets available through Data Commons. Applicable for querying population statistics, GDP figures, unemployment rates, disease prevalence, geographic entity resolution, and exploring relationships between statistical entities.
Clickhouse Io
ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.
Matlab
MATLAB and GNU Octave numerical computing for matrix operations, data analysis, visualization, and scientific computing. Use when writing MATLAB/Octave scripts for linear algebra, signal processing, image processing, differential equations, optimization, statistics, or creating scientific visualizations. Also use when the user needs help with MATLAB syntax, functions, or wants to convert between MATLAB and Python code. Scripts can be executed with MATLAB or the open-source GNU Octave interpreter
Geopandas
Python library for working with geospatial vector data including shapefiles, GeoJSON, and GeoPackage files. Use when working with geographic data for spatial analysis, geometric operations, coordinate transformations, spatial joins, overlay operations, choropleth mapping, or any task involving reading/writing/analyzing vector geographic data. Supports PostGIS databases, interactive maps, and integration with matplotlib/folium/cartopy. Use for tasks like buffer analysis, spatial joins between dat
Dask
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.
