- Gource-style 3-layer circular visualization (models/tools/components)
- Interactive tooltips with usage counts for all node types
- Real-time legend panels: Models Used, Tools Used, Components Used
- Multiple animated beams based on actual tool call counts
- Backend uses totalToolCalls for accurate activity metrics
- Optimized performance (~100ms for 86 conversations)
Technical Details:
- Center layer: Model pie chart with usage-based sizing
- Middle layer (250px): Tools with count badges
- Outer layer (400px): Commands, Skills, MCPs, Subagents
- YearInReview2025 backend analyzes conversations without overhead
- Tooltip system detects hover on pie slices, circles, and outer nodes
- Frontend processes toolCounts and modelCounts for precise visualization
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Updated all references to point to new script locations:
- generate_components_json.py → scripts/generate_components_json.py
- generate_trending_data.py → scripts/generate_trending_data.py
Files updated:
- .github/workflows/update-json-data.yml
- CLAUDE.md
- docs/CLAUDE.md
- docs/api/README.md
- docs/guides/growth-kit-pr.md
- cli-tool/src/validation/README.md
This ensures CI/CD workflows and documentation are in sync with the new project structure.
🤖 Generated with Claude Code (https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Fix#150: Check if pluginDef.source is a string before passing to path.join()
Marketplace aggregators use object format {source: "url", url: "..."} to
reference external repos, which caused path.join() to throw an error.
- Fix#151: Add support for "directory" source type in getMarketplaceType()
Claude Code uses "directory" for filesystem-based marketplaces, but only
"local" was being checked. Now both are recognized as Local type.
Also added "url" type recognition.
Added comprehensive skills from two community repositories:
From awesome-claude-skills (1 skill):
- pdf: Comprehensive PDF processing with forms, scripts, and advanced features
From anthropics/claude-code (10 skills):
- agent-development: Creating specialized agents for Claude Code
- claude-opus-4-5-migration: Guide for migrating to Claude Opus 4.5
- command-development: Creating custom slash commands
- hook-development: Creating hooks for automation
- mcp-integration: Integrating MCP servers into plugins
- plugin-settings: Configuring plugin settings
- plugin-structure: Organizing plugin structure
- skill-development: Creating effective skills for plugins
- frontend-design: Frontend design patterns and practices
- writing-rules: Writing effective rules for hooks
Total skills: 38 → 48 (+11 new skills)
Updated components.json and security-report.json to reflect new additions.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
The MCP and skill comes from the https://github.com/timescale/pg-aiguide
project.
The MCP allows search of the Postgres manual and the docs of related
projects.
The skill gives specialized instructions for schema design.
🎯 Skills Manager now detects skills from 3 sources:
- Personal: ~/.claude/skills/
- Project: .claude/skills/
- Plugin: ~/.claude/plugins/marketplaces/*/plugins/*/skills/*/
✨ Features:
- Added loadPluginSkills() to scan marketplace-installed skills
- Skills from /plugin install now appear in dashboard
- Detailed logging for debugging skill detection
- Fixed filter counts to show consistent totals
🔧 Improvements:
- Filter counts remain static regardless of active filter
- Shows total count for each category (All, Personal, Project, Plugin)
- Enhanced logging for better troubleshooting
- Supports skills installed via Claude Code plugin system
📦 Version: 1.28.3
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
When port 3337 is in use, the dashboard will automatically try the next available port
(3338, 3339, etc.) with a clear message to the user.
This prevents EADDRINUSE errors and improves user experience.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
The --skills flag was conflicting with the existing --skills component installation command,
causing EADDRINUSE errors on port 3337. Changed Skills Dashboard to use --skills-manager instead.
Changes:
- bin/create-claude-config.js: --skills → --skills-manager
- src/index.js: options.skills → options.skillsManager
- SKILLS_DASHBOARD.md: Updated usage examples
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Implements a comprehensive Skills Dashboard accessible via `--skills` flag that visualizes
Claude Code's 3-level progressive context loading system according to official documentation.
Features:
- **Level 1: Metadata** - Always loaded (~100 tokens): name, description, allowed-tools from YAML
- **Level 2: Instructions** - When triggered (<5k tokens): SKILL.md body with workflows
- **Level 3+: Resources & Code** - As needed (unlimited): Additional markdown, scripts, templates
- Instructions: Additional .md files with specialized guidance
- Code: Executable scripts (.py, .js, .sh) run via bash without loading into context
- Resources: Reference materials (schemas, API docs, templates, examples)
Technical Implementation:
- Express.js server on port 3337 with RESTful API
- Real-time skill scanning from ~/.claude/skills and .claude/skills
- Progressive file categorization: alwaysLoaded, onDemand, progressive
- Modern UI with level cards, flow arrows, and resource categorization
- File type detection and proper context for markdown references vs executable code
Dashboard shows:
- Grid/list view of all installed skills
- Filter by source (Personal, Project, Plugin)
- Sort by name, file count, last modified
- Modal detail view with 3-level loading visualization
- Visual flow arrows between levels showing loading triggers
- Category descriptions matching official Skills documentation
Fixes context preservation issue in scanSupportingFiles() where `this` context
was lost in nested function, now using `const self = this` pattern.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Replace python3 with python in JSON configs on Windows
- Add cross-platform Python detection (py/python/python3)
- Update E2B sandbox to try multiple Python commands
- Follows PEP 397 Python launcher best practices
- Updated generate_trending_data.py to handle up to 1M records (was 200k)
- Updated generate_components_json.py pagination limit to 1000 pages (1M records)
- Successfully processed 202,517 download records across both scripts
- Regenerated trending-data.json and components.json with latest data
This change enables the system to scale beyond the previous 200k record limit,
ensuring accurate analytics as the component download volume continues to grow.
Stats from latest generation:
- 202,517 total downloads processed
- 624 unique components
- 142 countries
- Top categories: agents (163), commands (210), mcps (58)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: add ElevenLabs MCP for text-to-speech and audio processing
Add official ElevenLabs MCP integration to enable text-to-speech, voice cloning, audio processing, and transcription capabilities.
Changes:
- Add elevenlabs.json MCP configuration in new audio category
- Use uvx package manager (matches existing mysql-integration, logfire pattern)
- Configure environment variables for API key and optional output modes
The ElevenLabs MCP enables:
- Text-to-speech generation with natural AI voices
- Voice cloning and custom voice design
- Audio isolation and processing
- Sound effects generation
- Audio transcription with speaker identification
Follows existing uvx-based MCP pattern from:
- cli-tool/components/mcps/database/mysql-integration.json
- cli-tool/components/mcps/devtools/logfire.json
Attribution: Official ElevenLabs MCP (MIT License)
Repository: https://github.com/elevenlabs/elevenlabs-mcp
* docs: add audio category to CONTRIBUTING.md MCP list
Add audio/ category to MCP categories list in contributing guidelines
to reflect the new category introduced with elevenlabs-mcp integration.
Fixed multiple issues with server shutdown:
- Added flag to prevent multiple shutdown attempts
- Remove all SIGINT/SIGTERM listeners before adding new ones
- Added isStopped flag to prevent stop() from being called multiple times
- Improved logging during shutdown process
- Fixed MaxListenersExceededWarning by properly cleaning up event listeners
This resolves the issue where pressing Ctrl+C multiple times would create
duplicate shutdown handlers and cause memory leaks.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added detailed analytics modal for each chat session including:
- Overview metrics (messages, tokens, tools, models, cache efficiency)
- Token usage breakdown with cost estimation
- Session timeline with duration tracking
- Time breakdown (Claude execution vs user conversing)
- Model information with usage percentages and message counts
- Tool usage statistics
- Components used (agents, slash commands, skills)
Key features:
- Real-time analytics calculation from JSONL conversation files
- Multi-model usage detection (Sonnet/Haiku switching)
- Intelligent time filtering (excludes long breaks)
- Cost estimation based on Claude API pricing
- Component detection from tool_use blocks
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
The 'cat | claude' command doesn't work with interactive mode
because pipe consumes stdin. Replaced with proper interactive
mode usage:
Option 1: claude "read @context-file.md and continue"
Option 2: claude (then > @context-file.md continue)
This fixes the 'Raw mode is not supported' error users were
experiencing.
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
Added two simple command options for loading context:
Option 1: Direct reference with @
claude "read @context-file.md and continue"
Option 2: Using cat (pipe)
cat context-file.md | claude
Changes:
- Replaced generic instructions with specific commands
- Added syntax-highlighted code blocks
- Clear visual separation between options
- Added tip about saving file in project directory
UI improvements:
- Dark code blocks for better readability
- Green headers for each option
- Concise, actionable instructions
🤖 Generated with Claude Code (https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changes:
- Header now directly addresses Claude Code instead of the user
- Clear note: "This file contains the complete conversation history"
- Removed user-facing instructions
- Simplified metadata format
- Updated modal text to reflect that file is FOR Claude Code to read
New header format:
```markdown
# Previous Conversation Context
> **Note to Claude Code**: This file contains the complete
> conversation history from a previous session. Read and
> understand this context to continue helping the user with
> their task.
**Project:** project-name
**Date:** 2025-10-29
**Messages in this export:** 100
```
Modal improvements:
- "Markdown context file that Claude Code can read"
- "Claude will read and understand the previous conversation"
- Clearer example of @ usage
🤖 Generated with Claude Code (https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Complete overhaul of session sharing feature:
REMOVED:
- x0.at upload functionality
- Share command and QR code generation
- External file hosting dependencies
- Clone session command (--clone-session)
ADDED:
- Download conversation as Markdown file
- Context file optimized for Claude Code @ references
- Simple download modal with usage instructions
- Instructions for using @filename in Claude Code
Changes:
Backend:
- New exportSessionAsMarkdown() method in SessionSharing
- Convert conversations to readable Markdown format
- Include usage instructions in exported files
- Changed endpoint from /api/conversations/:id/share to /download
Frontend:
- Replaced "Share" button with "Download" button
- New download modal with clear instructions
- Removed QR code and upload functionality
- Direct browser download of .md files
User Experience:
- Download context file to local machine
- Add file to project repository
- Reference in Claude Code with @filename
- Continue conversation with full context
Example workflow:
1. Click Download button
2. Save claude-context-project-2025-10-27.md
3. Add to git repo
4. In Claude Code: "Read @claude-context-project-2025-10-27.md and continue"
🤖 Generated with Claude Code (https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Fixes:
- Resume command now shows only conversation ID (claude --resume <id>)
instead of including user path
- Changed default project name from 'Unknown' to 'shared-session'
for consistency between export and import
- Updated default model fallback to 'claude-sonnet-4-5-20250929'
Issue: When cloning a session on another computer, the resume command
was showing the wrong format and the project was being saved as
'unknown' instead of using the correct project name.
🤖 Generated with Claude Code (https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: add session sharing and cloning functionality
Implement complete session sharing system for Claude Code conversations:
Features:
- Share button in chats interface with QR code generation
- Upload sessions to x0.at (temporary file hosting)
- Clone sessions with --clone-session command
- Limit shared sessions to last 100 messages
- Security confirmation modal with service information
- Resume command display after cloning
Backend:
- New SessionSharing class for export/upload/download/install
- Integration with ConversationAnalyzer
- x0.at upload service (tested and working)
- JSONL format conversion for Claude Code compatibility
Frontend:
- Confirmation modal with x0.at security info
- Centered QR code display
- Improved button styling (Resume, Share, Search)
- Real-time upload progress indication
CLI:
- Added --clone-session <url> parameter
- Automatic session installation to ~/.claude/projects/
- Display resume command with conversation ID
Dependencies:
- Added qrcode package for QR generation
🤖 Generated with Claude Code (https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: improve chats UI with project grouping and unified action buttons
Major improvements to chats interface:
Project Organization:
- Group conversations by project with collapsible sections
- Projects collapsed by default for cleaner interface
- Auto-expand projects during search with matching results
- Sticky project headers for better navigation
- Project avatars with gradients and conversation counts
Terminology Update:
- Changed "conversations" to "sessions" throughout UI
- Updated empty state messages
- Consistent terminology in headers and labels
Action Buttons Enhancement:
- Unified Resume, Share, and Search buttons in center header
- Replaced emojis with professional SVG icons
- Grouped design with orange accent border
- Individual hover states (green/blue/orange)
- Responsive button group with smooth transitions
Search Improvements:
- Fixed search to work with grouped project structure
- Search in both project names and session IDs
- Auto-collapse all projects when clearing search
- Proper filter clearing in advanced search
- Maintained state management across search operations
Visual Design:
- Orange accent border highlighting action buttons (2px)
- Subtle orange background for button group
- Consistent hover effects with color coding
- Enhanced visual hierarchy
- Better spacing and alignment
🤖 Generated with Claude Code (https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
- Add advanced search panel with filters for directory, date range, and content
- Implement in-conversation search with navigation (↑↓ arrows)
- Add folder browser with conversation counts per directory
- Add search result highlighting with current match emphasis
- Implement 3-character minimum for search to prevent performance issues
- Add ID-based message navigation for reliable infinite scroll support
- Add visual feedback with flash animations and match counters
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This reverts commit b082254. Vercel requires serverless functions in /api/
regardless of outputDirectory. Both directories are needed:
- /api/ for serverless functions (Vercel auto-detects here)
- /docs/api/ can be removed as it's redundant
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Eliminated duplicate /api directory (not used by Vercel)
- Updated /docs/api/README.md to reflect single source of truth
- /docs/api/track-download-supabase.js already includes 'skill' type support
- Simplified maintenance workflow (no more file syncing needed)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Removed the deprecated 'model: sonnet' field from command frontmatter to fix
compatibility issues with Claude Code. Commands will now inherit the model from
the active conversation instead of using a hardcoded deprecated model identifier.
Changes:
- Removed 'model: sonnet' from 142 command files across all categories
- Commands now use default model inheritance behavior
- Preserved 'model: claude-sonnet-4-5-20250929' in gemini-review.md (valid model)
- 67 commands without model field remain unchanged
This resolves the "model: sonnet not found" error reported in GitHub issues
and aligns with Claude Code's recommended practice of letting commands inherit
the conversation model.
Affected categories:
- Database/Supabase commands (8 files)
- Documentation commands (8 files)
- Deployment commands (11 files)
- Setup commands (14 files)
- Performance commands (8 files)
- Team commands (14 files)
- Security commands (6 files)
- NextJS/Vercel commands (10 files)
- Sync commands (14 files)
- And more across other categories
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>