Skip to content

Guide · Agent skill

How to use the Filesystem Search Tools agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The Filesystem Search Tools skill (hive.terminal-tools-fs-search) is a set of instructions that tells an AI agent which built-in tool to use when it needs to search files. It covers searching code, logs and config files, finding files by name, and filtering by date or size. This guide explains what the skill changes, how to install it, how to trigger it with plain requests, and what it needs to run safely.

Filesystem Search Toolsaden-hive/hive · Apache-2.0

Quick start

  1. 1Download the skill ZIP. Get the Filesystem Search Tools skill ZIP from the page where you found this guide.
  2. 2Unzip into a skills folder. Unzip it into ~/.claude/skills/ for all projects, or into a project's .claude/skills/ folder for one project.
  3. 3Or upload it in the Claude apps. In the Claude apps, go to Settings, then Capabilities, then Skills, and upload the ZIP.
  4. 4Confirm the runtime tools exist. Make sure terminal_rg, terminal_glob and terminal_exec are available and ripgrep (rg) runs. Repair it with scripts/ensure_ripgrep.py --install if needed.
  5. 5Ask for a file task in plain language. Describe what you want to find, such as a phrase in code, a file name, or files modified in the last few days.
  6. 6Check the tool calls. Look at which tool the agent used and check the truncated flag before trusting a result.

What the skill makes the agent do

The skill teaches the agent to choose between three kinds of tools for file work. terminal_rg searches file contents using ripgrep and is gitignore-aware by default. terminal_glob finds files by name or glob pattern. For anything else, such as modification-date or size filters, directory listings, tree views, single-file stat output and disk usage, the agent uses terminal_exec with commands like find, ls, tree, stat and du.

The skill also explains common ripgrep flags, how to read truncated results, and when to stop and narrow a search instead of raising limits. Its main rule is to read this guidance before reaching for raw shell commands like grep or find.

Install the skill from the ZIP or the Claude apps

There are two ways to add the skill. For Claude Code, download the skill ZIP from the page, unzip it into ~/.claude/skills/ for all your projects, or into a project's .claude/skills/ folder to limit it to that project. For the Claude apps, upload the ZIP under Settings, then Capabilities, then Skills.

After installing, check that the skill folder contains SKILL.md and the references folder, which holds find_predicates.md and ripgrep_cheatsheet.md.

Check the requirements before you start

The skill only describes tools that must already exist in your runtime. You need the Hive terminal tools (terminal_rg, terminal_glob and terminal_exec) and the ripgrep (rg) executable. Hive's quickstart installs and verifies ripgrep. If it is missing or broken, you can repair it from the repository root with the ensure_ripgrep script.

uv is needed because the ripgrep repair script runs through it. If ripgrep is installed in a non-standard location, set HIVE_RIPGREP_PATH to its absolute path.

  • ripgrep (rg) executable, installed by the Hive quickstart or scripts/ensure_ripgrep.py
  • HIVE_RIPGREP_PATH, optional, points to a custom binary
  • Hive terminal tools: terminal_rg, terminal_glob, terminal_exec
  • uv, used by the ripgrep repair script
uv run scripts/ensure_ripgrep.py --install

How to trigger the skill with natural requests

You do not need special syntax. Ask for a file task in plain language, and the agent should follow the skill when the task involves searching or listing files. Be specific about the place to look, because the skill's choice of tool depends on whether you want file contents, a file name, or metadata such as age or size.

Requests that match the skill's categories include content searches, name lookups, and metadata filters. Check the agent's tool calls to confirm which tool it used.

  • Search this project for TODO comments in Python files.
  • Find the YAML config files under /etc.
  • Show me the errors in /var/log from the last 30 minutes.
  • Find log files larger than 100 MB under /var/log.
  • Show a two-level tree of this repository.

Common search examples

