Skip to content
Back to skills

2876 Tool Categories 7ce43e0f

BSecurity

> **Problem:** Different AI agents use different tool names for the same action. Your test expects `read_file`, but the agent uses `bash cat`. The test fails even though the behavior is correct. > > **Solution:** EvalView's tool categories let you test by intent instead of exact tool name. Define `file_read` and it matches `read_file`, `bash cat`, `text_editor`, and more. ---

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
toolspythongoshellbashsqlgitapidatabasedocumentation

Works with

  • claude code
  • terminal
  • cli
  • api

Security analysis

B75/100
  • criticalPipes output to a shell interpreter

Pro shows the line behind each finding and how to fix it

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 2876-tool_categories_7ce43e0f --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 2876 Tool Categories 7ce43e0f?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 2876 Tool Categories 7ce43e0f
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-2876-tool-categories-7ce43e0f/badge)](https://www.skillsdirectory.com/skills/tools-only-2876-tool-categories-7ce43e0f)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
# Tool Categories — Flexible Tool Matching by Intent for AI Agent Tests

> **Problem:** Different AI agents use different tool names for the same action. Your test expects `read_file`, but the agent uses `bash cat`. The test fails even though the behavior is correct.
>
> **Solution:** EvalView's tool categories let you test by intent instead of exact tool name. Define `file_read` and it matches `read_file`, `bash cat`, `text_editor`, and more.

---

## Before (Brittle)

```yaml
expected:
  tools:
    - read_file      # Fails if agent uses bash, text_editor, etc.
```

## After (Flexible)

```yaml
expected:
  categories:
    - file_read      # Passes for read_file, bash cat, text_editor, etc.
```

---

## Built-in Categories

| Category | Matches |
|----------|---------|
| `file_read` | read_file, bash, text_editor, cat, view, str_replace_editor |
| `file_write` | write_file, bash, text_editor, edit_file, create_file |
| `file_list` | list_directory, bash, ls, find, directory_tree |
| `search` | grep, ripgrep, bash, search_files, code_search |
| `shell` | bash, shell, terminal, execute, run_command |
| `web` | web_search, browse, fetch_url, http_request, curl |
| `git` | git, bash, git_commit, git_push, github |
| `python` | python, bash, python_repl, execute_python, jupyter |

---

## Custom Categories

Add project-specific categories in `config.yaml`:

```yaml
# .evalview/config.yaml
tool_categories:
  database:
    - postgres_query
    - mysql_execute
    - sql_run
  my_custom_api:
    - internal_api_call
    - legacy_endpoint
```

---

## Why This Matters

Different agents use different tools for the same task. Categories let you test **behavior**, not **implementation**.

For example, all of these accomplish "read a file":
- Claude Code: `read_file`
- OpenAI: `bash` with `cat`
- Custom agent: `text_editor`

With categories, your test passes for all of them:

```yaml
expected:
  categories:
    - file_read  # All three approaches pass
```

---

## Combining Tools and Categories

You can mix exact tool names and categories:

```yaml
expected:
  tools:
    - my_specific_tool    # Must use this exact tool
  categories:
    - file_read           # Plus any file reading approach
```

---

## Related Documentation

- [Evaluation Metrics](EVALUATION_METRICS.md)
- [CLI Reference](CLI_REFERENCE.md)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.