# 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

- Skill: `tomevault-io/fuzzy-selecting` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/fuzzy-selecting`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/fuzzy-selecting/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/fuzzy-selecting

---


# 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](./reference/fzf-guide.md) 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
```bash
# 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

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/iota9star) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-12 -->

