claude-code icon indicating copy to clipboard operation
claude-code copied to clipboard

feat: Add developer-utilities plugin

Open adamkwhite opened this issue 2 months ago • 1 comments

Summary

This PR adds a new developer-utilities plugin that provides 8 essential commands plus a standalone session picker utility, addressing community-requested features.

Commands Added

  1. /clean - Cache and log cleanup (frees 3-6GB typically)
  2. /validate-commands - Slash command validation
  3. /permission-examples - Permission rule explanation using user's actual settings
  4. /init-skills - Skills-aware CLAUDE.md initialization
  5. /diagnose-skills - Troubleshoot skill discovery and invocation issues
  6. /update-plugins - Update all git-based plugins with one command
  7. /list-sessions - List sessions with labels, timestamps, and activity
  8. /label-session - Add/update custom labels for sessions

Standalone Utilities

claude-resume - Interactive session picker (terminal script, not a slash command)

  • Fuzzy search sessions by label, project, or date
  • Edit labels inline (Ctrl+E)
  • Delete labels (Ctrl+D)
  • Auto-retry on failed resume
  • Uses labels created with /label-session

GitHub Issues Addressed

  • #11646 - Cache cleanup functionality
  • #11655 - Permission rule precedence documentation
  • #11632 - Command validation (validation only, reload requires CLI changes)
  • #11661 - Skills-first initialization approach
  • #11459 - Skills being interpreted as slash commands
  • #9716 - Skills not being discovered
  • #11322 - Prettier formatting breaks skills
  • #11676 - Plugin update-all command
  • #3605 - Session renaming/labeling feature request

Plugin Structure

Follows the standard plugin structure used by other official plugins:

  • .claude-plugin/plugin.json - Plugin metadata
  • commands/*.md - 8 command files
  • scripts/claude-resume - Standalone session picker script
  • README.md - Comprehensive documentation with installation methods

Session Management Architecture

The session management features use a shared labels file approach:

  • /list-sessions and /label-session (slash commands) write to ~/.claude/session-labels.json
  • claude-resume (standalone script) reads from the same file
  • Non-destructive workaround since Claude Code's internal session DB cannot be safely modified
  • Labels persist across sessions and are portable

Testing

All commands have been tested locally:

  • All bash commands are single-line (no multi-line if/for/while)
  • No command substitution ($()) that breaks in Claude Code
  • Commands work in both project and global installations
  • /update-plugins successfully tested with git-based plugin
  • Session commands tested with label creation, editing, and deletion
  • claude-resume tested with fzf interactive features

Installation Methods Documented

  1. Plugin Marketplace (recommended)
  2. From GitHub Repository (curl)
  3. Clone Repository (for development)
  4. Local Marketplace (for testing)

Additional: claude-resume script requires fzf and is symlinked to ~/bin/

🤖 Generated with Claude Code

adamkwhite avatar Nov 15 '25 22:11 adamkwhite