fuzzy-selecting
Provides interactive fuzzy finder for selecting items from any list with preview capabilities. Use this skill when choosing from search results, files, processes, or any command output
When & Why to Use This Skill
The fuzzy-selecting skill integrates the powerful fzf interactive fuzzy finder into Claude's workflow, enabling high-speed filtering and selection from any list. It enhances CLI productivity by providing real-time fuzzy matching and customizable preview capabilities for files, processes, command outputs, and search results, making it an essential tool for efficient data navigation and terminal-based operations.
Use Cases
- Interactive File Navigation: Quickly browse and select files within complex directories using fuzzy search and syntax-highlighted previews.
- Git Workflow Enhancement: Interactively search through git logs, branches, or stashes to select specific commits for inspection or action.
- System Process Management: Filter and identify running system processes via fuzzy matching to perform management tasks like termination or monitoring.
- Advanced Data Filtering: Pipe outputs from tools like ripgrep, jq, or find into the fuzzy finder to isolate specific entries from large datasets interactively.
- Batch Command Execution: Select multiple items from a list (using multi-select mode) to pass as arguments to other commands for batch processing.
| name | fuzzy-selecting |
|---|---|
| description | Provides interactive fuzzy finder for selecting items from any list with preview capabilities. Use this skill when choosing from search results, files, processes, or any command output |
fzf: Interactive Fuzzy Finder
Always invoke fzf skill for interactive fuzzy selection - do not execute bash commands directly.
Use fzf for interactive fuzzy selection and filtering of any command-line list.
Default Strategy
Invoke fzf skill for interactive fuzzy selection from any list with preview capabilities. Use when choosing from search results, files, processes, or any command output.
Common workflow: Discovery skill (fd, ripgrep, jq, yq) → fzf skill → other skills (bat, xargs) for interactive selection and action.
Key Options
Display Modes
--height N[%]set height (percent or exact lines)--tmux [POS][SIZE][,border]tmux popup mode--layout default|reverse|reverse-listlayout direction--border [rounded|sharp|thin]add border--style default|full|minimalUI preset
Search & Matching
-e/--exactexact matching instead of fuzzy--scheme default|path|historyinput type optimization--delimiter STRcustom field delimiter--nth N..search specific fields only
Preview Window
--preview "CMD {}"external command preview--preview-window POSITION[SIZE][,border]preview configuration--preview-label TEXTcustom preview label
Selection Options
-m/--multimulti-select mode (TAB to mark)--bind KEY:ACTIONcustom key bindings--prompt "TEXT"custom prompt string--header "TEXT"custom header text
Performance Options
--tacreverse input order (top-down)--with-nth N..display specific fields--ansiparse ANSI color codes
When to Use
- File Selection: Interactive file browsing with preview
- Command History: Search and reuse previous commands
- Process Management: Select and manage running processes
- Git Integration: Browse commits, branches, files
- Multi-Select Operations: Batch processing of selected items
Common Workflows
fd | fzf → bat: Find files, select, view with syntax highlightingripgrep | fzf → vim: Search content, select matches, edit filesjq/yq | fzf → bat: Extract data, select entries, view detailsgit log | fzf → show: Browse commits, select, view changesps | fzf → kill: List processes, select, terminatefind | fzf -m → xargs: Multiple selection for batch operations
Core Principles
- Interactive Filtering: Real-time fuzzy matching as you type
- Universal Input: Works with any list from STDIN or file system
- Extensible: Customizable through bindings and preview commands
- Performance: Optimized to handle millions of items instantly
Detailed Reference
For comprehensive search patterns, key bindings, preview configurations, and integration examples, load fzf guide when needing:
- Custom key bindings and actions
- Advanced preview window configuration
- Multi-select workflows
- Tmux integration
- Shell setup functions
The guide includes:
- Basic usage and display modes
- Search syntax and matching patterns
- Multi-select operations and key bindings
- Preview window configuration
- Integration examples (git, processes, file systems)
- Performance optimization and troubleshooting
- Shell integration setup and custom functions
Skill Combinations
For Discovery Phase
- fd → fzf: Interactive file selection from search results
- ripgrep → fzf: Interactive selection from search matches
- jq/yq → fzf: Interactive selection from extracted data
- git log/branch → fzf: Interactive git history browsing
For Analysis Phase
- any_command → fzf → bat: Select items and preview with syntax highlighting
- fd → fzf --preview="bat {}": File browser with syntax preview
- ripgrep → fzf --preview="bat {1} +{2}": Search results with file preview
For Refactoring Phase
- any_command → fzf -m: Batch process multiple selected items
- find | fzf -m | xargs: Classic multi-select pattern
- ps | fzf -m | xargs kill: Multi-process management
Integration Examples
# Interactive code search and edit
rg "pattern" | fzf --preview="bat --color=always --highlight-line {2} {1}" | awk '{print $1}' | xargs vim
# Interactive dependency management
jq -r '.dependencies | keys[]' package.json | fzf --multi | xargs npm uninstall