The skill's examples show the structured calls the agent is expected to make. Content searches use terminal_rg, name lookups use terminal_glob, and predicate queries use terminal_exec with find. The ripgrep cheatsheet lists more flags for cases the structured wrapper does not cover, and you pass those through extra_args.

  • Log search: terminal_rg with ignore_case=True and context=2 on /var/log.
  • Hidden files: terminal_rg with hidden=True to include dotfiles.
  • Gitignored files: terminal_rg with no_ignore=True to search files git would skip.
  • Name lookup: terminal_glob with pattern="*.yaml" on /etc.
terminal_rg(pattern="error", path="/var/log", ignore_case=True, context=2)

Safety notes for scripts and file access

The skill runs scripts and includes a ripgrep repair script, so review it before installing if your environment is restricted. It does not use the network. The main risk is what the agent reads. Searching a home folder or system configuration can expose secrets such as API keys, so decide which paths the agent may search.

If ripgrep is missing, terminal_rg returns an error by default. You can opt into an approximate search with allow_fallback=True, but that search ignores .gitignore and can miss files. Do not use it for an exhaustive inventory.

  • Review the scripts before installing.
  • Limit searches to the directories the task needs.
  • Be careful with ~ and /etc, since they can contain secrets.
  • Use the approximate fallback only when you accept incomplete results.

Tips for reliable results

If results are truncated, the skill says to narrow the pattern or path instead of raising limits. For terminal_glob, the default cap is 1000 results. If terminal_glob returns timed_out: true, it gives partial results, so narrow the search and run it again.

Note that ripgrep does not search inside archives. Extract an archive first, then search the extracted folder. The skill's description mentions archive contents, but the rg guidance in the source says to extract first.

  • Use type_filter for file types, such as py, instead of glob patterns when possible.
  • Use terminal_glob with a bare name like lk_scan_post_reactors to find a file anywhere under a folder.
  • Check truncated and timed_out before treating results as complete.

What people use it for

  • Search a codebase for a function name or TODO comments in one language.
  • Find recent errors in /var/log while debugging a service.
  • Locate config files by name under /etc.
  • Find large files or recently changed files using find through terminal_exec.
  • Get a two-level directory tree of a project with terminal_exec and tree.

Frequently asked questions

How do I install the Filesystem Search Tools agent skill?

Download the skill ZIP from the page and unzip it into ~/.claude/skills/ for all projects, or into a project's .claude/skills/ folder for one project. In the Claude apps, upload the ZIP under Settings, then Capabilities, then Skills.

What do I need to run this skill?

You need the Hive terminal tools (terminal_rg, terminal_glob and terminal_exec) and the ripgrep (rg) executable. Hive's quickstart installs ripgrep, and scripts/ensure_ripgrep.py repairs it. uv is needed for the repair script.

Is the Filesystem Search Tools skill free to use?

The skill is listed under the Apache-2.0 licence. Check the licence file in the aden-hive/hive repository for the full terms before you reuse or redistribute it.

Why does terminal_rg return ripgrep_required?

It means the rg executable was not found, and terminal_rg does not search without it by default. Install ripgrep through the Hive quickstart or run scripts/ensure_ripgrep.py --install. If ripgrep is in a custom location, set HIVE_RIPGREP_PATH to its absolute path.

Can the agent search without ripgrep?

Only if you explicitly set allow_fallback=True. That approximate search uses Python regex and ignores .gitignore, so it can give incomplete results. Do not use it when you need a full inventory of files.

Is this skill better than just letting the agent run grep or find?

The skill steers the agent toward terminal_rg and terminal_glob because they are gitignore-aware and return structured matches. It discourages grep and find for plain searches, and reserves find for date, size and type filters. Without the skill, the agent may choose raw shell commands by default.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

This skill suits developers and engineers who want an agent to search code, logs and configs in a consistent, gitignore-aware way inside the Hive framework. It is not useful if you do not have the Hive terminal tools installed, and it should not be used for exhaustive searches when ripgrep is missing or on sensitive directories without limits. Pick a different approach if you need a general-purpose shell agent with no path restrictions.

Download the skill