claude-code
claude-code copied to clipboard
feat: Add developer-utilities plugin
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
-
/clean- Cache and log cleanup (frees 3-6GB typically) -
/validate-commands- Slash command validation -
/permission-examples- Permission rule explanation using user's actual settings -
/init-skills- Skills-aware CLAUDE.md initialization -
/diagnose-skills- Troubleshoot skill discovery and invocation issues -
/update-plugins- Update all git-based plugins with one command -
/list-sessions- List sessions with labels, timestamps, and activity -
/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-sessionsand/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-pluginssuccessfully tested with git-based plugin - Session commands tested with label creation, editing, and deletion
-
claude-resumetested with fzf interactive features
Installation Methods Documented
- Plugin Marketplace (recommended)
- From GitHub Repository (curl)
- Clone Repository (for development)
- Local Marketplace (for testing)
Additional: claude-resume script requires fzf and is symlinked to ~/bin/
🤖 Generated with Claude Code