{
  "schemaVersion": "1.0",
  "item": {
    "slug": "fzf-fuzzy-finder",
    "name": "Fzf Fuzzy Finder",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Arnarsson/fzf-fuzzy-finder",
    "canonicalUrl": "https://clawhub.ai/Arnarsson/fzf-fuzzy-finder",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/fzf-fuzzy-finder",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=fzf-fuzzy-finder",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "fzf-fuzzy-finder",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-03T11:51:01.247Z",
      "expiresAt": "2026-05-10T11:51:01.247Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=fzf-fuzzy-finder",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=fzf-fuzzy-finder",
        "contentDisposition": "attachment; filename=\"fzf-fuzzy-finder-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "fzf-fuzzy-finder"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/fzf-fuzzy-finder"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/fzf-fuzzy-finder",
    "agentPageUrl": "https://openagent3.xyz/skills/fzf-fuzzy-finder/agent",
    "manifestUrl": "https://openagent3.xyz/skills/fzf-fuzzy-finder/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/fzf-fuzzy-finder/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "fzf - Fuzzy Finder",
        "body": "Interactive command-line fuzzy finder with powerful integration capabilities."
      },
      {
        "title": "Simple filtering",
        "body": "# Pipe list to fzf\nls | fzf\n\n# Select file\nfind . -type f | fzf\n\n# Multi-select (Tab to select, Shift+Tab to deselect)\nls | fzf -m\n\n# Preview files while selecting\nls | fzf --preview 'cat {}'\n\n# With bat for syntax highlighting\nls | fzf --preview 'bat --color=always {}'"
      },
      {
        "title": "Shell integration",
        "body": "# After installing, add to ~/.bashrc or ~/.zshrc:\n# source /path/to/fzf/shell/completion.bash\n# source /path/to/fzf/shell/key-bindings.bash\n\n# Key bindings:\n# Ctrl+R - Command history\n# Ctrl+T - File search\n# Alt+C  - Directory navigation\n\n# Use in command line\nvim **<TAB>      # File completion\ncd **<TAB>       # Directory completion\nkill -9 **<TAB>  # Process completion"
      },
      {
        "title": "File selection",
        "body": "# Open file in vim\nvim $(fzf)\n\n# Edit with preview\nvim $(fzf --preview 'bat --color=always --line-range :500 {}')\n\n# Select and copy\nfzf | xargs -I {} cp {} /destination/\n\n# Delete selected files\nfzf -m | xargs rm"
      },
      {
        "title": "Directory navigation",
        "body": "# CD to selected directory\ncd $(find . -type d | fzf)\n\n# Alias for quick nav\nalias cdf='cd $(find . -type d | fzf)'\n\n# Or use Alt+C keybinding"
      },
      {
        "title": "Git integration",
        "body": "# Checkout branch\ngit branch | fzf | xargs git checkout\n\n# Show commit\ngit log --oneline | fzf | awk '{print $1}' | xargs git show\n\n# Add files interactively\ngit status -s | fzf -m | awk '{print $2}' | xargs git add\n\n# Fuzzy git log browser\nalias gll='git log --oneline | fzf --preview \"git show {1}\"'"
      },
      {
        "title": "Process management",
        "body": "# Kill process\nps aux | fzf | awk '{print $2}' | xargs kill\n\n# Kill multiple processes\nps aux | fzf -m | awk '{print $2}' | xargs kill -9"
      },
      {
        "title": "Preview window",
        "body": "# Preview on the right\nfzf --preview 'cat {}'\n\n# Preview position and size\nfzf --preview 'cat {}' --preview-window=right:50%\n\n# Preview with bat\nfzf --preview 'bat --color=always --style=numbers --line-range=:500 {}'\n\n# Toggle preview with Ctrl+/\nfzf --preview 'cat {}' --bind 'ctrl-/:toggle-preview'\n\n# Preview directory contents\nfind . -type d | fzf --preview 'ls -la {}'"
      },
      {
        "title": "Custom key bindings",
        "body": "# Execute action on selection\nfzf --bind 'enter:execute(vim {})'\n\n# Multiple bindings\nfzf --bind 'ctrl-e:execute(vim {})' \\\n    --bind 'ctrl-o:execute(open {})'\n\n# Reload on key press\nfzf --bind 'ctrl-r:reload(find . -type f)'\n\n# Accept non-matching input\nfzf --print0 --bind 'enter:print-query'"
      },
      {
        "title": "Filtering options",
        "body": "# Case-insensitive (default)\nfzf -i\n\n# Case-sensitive\nfzf +i\n\n# Exact match\nfzf -e\n\n# Inverse match (exclude)\nfzf --query='!pattern'\n\n# OR operator\nfzf --query='py$ | js$'  # .py or .js files\n\n# AND operator\nfzf --query='test .py'  # Contains both 'test' and '.py'"
      },
      {
        "title": "With ripgrep",
        "body": "# Search content and open in vim\nrg --line-number . | fzf | awk -F: '{print \"+\"$2, $1}' | xargs vim\n\n# Search and preview matches\nrg --line-number . | fzf --delimiter : \\\n  --preview 'bat --color=always {1} --highlight-line {2}' \\\n  --preview-window +{2}-/2"
      },
      {
        "title": "With fd",
        "body": "# Find and preview files\nfd --type f | fzf --preview 'bat --color=always {}'\n\n# Find files modified today\nfd --changed-within 1d | fzf --preview 'bat {}'"
      },
      {
        "title": "With docker",
        "body": "# Select and enter container\ndocker ps | fzf | awk '{print $1}' | xargs -I {} docker exec -it {} bash\n\n# Remove selected images\ndocker images | fzf -m | awk '{print $3}' | xargs docker rmi\n\n# View logs\ndocker ps | fzf | awk '{print $1}' | xargs docker logs -f"
      },
      {
        "title": "With kubectl",
        "body": "# Select pod\nkubectl get pods | fzf | awk '{print $1}' | xargs kubectl describe pod\n\n# Get logs\nkubectl get pods | fzf | awk '{print $1}' | xargs kubectl logs -f\n\n# Delete pods\nkubectl get pods | fzf -m | awk '{print $1}' | xargs kubectl delete pod"
      },
      {
        "title": "Useful Aliases",
        "body": "Add to your shell config:\n\n# Fuzzy file search and open in vim\nalias fv='vim $(fzf --preview \"bat --color=always --style=numbers {}\")'\n\n# Fuzzy directory change\nalias fcd='cd $(find . -type d | fzf)'\n\n# Fuzzy git checkout\nalias gco='git branch | fzf | xargs git checkout'\n\n# Fuzzy process kill\nalias fkill='ps aux | fzf | awk \"{print \\$2}\" | xargs kill -9'\n\n# Fuzzy history search (Ctrl+R is built-in)\nalias fh='history | fzf | awk \"{print \\$2}\" | xargs -I {} sh -c \"{}\"'\n\n# Find and edit\nalias fe='fd --type f | fzf --preview \"bat --color=always --style=numbers {}\" | xargs -r $EDITOR'"
      },
      {
        "title": "Environment variables",
        "body": "# Default options\nexport FZF_DEFAULT_OPTS='\n  --height 40%\n  --layout=reverse\n  --border\n  --inline-info\n  --preview \"bat --style=numbers --color=always --line-range :500 {}\"\n'\n\n# Use fd instead of find\nexport FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'\n\n# For Ctrl+T\nexport FZF_CTRL_T_COMMAND=\"$FZF_DEFAULT_COMMAND\"\n\n# For Alt+C\nexport FZF_ALT_C_COMMAND='fd --type d --hidden --follow --exclude .git'"
      },
      {
        "title": "Color scheme",
        "body": "export FZF_DEFAULT_OPTS='\n  --color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8\n  --color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc\n  --color=marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8\n'"
      },
      {
        "title": "Project file browser",
        "body": "# Smart file browser with preview\nfzf \\\n  --preview 'bat --color=always --style=numbers --line-range=:500 {}' \\\n  --preview-window='right:60%:wrap' \\\n  --bind 'enter:execute(vim {})' \\\n  --bind 'ctrl-y:execute-silent(echo {} | pbcopy)+abort' \\\n  --header 'Enter: edit | Ctrl+Y: copy path'"
      },
      {
        "title": "Multi-purpose search",
        "body": "# Search in files and navigate to line\nrg --line-number --no-heading . | \\\n  fzf --delimiter=: \\\n      --preview 'bat --color=always --style=numbers --highlight-line {2} {1}' \\\n      --preview-window='+{2}-/2' \\\n      --bind 'enter:execute(vim {1} +{2})'"
      },
      {
        "title": "Docker container manager",
        "body": "#!/bin/bash\n# docker-fzf.sh\ncontainer=$(docker ps --format \"table {{.Names}}\\t{{.Status}}\\t{{.Image}}\" | fzf --header-lines=1 | awk '{print $1}')\nif [ -n \"$container\" ]; then\n    docker exec -it \"$container\" bash\nfi"
      },
      {
        "title": "Tips",
        "body": "Use --preview for visual context\nCombine with bat, rg, fd for powerful workflows\nPress ? in fzf to see keybindings\nUse Tab for multi-select\nCtrl+/ to toggle preview (if bound)\nCtrl+K / Ctrl+J to navigate\nStart query with ' for exact match\nStart with ! to exclude\nUse | for OR, space for AND\nSet FZF_DEFAULT_OPTS for persistent config"
      },
      {
        "title": "Performance",
        "body": "# For large file lists, use fd or rg\nexport FZF_DEFAULT_COMMAND='fd --type f'\n\n# Limit depth for faster results\nexport FZF_DEFAULT_COMMAND='fd --type f --max-depth 5'\n\n# Use parallel preview\nfzf --preview 'bat {}' --preview-window 'hidden'"
      },
      {
        "title": "Documentation",
        "body": "GitHub: https://github.com/junegunn/fzf\nWiki: https://github.com/junegunn/fzf/wiki\nExamples: https://github.com/junegunn/fzf/wiki/examples"
      }
    ],
    "body": "fzf - Fuzzy Finder\n\nInteractive command-line fuzzy finder with powerful integration capabilities.\n\nBasic Usage\nSimple filtering\n# Pipe list to fzf\nls | fzf\n\n# Select file\nfind . -type f | fzf\n\n# Multi-select (Tab to select, Shift+Tab to deselect)\nls | fzf -m\n\n# Preview files while selecting\nls | fzf --preview 'cat {}'\n\n# With bat for syntax highlighting\nls | fzf --preview 'bat --color=always {}'\n\nShell integration\n# After installing, add to ~/.bashrc or ~/.zshrc:\n# source /path/to/fzf/shell/completion.bash\n# source /path/to/fzf/shell/key-bindings.bash\n\n# Key bindings:\n# Ctrl+R - Command history\n# Ctrl+T - File search\n# Alt+C  - Directory navigation\n\n# Use in command line\nvim **<TAB>      # File completion\ncd **<TAB>       # Directory completion\nkill -9 **<TAB>  # Process completion\n\nCommon Patterns\nFile selection\n# Open file in vim\nvim $(fzf)\n\n# Edit with preview\nvim $(fzf --preview 'bat --color=always --line-range :500 {}')\n\n# Select and copy\nfzf | xargs -I {} cp {} /destination/\n\n# Delete selected files\nfzf -m | xargs rm\n\nDirectory navigation\n# CD to selected directory\ncd $(find . -type d | fzf)\n\n# Alias for quick nav\nalias cdf='cd $(find . -type d | fzf)'\n\n# Or use Alt+C keybinding\n\nGit integration\n# Checkout branch\ngit branch | fzf | xargs git checkout\n\n# Show commit\ngit log --oneline | fzf | awk '{print $1}' | xargs git show\n\n# Add files interactively\ngit status -s | fzf -m | awk '{print $2}' | xargs git add\n\n# Fuzzy git log browser\nalias gll='git log --oneline | fzf --preview \"git show {1}\"'\n\nProcess management\n# Kill process\nps aux | fzf | awk '{print $2}' | xargs kill\n\n# Kill multiple processes\nps aux | fzf -m | awk '{print $2}' | xargs kill -9\n\nAdvanced Features\nPreview window\n# Preview on the right\nfzf --preview 'cat {}'\n\n# Preview position and size\nfzf --preview 'cat {}' --preview-window=right:50%\n\n# Preview with bat\nfzf --preview 'bat --color=always --style=numbers --line-range=:500 {}'\n\n# Toggle preview with Ctrl+/\nfzf --preview 'cat {}' --bind 'ctrl-/:toggle-preview'\n\n# Preview directory contents\nfind . -type d | fzf --preview 'ls -la {}'\n\nCustom key bindings\n# Execute action on selection\nfzf --bind 'enter:execute(vim {})'\n\n# Multiple bindings\nfzf --bind 'ctrl-e:execute(vim {})' \\\n    --bind 'ctrl-o:execute(open {})'\n\n# Reload on key press\nfzf --bind 'ctrl-r:reload(find . -type f)'\n\n# Accept non-matching input\nfzf --print0 --bind 'enter:print-query'\n\nFiltering options\n# Case-insensitive (default)\nfzf -i\n\n# Case-sensitive\nfzf +i\n\n# Exact match\nfzf -e\n\n# Inverse match (exclude)\nfzf --query='!pattern'\n\n# OR operator\nfzf --query='py$ | js$'  # .py or .js files\n\n# AND operator\nfzf --query='test .py'  # Contains both 'test' and '.py'\n\nIntegration Examples\nWith ripgrep\n# Search content and open in vim\nrg --line-number . | fzf | awk -F: '{print \"+\"$2, $1}' | xargs vim\n\n# Search and preview matches\nrg --line-number . | fzf --delimiter : \\\n  --preview 'bat --color=always {1} --highlight-line {2}' \\\n  --preview-window +{2}-/2\n\nWith fd\n# Find and preview files\nfd --type f | fzf --preview 'bat --color=always {}'\n\n# Find files modified today\nfd --changed-within 1d | fzf --preview 'bat {}'\n\nWith docker\n# Select and enter container\ndocker ps | fzf | awk '{print $1}' | xargs -I {} docker exec -it {} bash\n\n# Remove selected images\ndocker images | fzf -m | awk '{print $3}' | xargs docker rmi\n\n# View logs\ndocker ps | fzf | awk '{print $1}' | xargs docker logs -f\n\nWith kubectl\n# Select pod\nkubectl get pods | fzf | awk '{print $1}' | xargs kubectl describe pod\n\n# Get logs\nkubectl get pods | fzf | awk '{print $1}' | xargs kubectl logs -f\n\n# Delete pods\nkubectl get pods | fzf -m | awk '{print $1}' | xargs kubectl delete pod\n\nUseful Aliases\n\nAdd to your shell config:\n\n# Fuzzy file search and open in vim\nalias fv='vim $(fzf --preview \"bat --color=always --style=numbers {}\")'\n\n# Fuzzy directory change\nalias fcd='cd $(find . -type d | fzf)'\n\n# Fuzzy git checkout\nalias gco='git branch | fzf | xargs git checkout'\n\n# Fuzzy process kill\nalias fkill='ps aux | fzf | awk \"{print \\$2}\" | xargs kill -9'\n\n# Fuzzy history search (Ctrl+R is built-in)\nalias fh='history | fzf | awk \"{print \\$2}\" | xargs -I {} sh -c \"{}\"'\n\n# Find and edit\nalias fe='fd --type f | fzf --preview \"bat --color=always --style=numbers {}\" | xargs -r $EDITOR'\n\nConfiguration\nEnvironment variables\n# Default options\nexport FZF_DEFAULT_OPTS='\n  --height 40%\n  --layout=reverse\n  --border\n  --inline-info\n  --preview \"bat --style=numbers --color=always --line-range :500 {}\"\n'\n\n# Use fd instead of find\nexport FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'\n\n# For Ctrl+T\nexport FZF_CTRL_T_COMMAND=\"$FZF_DEFAULT_COMMAND\"\n\n# For Alt+C\nexport FZF_ALT_C_COMMAND='fd --type d --hidden --follow --exclude .git'\n\nColor scheme\nexport FZF_DEFAULT_OPTS='\n  --color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8\n  --color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc\n  --color=marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8\n'\n\nAdvanced Workflows\nProject file browser\n# Smart file browser with preview\nfzf \\\n  --preview 'bat --color=always --style=numbers --line-range=:500 {}' \\\n  --preview-window='right:60%:wrap' \\\n  --bind 'enter:execute(vim {})' \\\n  --bind 'ctrl-y:execute-silent(echo {} | pbcopy)+abort' \\\n  --header 'Enter: edit | Ctrl+Y: copy path'\n\nMulti-purpose search\n# Search in files and navigate to line\nrg --line-number --no-heading . | \\\n  fzf --delimiter=: \\\n      --preview 'bat --color=always --style=numbers --highlight-line {2} {1}' \\\n      --preview-window='+{2}-/2' \\\n      --bind 'enter:execute(vim {1} +{2})'\n\nDocker container manager\n#!/bin/bash\n# docker-fzf.sh\ncontainer=$(docker ps --format \"table {{.Names}}\\t{{.Status}}\\t{{.Image}}\" | fzf --header-lines=1 | awk '{print $1}')\nif [ -n \"$container\" ]; then\n    docker exec -it \"$container\" bash\nfi\n\nTips\nUse --preview for visual context\nCombine with bat, rg, fd for powerful workflows\nPress ? in fzf to see keybindings\nUse Tab for multi-select\nCtrl+/ to toggle preview (if bound)\nCtrl+K / Ctrl+J to navigate\nStart query with ' for exact match\nStart with ! to exclude\nUse | for OR, space for AND\nSet FZF_DEFAULT_OPTS for persistent config\nPerformance\n# For large file lists, use fd or rg\nexport FZF_DEFAULT_COMMAND='fd --type f'\n\n# Limit depth for faster results\nexport FZF_DEFAULT_COMMAND='fd --type f --max-depth 5'\n\n# Use parallel preview\nfzf --preview 'bat {}' --preview-window 'hidden'\n\nDocumentation\n\nGitHub: https://github.com/junegunn/fzf Wiki: https://github.com/junegunn/fzf/wiki Examples: https://github.com/junegunn/fzf/wiki/examples"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Arnarsson/fzf-fuzzy-finder",
    "publisherUrl": "https://clawhub.ai/Arnarsson/fzf-fuzzy-finder",
    "owner": "Arnarsson",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/fzf-fuzzy-finder",
    "downloadUrl": "https://openagent3.xyz/downloads/fzf-fuzzy-finder",
    "agentUrl": "https://openagent3.xyz/skills/fzf-fuzzy-finder/agent",
    "manifestUrl": "https://openagent3.xyz/skills/fzf-fuzzy-finder/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/fzf-fuzzy-finder/agent.md"
  }
}