fuzzy-selecting

iota9star's avatarfrom iota9star

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

⭐5stars🔀0forks📁View on GitHub🕐Updated Dec 24, 2025

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.
namefuzzy-selecting
descriptionProvides 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-list layout direction
  • --border [rounded|sharp|thin] add border
  • --style default|full|minimal UI preset

Search & Matching

  • -e/--exact exact matching instead of fuzzy
  • --scheme default|path|history input type optimization
  • --delimiter STR custom field delimiter
  • --nth N.. search specific fields only

Preview Window

  • --preview "CMD {}" external command preview
  • --preview-window POSITION[SIZE][,border] preview configuration
  • --preview-label TEXT custom preview label

Selection Options

  • -m/--multi multi-select mode (TAB to mark)
  • --bind KEY:ACTION custom key bindings
  • --prompt "TEXT" custom prompt string
  • --header "TEXT" custom header text

Performance Options

  • --tac reverse input order (top-down)
  • --with-nth N.. display specific fields
  • --ansi parse 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 highlighting
  • ripgrep | fzf → vim: Search content, select matches, edit files
  • jq/yq | fzf → bat: Extract data, select entries, view details
  • git log | fzf → show: Browse commits, select, view changes
  • ps | fzf → kill: List processes, select, terminate
  • find | fzf -m → xargs: Multiple selection for batch operations

Core Principles

  1. Interactive Filtering: Real-time fuzzy matching as you type
  2. Universal Input: Works with any list from STDIN or file system
  3. Extensible: Customizable through bindings and preview commands
  4. 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