From release
Analyze AI coding assistant usage patterns across Claude Code and Cursor. Use when user asks about their coding usage, tool statistics, productivity patterns, skill popularity, session history, or wants to query their AI coding logs. Triggers include "usage", "how much have I used", "most used tools", "skill popularity", "coding stats", "productivity patterns".
npx claudepluginhub fairchild/dotclaude --plugin skill-creatorThis skill uses the workspace's default tool permissions.
Unified usage analyzer for Claude Code and Cursor. Loads logs into DuckDB for SQL analysis.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Unified usage analyzer for Claude Code and Cursor. Loads logs into DuckDB for SQL analysis.
# Run the script (loads data on first run, incremental updates after)
scripts/analyze-usage
# Show database schema and example queries
scripts/analyze-usage --schema
# Query your data
scripts/analyze-usage query "SELECT * FROM tool_summary"
| Command | Description |
|---|---|
| (default) | Auto-detect changes, incremental update, show summary |
update | Explicit incremental update |
reload | Force reload all data (with backup) |
query "SQL" | Execute SQL query |
search "query" | Search conversation content |
shell | Interactive DuckDB shell |
--schema | Database schema with example queries |
--help | Full help documentation |
# ILIKE search on conversation content (default)
scripts/analyze-usage search "memory"
# BM25 full-text search (covers content + thinking)
scripts/analyze-usage search "memory" --fts
# Search reasoning traces
scripts/analyze-usage search "memory" --thinking
# Search both content and thinking
scripts/analyze-usage search "memory" --all
# Filter by role, repo, time
scripts/analyze-usage search "refactor" --user --repo bertram-chat --since 7d
# Limit results
scripts/analyze-usage search "deploy" -n 20
-- Most used tools
SELECT * FROM tool_summary;
-- Daily usage (last 2 weeks)
SELECT * FROM daily_summary ORDER BY date DESC LIMIT 14;
-- Skill popularity
SELECT regexp_extract(context, '"skill":"([^"]+)"', 1) as skill, COUNT(*) as uses
FROM claude_tools WHERE tool_name = 'Skill'
GROUP BY skill ORDER BY uses DESC;
-- Peak coding hours
SELECT hour_of_day, SUM(interactions) as total
FROM peak_hours GROUP BY hour_of_day ORDER BY total DESC LIMIT 5;
-- Activity by repository (aggregates worktrees)
SELECT repo_name, SUM(interactions) as total, SUM(worktrees) as branches
FROM repo_activity GROUP BY repo_name ORDER BY total DESC LIMIT 10;
-- Turn durations
SELECT * FROM turn_durations ORDER BY duration_ms DESC LIMIT 10;
-- Session overview with summaries
SELECT session_id, repo_name, summary FROM session_overview
WHERE summary IS NOT NULL ORDER BY started_at DESC LIMIT 10;
-- API errors
SELECT * FROM api_errors ORDER BY timestamp DESC LIMIT 10;
-- PR links
SELECT * FROM pr_links;
-- Cost by repo
SELECT repo_name, ROUND(SUM(cost_usd), 2) as cost
FROM usage_with_cost
WHERE CAST(timestamp AS TIMESTAMP) >= CURRENT_DATE - INTERVAL 7 DAY
GROUP BY repo_name ORDER BY cost DESC;
-- Full cost summary by repo and model
SELECT * FROM cost_summary ORDER BY cost_usd DESC;
The script tracks tokens and calculates API costs automatically:
Token columns in claude_tools:
input_tokens, output_tokens - Direct tokenscache_write_tokens, cache_read_tokens - Prompt caching tokensmodel - Model used (opus/sonnet/haiku)Cost views:
model_pricing - API rates per million tokens (update when prices change)usage_with_cost - Each row has pre-calculated cost_usdcost_summary - Pre-aggregated by repo/modelclaude_tools - Tool invocations (with model, tokens, repo/branch, source_file)claude_sessions - Session metadatamessages - Conversation content (user text, assistant text + thinking)system_events - System records (turn_duration, api_error, stop_hook_summary)queue_operations - User inputs queued during assistant responsepr_links - Session-to-PR mappings_sessions_index - Session metadata from sessions-index.json (summary, first_prompt)_loaded_files - File mtime tracking for incremental loadingturn_durations - Response timing from system eventsapi_errors - API error eventssession_overview - Sessions joined with index metadatainteractions - Unified view (Claude + Cursor)conversation_search - Messages with content/thinking previewssession_messages - Per-session aggregation with topicrecent_conversations - Last 50 sessionsconversation_pairs - User/assistant turns joined on parent_uuidmessage_stats - Daily message volume by harness/rolerepo_activity - Repository-level summary (aggregates worktrees)project_activity - Project-level with worktree infousage_with_cost - Tool invocations with pre-calculated cost_usdcost_summary - Pre-aggregated costs by repo/modelmodel_pricing - API rates (editable)Run --schema for complete documentation.