Skip to main content
Glama

AICoreUtils

AI-CLI MCP server Glama Score PyPI

CI LTS

Glama 92% | TDQS A-grade (mean 4.6) | All 114 tools A-grade | CI passed on all platforms

⚠️ Stability: This project is actively evolving. While the JSON output schema and MCP tool interface are stable, internal CLI argument parsing and per-command flags may change. Read Stability Notes for details.

🤖 MCP directory listed: Glama · ModelScope · awesome-mcp-servers

Chinese Description

AICoreUtils is a JSON-first command-line toolkit prototype for LLM Agents. It is inspired by common GNU Coreutils commands, but it is not a complete GNU-compatible replacement.

The project goal is to provide deterministic, low-noise, and easy-to-parse CLI interfaces for machine callers:

  • Default JSON output

  • Errors written to stderr as JSON

  • Stable exit code semantics

  • --dry-run support for file modification commands

  • Explicit use of --raw when pipeline composition is required

Quick Start

pip install aicoreutils
aicoreutils schema --pretty
aicoreutils ls . --limit 20
aicoreutils rm build --recursive --dry-run

🤖 Claude Desktop / MCP Integration

One-line configuration to let Claude operate your filesystem directly:

Edit the Claude Desktop configuration file (detailed instructions →):

System

Config File

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Windows

%APPDATA%\Claude\claude_desktop_config.json

Linux

~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "aicoreutils": {
      "command": "python",
      "args": ["-m", "aicoreutils.mcp_server"]
    }
  }
}

Restart Claude Desktop, then ask it:

"List all Python files in the project and count the lines of code"

Claude automatically calls aicoreutils ls + aicoreutils wc, with JSON interaction throughout.

For more integration methods: aicoreutils tool-list --format openai outputs in OpenAI Function Calling format, which can be used directly in any Agent framework. If you need to retain risk tags for schedulers or audit systems, you can append --include-risk.

⚠️ Security Note: It is recommended to run with minimum privileges in production environments.

aicoreutils-mcp --profile readonly         # 推荐:只读工具
aicoreutils-mcp --profile workspace-write  # 仅允许低风险 cwd 内写入

See Production Security Deployment Guide →

🤖 AI IDE Integration

Use aicoreutils directly in Cursor / Windsurf / Continue.dev: AI IDE Integration Guide →

// ~/.cursor/mcp.json
{ "mcpServers": { "aicoreutils": { "command": "python", "args": ["-m", "aicoreutils.mcp_server"] } } }

🔗 More: Claude Desktop Integration | AI IDE Integration | Agent Task Examples | LangChain Wrapper

Run Tests

# 推荐主入口(pytest,含 Hypothesis property-based 测试和 GNU 对照测试)
uv run pytest tests/ -v --tb=short

# Legacy 入口(unittest,部分运行器)
uv run python -m unittest discover -s tests -v

Project Structure

.
|-- src/aicoreutils/        # Python 包源码
|-- docs/                   # 文档入口
|   |-- reference/          # 协议、命令面和安全生产契约
|   |-- guides/             # 使用指南
|   |-- architecture/       # 架构决策记录 (ADR) 和 AI 代理规则
|   |-- development/        # 测试和开发说明
|   |-- status/             # 当前项目状态(唯一权威来源)
|   |-- audits/             # 兼容性和质量审计
|   |-- analysis/           # 项目分析日志(历史归档)
|   `-- reports/            # 测试报告等生成/归档文档
|-- tests/                  # 测试套件
|-- examples/               # 示例
|-- scripts/                # CI/审计/发布脚本
|-- .github/                # CI workflows 和 issue 模板
`-- vendor/                 # 本地上游源码缓存

Documentation

Release Status

Current implementation: 114 CLI commands registered in aicoreutils schema (including agent meta-commands like tool-list).

Important limitation: This project is an agent-friendly subset inspired by GNU Coreutils, not a full GNU Coreutils clone.


Related MCP server: nexus-mcp

English

AICoreUtils is a JSON-first command-line toolkit prototype for LLM agents. It is inspired by common GNU Coreutils commands, but it is not a complete GNU-compatible replacement.

The goal is a deterministic, low-noise interface for machine callers:

  • JSON output by default

  • JSON errors on stderr

  • Stable semantic exit codes

  • --dry-run for mutation commands

  • Explicit --raw output for pipeline composition

Quick Start

pip install aicoreutils
aicoreutils schema --pretty
aicoreutils ls . --limit 20
aicoreutils rm build --recursive --dry-run

🤖 Claude Desktop / MCP Integration

One config line to let Claude operate your filesystem:

Edit Claude Desktop config (full guide →):

OS

Config File

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Windows

%APPDATA%\Claude\claude_desktop_config.json

Linux

~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "aicoreutils": {
      "command": "python",
      "args": ["-m", "aicoreutils.mcp_server"]
    }
  }
}

Restart Claude Desktop, then ask:

"List all Python files in the project and count lines of code"

Claude calls aicoreutils ls + aicoreutils wc automatically.

For other frameworks: aicoreutils tool-list --format openai outputs OpenAI Function Calling format directly. Add --include-risk when an orchestrator or audit system needs machine-readable risk metadata.

⚠️ Security: Run with least privilege in production.

aicoreutils-mcp --profile readonly         # Recommended: read-only tools
aicoreutils-mcp --profile workspace-write  # Low-risk cwd-local writes only

See Production Security Guide →

Run tests

# Recommended primary entry (pytest, includes Hypothesis property-based and GNU differential tests)
uv run pytest tests/ -v --tb=short

# Legacy entry (unittest, partial runner)
uv run python -m unittest discover -s tests -v

Project Layout

.
|-- src/aicoreutils/        # Python package
|-- docs/                   # documentation index
|   |-- reference/          # protocol, command-surface and security contracts
|   |-- guides/             # usage guides
|   |-- architecture/       # ADRs and AI agent governance rules
|   |-- development/        # testing and development notes
|   |-- status/             # current project status (single authoritative source)
|   |-- audits/             # compatibility and quality audits
|   |-- analysis/           # project analysis logs (historical archive)
|   `-- reports/            # test reports and archived generated docs
|-- tests/                  # test suite
|-- examples/               # examples
|-- scripts/                # CI/audit/release scripts
|-- .github/                # CI workflows and issue templates
`-- vendor/                 # local upstream source cache

Documentation

Release Status

Current implementation: 114 CLI commands in aicoreutils schema (including agent-native meta-commands like tool-list).

Important limitation: this project is an agent-friendly subset inspired by GNU Coreutils, not a full GNU Coreutils clone.

Stability and SemVer

aicoreutils uses semantic versioning starting from v1.0.0, with the following commitments:

  • Patch (1.0.x): Bug fixes, improved error messages, documentation updates. JSON output structure remains unchanged.

  • Minor (1.x.0): New commands, new parameters. JSON output structure for existing commands remains backward compatible.

  • Major (x.0.0): Breaking changes — JSON schema changes, command renaming, MCP tool schema changes.

⚠️ Current status: The project is still under active development. Internal CLI argument parsing and per-command flags may change frequently due to argparse refactoring, but the JSON envelope (ok, result, error, command, version) and MCP tool schema are stable. For production use, please pin the version number (pip install aicoreutils==1.2.0). v1.2.0 is the LTS version, and critical bug and security fixes will be backported for at least 12 months.

Available Tools

100 tools
[A
Read-only

Evaluate path predicates (file existence, type, permissions) — alias for 'test'. Read-only, no side effects. Returns JSON with predicate result and success/failure exit code. Use in scripts for conditional file checks. Not for detailed file inspection — use 'stat' for full metadata. See also 'test', 'stat'.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokensNoExpression tokens, optionally ending with ']'.
exit_codeNoReturn exit code 1 when the expression is false.
bracket_fileNoPath is a file.
bracket_existsNoPath exists.
bracket_symlinkNoPath is a symlink.
bracket_readableNoPath is readable.
bracket_writableNoPath is writable.
bracket_directoryNoPath is a directory.
bracket_non_emptyNoPath is non-empty.
bracket_executableNoPath is executable.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description notes 'Read-only, no side effects', matching annotations' readOnlyHint=true. It also discloses that output is JSON with predicate result and exit code, adding value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences. Front-loaded with purpose, includes usage guidelines and alternatives. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description mentions return format (JSON with result and exit code). For a tool with 10 parameters, description is sufficient but could mention more about error handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description does not add parameter-level details but clarifies the tool's general behavior. No additional semantic value needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool evaluates path predicates (file existence, type, permissions) and identifies itself as an alias for 'test'. It distinguishes itself from 'stat', which is for detailed inspection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'Use in scripts for conditional file checks' and advises 'Not for detailed file inspection — use 'stat' for full metadata'. Also references siblings 'test' and 'stat'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

archA
Read-only

Return the machine architecture string (e.g., x86_64, aarch64). Read-only, no side effects. Returns JSON with the architecture name. Use for platform-conditional logic in agent workflows. Not for full system information — use 'uname' for kernel, hostname, and OS details. See also 'uname'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite architecture without a JSON envelope.

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description declares read-only and no side effects, which aligns with the readOnlyHint annotation. It adds context about returning JSON with the architecture name, beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences that front-load the core purpose, then add usage guidance and alternatives. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one optional param and no output schema, the description covers purpose, behavior, usage context, and alternatives comprehensively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear description for the 'raw' parameter. The description adds meaning by stating the default returns JSON, implicitly explaining the parameter's effect.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it returns the machine architecture string with examples (x86_64, aarch64). It distinguishes itself from the sibling tool 'uname' by specifying it's not for full system info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises to use for platform-conditional logic and not for full system information, directing to 'uname' for broader details. Also provides a 'see also' reference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

b2sumA
Read-only

Compute BLAKE2b cryptographic hash of files or stdin as JSON. Read-only, no side effects. Returns per-file hash digests and byte counts. Use for high-speed integrity verification — faster than SHA-2/3 on 64-bit platforms. Not for security-critical contexts where SHA-256 is mandated — use 'sha256sum'. See also 'hash', 'sha256sum'.

ParametersJSON Schema
NameRequiredDescriptionDefault
checkNoRead checksums from FILE(s) and verify them.
pathsNoFiles to hash, or '-' for stdin (omit with --check).
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, and description reinforces 'Read-only, no side effects'. Adds behavioral details like returns per-file hash digests and byte counts, and performance characteristics. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise: four sentences that front-load purpose and nature, then usage guidance, then cross-reference. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, no output schema), the description covers return format, performance, and security context. The schema covers all parameters, so the description adds valuable context about when to use and alternatives.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter is already documented in the schema. The description does not add additional meaning beyond what the schema provides, meeting the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes BLAKE2b cryptographic hash as JSON, specifically distinguishing from sibling sha256sum by noting when to use each. The verb 'Compute' and resource 'files or stdin as JSON' are precise.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (high-speed integrity verification) and when not to (security-critical, where SHA-256 is mandated), and provides alternative tool name 'sha256sum'. Also references sibling 'hash'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

base32A
Read-only

Encode or decode base32 data from files or stdin. Read-only, no side effects. Returns JSON with the result by default; use --raw for raw output on stdout. Use for human-friendly encoding (avoids ambiguous characters). Not for compact encoding — use 'base64' for smaller output size. See also 'base64', 'basenc'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite raw encoded/decoded bytes to stdout.
pathsNoFiles to read, or '-' for stdin. Defaults to stdin.
decodeNoDecode instead of encode.
encodingNoOutput encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.
max_output_bytesNoMaximum JSON bytes to emit.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

States read-only and no side effects, consistent with readOnlyHint annotation. Adds details about default JSON output and raw option. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise but not ultra-tight. Six sentences covering main points without redundancy. Could be slightly shorter but maintains clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given complexity (8 params, no output schema), description covers return format (JSON/raw), encoding behaviors, and references to other tools. Adequately complete for agent usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds minimal parameter context beyond schema (e.g., mentions --raw but schema already describes raw). Does not significantly enhance semantic understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Encode or decode base32 data from files or stdin'. Differentiates from siblings by mentioning base64 for compact encoding and basenc. Provides specific verb-resource pair.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states use case: 'Use for human-friendly encoding (avoids ambiguous characters).' And when not: 'Not for compact encoding — use base64'. Lists alternatives: base64, basenc.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

base64A
Read-only

Encode or decode base64 data from files or stdin. Read-only, no side effects. Returns JSON with the result by default; use --raw for raw output on stdout. Use for standard base64 encoding in data transfer and storage. Not for flexible multi-base handling — use 'basenc' to switch between base16/32/64/64url. See also 'base32', 'basenc'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite raw encoded/decoded bytes to stdout.
pathsNoFiles to read, or '-' for stdin. Defaults to stdin.
decodeNoDecode instead of encode.
encodingNoOutput encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.
max_output_bytesNoMaximum JSON bytes to emit.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states 'Read-only, no side effects' and explains output format: 'Returns JSON with the result by default; use --raw for raw output on stdout.' Annotations already provided readOnlyHint, so the description adds value by clarifying output modes. However, it does not detail the behavior of encoding parameters or error handling, which are covered only in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (4 sentences) and front-loaded with the core purpose. Every sentence adds value: purpose, output mode, usage context, and alternatives. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high parameter count (8) and no output schema, the description adequately covers the primary function, output format, and alternative tools. However, it could be more complete by briefly describing the JSON result structure or common encoding scenarios. Still, it is sufficient for most use cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds minimal parameter details beyond the schema (only mentions --raw and default output). It does not elaborate on encoding parameters or other options.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Encode or decode base64 data from files or stdin', providing a clear verb and resource. It distinguishes from siblings by mentioning 'basenc' and 'base32' as alternatives for other base encodings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance: 'Use for standard base64 encoding in data transfer and storage. Not for flexible multi-base handling — use 'basenc'... See also 'base32', 'basenc'.' This clearly states when to use this tool and recommends alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

basenameA
Read-only

Return the final path component, stripping all directory prefixes. Read-only, no side effects. Returns JSON with the stripped filename. Use to extract filenames from full paths. Not for extracting directory portions — use 'dirname' for the inverse operation. See also 'dirname', 'realpath'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite one basename per line without a JSON envelope.
pathsYesPaths to transform.
suffixNoRemove suffix from each basename when present.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true; description adds 'no side effects' and specifies return format (JSON). No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five concise sentences that front-load purpose, then cover behavior, return type, usage, and alternatives with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Provided everything needed: purpose, behavior, return format, usage guidance, and alternatives. No output schema needed for this simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3. Description does not elaborate on parameters beyond the schema's own descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it returns the final path component by stripping directory prefixes. Distinguishes itself from siblings like 'dirname' and 'realpath'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use (extract filenames from full paths) and when not to (not for directory portions), naming 'dirname' as alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

basencA
Read-only

Encode or decode data in base16 (hex), base32, base64, or base64url from files or stdin. Read-only, no side effects. Returns JSON with encoded/decoded data by default; use --raw for raw bytes on stdout. Select format with --base (default base64), switch to decode mode with --decode. Use --max_output_bytes to bound output size. Use when you need flexible base selection via a single tool. Not for fixed-format needs — use 'base64' or 'base32' for dedicated encoding. See also 'base64', 'base32'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite raw encoded/decoded bytes to stdout.
baseNoBase encoding.base64
pathsNoFiles to read, or '-' for stdin. Defaults to stdin.
decodeNoDecode instead of encode.
encodingNoOutput encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.
max_output_bytesNoMaximum JSON bytes to emit.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=true. Description adds 'Read-only, no side effects' and discloses behavior like JSON return, raw output via --raw, and output bounding with --max_output_bytes. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at ~60 words, front-loaded with the core action, and every sentence adds value. No redundant or missing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters with 100% schema coverage and no output schema, the description provides good context on output format, safety, and major options. Minor missing details on encoding parameter but overall sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3. Description explains key parameters (--raw, --base, --decode, --max_output_bytes) beyond schema, adding value. Does not detail all 9 parameters, but covers the most important ones.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Encode or decode data in base16, base32, base64, or base64url', providing a clear verb and resource. It distinguishes from sibling tools by noting 'Not for fixed-format needs — use 'base64' or 'base32' for dedicated encoding.' This fully clarifies purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit usage context: 'Use when you need flexible base selection via a single tool. Not for fixed-format needs — use 'base64' or 'base32' for dedicated encoding.' Clear when-to-use and when-not, with named alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

catA
Read-only

Read and output file contents. Read-only, no side effects. Returns JSON by default with bounded content; use --raw for full plain-text output. Supports byte-offset and length for partial reads. Use to inspect file contents in agent workflows. Not for binary inspection — use 'od' for hex/octal dumps. See also 'head', 'tail', 'od'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite raw bytes to stdout without a JSON envelope.
pathYesFile to read.
offsetNoByte offset to start reading from.
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
max_bytesNoMaximum bytes to return.
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. Description adds 'Read-only, no side effects', details on output formats (JSON default vs raw), and bounded content. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three efficient sentences, front-loaded with main purpose and key behaviors. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers output format, safety (read-only), partial reads, encoding, and alternatives. Enough for an agent to use correctly without output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. Description adds context for --raw flag and byte-offset/length but does not elaborate on all 8 parameters. Schema already documents them adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Read and output file contents' with specific verb and resource. Distinguishes from siblings by mentioning alternative tools (head, tail, od) and noting not for binary inspection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (inspect file contents in agent workflows) and when not to use (binary inspection -> use od). Provides alternative tool names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

catalogA
Read-only

List all commands organized by GNU Coreutils priority categories. Read-only, no side effects. Returns JSON with commands grouped by priority (P0=essential, P1=common, P2=useful, P3=specialized). Use to discover the full command surface by functional area. Not for LLM function-calling context — use 'tool-list' for machine-optimized output. See also 'tool-list', 'coreutils'.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchNoSearch commands by keyword (fuzzy match on name/category/why).
categoryNoFilter by category name (fuzzy match).

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true. Description adds that it is read-only with no side effects, and specifies return format: 'Returns JSON with commands grouped by priority (P0=essential, P1=common, P2=useful, P3=specialized).' No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is four sentences, front-loaded with the main purpose. Each sentence adds value without redundancy. Slightly verbose with 'See also ...' but still concise overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With two optional parameters, no output schema, and simple functionality, the description adequately covers return format, grouping details, and usage context. Could mention default behavior when both params are omitted, but not necessary.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters described. Description adds no new semantic information beyond what the schema provides (e.g., fuzzy match already in schema). Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'List all commands organized by GNU Coreutils priority categories.' It specifies the resource (commands) and action (list), and differentiates from siblings like 'tool-list' by noting this is for human-readable discovery.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit usage guidance: 'Use to discover the full command surface by functional area.' Also states when not to use: 'Not for LLM function-calling context — use 'tool-list' for machine-optimized output.' Provides alternative sibling tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chconA
Destructive

Plan or apply an SELinux security context to files. Destructive: may alter file security labels, affecting access control. Use --dry_run to preview without changes. Requires --allow_context for actual execution; fails safely otherwise. Use to manage SELinux contexts on labeled filesystems. Not for general permission changes — use 'chmod'. See also 'runcon', 'chmod'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite context/path rows without a JSON envelope.
pathsYesPaths whose security context should change.
contextYesSecurity context to apply.
dry_runNoReport operations without changing contexts.
no_followNoDo not follow symlinks where supported.
recursiveNoApply to directory contents recursively.
allow_contextNoAllow real SELinux context changes where supported.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes beyond the destructiveHint annotation by explaining 'may alter file security labels, affecting access control' and how to avoid changes with --dry_run. It also notes safe failure without --allow_context, adding valuable context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (4 sentences), front-loads the purpose, and each sentence adds value: purpose, destructiveness, usage tips, and differentiation. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, safety, required flags, and related tools. Lacks details on output/return value, but given the tool's nature and no output schema, it is adequately complete for selecting and invoking.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for 7 parameters, so the baseline is 3. The description mentions --dry_run and --allow_context but doesn't add significant detail beyond the schema for other parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Plan or apply an SELinux security context to files,' specifies the resource (SELinux context) and action (plan/apply), and distinguishes from siblings by noting 'Not for general permission changes — use chmod' and referencing 'runcon'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (manage SELinux contexts), when not (permission changes), and provides alternatives (chmod, runcon). Also advises using --dry_run to preview and notes that --allow_context is required for actual execution.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chgrpA
Destructive

Change file group ownership with dry-run support. Destructive: modifies filesystem group metadata. Use --dry_run to preview changes safely. Returns JSON with operation result. Use to reassign group ownership of files. Not for changing user ownership — use 'chown'. Not for permission changes — use 'chmod'. See also 'chown', 'chmod'.

ParametersJSON Schema
NameRequiredDescriptionDefault
groupNoGroup name or numeric gid (omit when using --reference).
pathsYesPaths whose group should change.
dry_runNoReport operations without changing files.
no_followNoDo not follow symlinks where supported.
referenceNoCopy group from reference file instead of a literal group name.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Matches annotation destructiveHint=true and adds dry-run capability for safe preview, plus mentions JSON return. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences with critical info front-loaded; no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, usage, behavior, alternatives, and return format sufficiently for a tool with no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3. Description adds context about --dry_run for previewing, adding value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it changes file group ownership with dry-run support, and distinguishes from chown and chmod.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use (group ownership changes) and when not (use chown for user ownership, chmod for permissions), providing alternative tool names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chmodA
Destructive

Change file permissions using octal modes (e.g., 644, 755). Destructive: modifies filesystem permission bits. Use --dry_run to preview without changing. Returns JSON with old and new mode values. Use to control read/write/execute access. Not for ownership changes — use 'chown' or 'chgrp'. See also 'chown', 'chgrp'.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoOctal mode such as 644, 755, or 0644 (omit when using --reference).
pathsYesPaths whose mode should change.
dry_runNoReport operations without changing files.
no_followNoDo not follow symlinks where supported.
referenceNoCopy mode from reference file instead of a literal mode.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true. Description adds that it 'modifies filesystem permission bits' (confirming destructiveness) and mentions returning JSON with old and new mode values, and the --dry_run option, providing useful behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is concise: three sentences covering purpose, destructiveness, dry-run, return format, and alternatives. No unnecessary words, front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description explains the return format (JSON with old and new mode), covers destructive behavior, usage guidance, and alternatives. Complete for a tool with well-documented parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 5 parameters have full schema descriptions (100% coverage). The description repeats some schema information (e.g., octal mode examples) but does not add significant new meaning beyond what is already in the input schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Change file permissions using octal modes' as the primary action, and distinguishes from sibling tools by mentioning 'chown' and 'chgrp' for ownership changes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('control read/write/execute access'), when not to use ('Not for ownership changes'), and provides alternatives ('use 'chown' or 'chgrp'). Also mentions --dry_run for previewing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chownA
Destructive

Change file user ownership with dry-run support. Destructive: modifies filesystem ownership metadata. May require elevated privileges. Use --dry_run to preview. Returns JSON with operation result. Use to transfer file ownership between users. Not for group-only changes — use 'chgrp'. Not for permission changes — use 'chmod'. See also 'chgrp', 'chmod'.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerNoOwner spec such as UID, USER, UID:GID, or USER:GROUP (omit when using --reference).
pathsYesPaths whose owner/group should change.
dry_runNoReport operations without changing files.
no_followNoDo not follow symlinks where supported.
referenceNoCopy owner/group from reference file instead of a literal spec.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses destructive behavior ('modifies filesystem ownership metadata'), may require elevated privileges, and recommends using --dry_run to preview. Annotations only state destructiveHint: true, so description adds valuable context without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five sentences with no fluff; first sentence immediately states core function and dry-run support. Each sentence adds unique value, and the structure is front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, usage guidance, behavioral traits, and parameter hint (dry_run). No output schema exists, but description mentions JSON return. Could elaborate on owner parameter syntax but schema already does that. Sufficient for a tool with moderate complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. Description mentions dry-run support but does not add meaning beyond what the schema already provides for the parameters. No additional parameter details are given.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool changes file user ownership with dry-run support, using specific verb and resource. It distinguishes itself from siblings by mentioning 'chgrp' and 'chmod' for alternative operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides when-to-use ('transfer file ownership between users') and when-not-to-use ('Not for group-only changes ... Not for permission changes') with named alternatives ('chgrp', 'chmod').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chrootA
Destructive

Plan or run a command inside a changed root directory. Destructive: isolates command execution to a new filesystem root. May require elevated privileges. Use --dry_run to preview. Requires --allow_chroot for execution; fails safely otherwise. Use to test software in isolated environments. Not for simple directory changes — use 'cd' or path arguments on other commands. See also 'runcon'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rootYesDirectory to use as the new root.
dry_runNoReport without running the command.
timeoutNoSafety timeout for the command.
allow_chrootNoAllow a real chroot execution where supported.
command_argsNoCommand and arguments to run inside the root.
max_output_bytesNoMaximum captured stdout/stderr bytes each.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the destructiveHint annotation, the description adds important behavioral details: requires elevated privileges, dry_run preview, allow_chroot flag, and safe failure behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (4 sentences), well-structured with front-loaded purpose, and every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 6 parameters and no output schema, the description covers key behaviors (dry_run, allow_chroot, timeout, privileges) and provides sufficient context for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all 6 parameters. The description reinforces key parameters (dry_run, allow_chroot) but does not add significant semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Plan or run a command inside a changed root directory.' It provides specific verb and resource, and differentiates from simple directory changes and 'runcon'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly describes when to use ('test software in isolated environments') and when not to use ('Not for simple directory changes'), and suggests alternatives ('cd', 'path arguments', 'runcon').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cksumA
Read-only

Compute CRC32 checksums and byte counts for files or stdin. Read-only, no side effects. Returns JSON with checksum and byte count per file. Use for fast data-transmission integrity verification. Not for cryptographic security — use 'sha256sum' or 'b2sum'. See also 'sha256sum', 'md5sum', 'sum'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite checksum size path lines without a JSON envelope.
pathsNoFiles to checksum, or '-' for stdin. Defaults to stdin.
encodingNoOutput encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description declares 'Read-only, no side effects', which aligns with readOnlyHint annotation. It also clarifies return format (JSON with checksum and byte count). No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences covering purpose, safety, and usage. No wasted words, front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, description effectively explains return content and integrity verification use case. All essential aspects covered without over-elaboration.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed descriptions, so baseline is 3. Description adds context like 'or stdin' for paths but does not significantly enhance parameter meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states 'Compute CRC32 checksums and byte counts' with specific verb and resource. It distinguishes from sibling tools by mentioning alternatives like sha256sum and b2sum.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use for fast data-transmission integrity verification' and 'Not for cryptographic security — use sha256sum or b2sum', providing clear when-to-use and when-not-to-use instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commA
Read-only

Compare two sorted files line by line, returning column-tagged records (unique to file1, unique to file2, common). Read-only, no side effects. Requires pre-sorted input — use 'sort' first. Returns JSON with structured comparison results. Use to find differences and overlaps between datasets. Not for unsorted data — results are wrong without prior sorting. See also 'join', 'uniq', 'sort'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite column-tab-line text without a JSON envelope.
pathsYesTwo files to compare.
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
max_linesNoMaximum JSON records to emit.
suppress_1NoSuppress records unique to the first file.
suppress_2NoSuppress records unique to the second file.
suppress_3NoSuppress records common to both files.
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. Description adds that it returns JSON with structured comparison results and is read-only, confirming behavior. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is concise with 6 sentences, front-loaded with the main action. Some repetition of sorting requirement, but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 10 parameters, no output schema, and sibling tools, the description covers purpose, preconditions, and alternatives. Lacks detailed output format, but schema covers parameter descriptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description does not elaborate on individual parameters beyond the schema's descriptions, but the overall function is clear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it compares two sorted files line by line, returning column-tagged records (unique to file1, unique to file2, common). It distinguishes from sibling tools by mentioning alternatives like join, uniq, sort.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (finding differences/overlaps) and when not (unsorted data results wrong). Recommends using 'sort' first and references sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

coreutilsA
Read-only

List all available commands as a flat text index. Read-only, no side effects. Use --list to enumerate tool names, --raw for plain text without JSON envelope. Use for quick overview of installed commands. Not for LLM tool discovery — use 'tool-list' for structured function-calling metadata. See also 'catalog', 'tool-list'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite one command name per line without a JSON envelope.
listNoList registered command names.

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description confirms read-only and no side effects, matching annotations, and adds context about the output format being a flat text index.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four focused sentences with no redundant information, well-structured and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, usage, parameters, and alternatives thoroughly; output schema is unnecessary for this simple list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters are explained with their effects (list vs. raw output), adding value beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all available commands as a flat text index, distinguishing it from siblings like 'catalog' and 'tool-list'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (quick overview) and when not (not for structured discovery), with alternative tools named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cpA
Destructive

Copy files and directories with dry-run and overwrite protection. Destructive to destination: creates new copies on the filesystem. Overwrite protection enabled by default — use --allow_overwrite to replace existing files. Use --dry_run to preview the operation safely. Returns JSON with source and destination paths. Use to duplicate files or directories. Not for moving files — use 'mv' to relocate without copying. Not for setting permissions on copy — use 'install'. See also 'mv', 'install'.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesSource path.
dry_runNoReport operation without changing files.
parentsNoCreate missing parent directories.
recursiveNoCopy directories recursively.
destinationYesDestination path.
allow_overwriteNoAllow replacing/merging destination.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations include destructiveHint: true. The description adds that the tool is 'destructive to destination: creates new copies on the filesystem,' explains overwrite protection enabled by default, and mentions return format. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured but slightly verbose. It front-loads the main action and key features, then provides usage guidance. Could be more concise by combining some sentences, but overall readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters, no output schema, and sibling tools, the description covers all essential aspects: duplication, dry-run, overwrite protection, return JSON, and alternatives. It does not explain metadata handling, but that is acceptable for a general copy tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with all parameters described. The description adds value beyond schema by explaining that overwrite protection is enabled by default and that dry_run is for preview. However, the schema descriptions are already fairly clear, so extra context is useful but not critical.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Copy files and directories' and distinguishes from siblings 'mv' and 'install'. It also covers key features like dry-run and overwrite protection, making the purpose very clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance: 'Use to duplicate files or directories. Not for moving files — use 'mv'... Not for setting permissions — use 'install'.' It also mentions safe preview via dry-run and overwrite protection, offering clear when-to-use and when-not-to-use context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

csplitA
Destructive

Split input into multiple files at regex match points with dry-run and overwrite protection. Destructive: creates output files on the filesystem. Use --dry_run to preview split points without creating files. Returns JSON with generated filenames and record counts. Use to partition data by content patterns. Not for fixed-size splitting — use 'split' for line-count or byte-size chunks. See also 'split'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesFile to split, or '-' for stdin.
prefixNoOutput file prefix.xx
dry_runNoReport split outputs without writing files.
patternNoRegular expression; each match starts a new chunk.
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
max_splitsNoMaximum regex matches to split at; 0 means all.
output_dirNoDirectory for split outputs..
show_encodingNoInclude encoding detection metadata in JSON result.
suffix_lengthNoNumeric suffix length.
allow_overwriteNoAllow replacing existing outputs.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses destructive nature (creates files) beyond annotation's destructiveHint. Adds dry-run, overwrite protection, and JSON return details. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with purpose and key warnings. Every sentence adds value (purpose, destructive warning, dry-run, JSON return, alternative). Efficient and no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For 12-parameter tool with no output schema, description covers purpose, behavior, dry-run, overwrite protection, and return format. Missing details like encoding handling but schema covers parameters fully. Minor gap for a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description mentions dry_run and allow_overwrite in context but doesn't add significant new meaning beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool splits input files at regex match points, with specific verb and resource. It distinguishes from sibling 'split' by explicitly noting fixed-size splitting is handled elsewhere.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance: use for content-pattern partitioning, not for fixed-size; dry-run preview to avoid accidental file creation. Naming 'split' as alternative gives clear when-not-to-use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cutA
Read-only

Select specific fields, characters, or bytes from each input line. Read-only, no side effects. Returns JSON with the extracted columns by default; use --raw for plain text. Use to extract columns from tabular or delimited data. Not for replacing characters — use 'tr' for translation/deletion. Not for merging columns — use 'paste'. See also 'paste', 'tr'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite plain transformed text to stdout.
bytesNo1-based byte ranges like '1,3-5'.
charsNo1-based character ranges like '1,3-5'.
pathsNoFiles to read, or '-' for stdin. Defaults to stdin.
fieldsNo1-based field ranges like '1,3-5'.
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
delimiterNoField delimiter.
max_linesNoMaximum JSON lines to emit.
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.
output_delimiterNoDelimiter for selected fields.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds value beyond the readOnlyHint annotation by disclosing default output format (JSON) and the --raw option for plain text. It also states 'Read-only, no side effects', which reinforces the annotation. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficient and well-structured: 5 sentences, each serving a clear purpose. It front-loads the main action and then provides usage guidelines and exclusions. No redundant or unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (12 parameters, no output schema), the description covers essential aspects: purpose, usage guidelines, output format, and behavioral traits. It does not duplicate schema details and provides enough context for correct invocation. Minor omission: could mention delimiter defaults, but schema already does.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all 12 parameters with descriptions (100% coverage). The description does not add parameter-specific semantics but provides an overview. Baseline score of 3 is appropriate as the schema handles parameter details adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Select specific fields, characters, or bytes from each input line.' It uses specific verbs and identifies the input resource, distinguishing it from siblings by explicitly stating what it is not for (replacing characters, merging columns) and naming alternatives 'tr' and 'paste'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use ('extract columns from tabular or delimited data') and when not to use ('not for replacing characters', 'not for merging columns'), providing clear alternatives like 'tr' and 'paste'. It also directs to 'see also' for related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dateA
Read-only

Return current system time or parse a supplied date string as structured JSON. Read-only, no side effects. Returns JSON with ISO 8601 timestamp and timezone-aware fields. Use to query the system clock or validate date strings in agent workflows. Not for measuring elapsed time — use 'uptime' for system runtime or combine 'date' with arithmetic. See also 'uptime'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite formatted time without a JSON envelope.
utcNoUse UTC.
formatNostrftime format string.
iso_8601NoISO output precision.seconds
timestampNoUnix timestamp to format instead of current time.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description claims 'parse a supplied date string' but input schema has no string parameter, which is misleading. Annotations provide readOnlyHint=true and description adds no side effects, but functionality discrepancy lowers score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise, front-loaded with primary purpose, uses efficient multi-sentence format without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Explains output format (JSON with ISO 8601, timezone-aware) and main uses, but does not clarify the lack of a parse string parameter. No output schema present, but description partially compensates.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all 5 parameters. Description provides overall context but no additional detail per parameter beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Return current system time or parse a supplied date string as structured JSON' with a specific verb and resource. It distinguishes from sibling 'uptime' by mentioning not for elapsed time.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use (query system clock, validate date strings) and when not to (not for measuring elapsed time, use 'uptime' instead). Names alternative 'uptime'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ddA
Destructive

Copy and convert data blocks between input and output with bounded preview and dry-run support. Destructive to output: writes data to the destination file. Use --dry_run to preview the operation. Returns JSON with bytes read/written and throughput. Use for block-level data copying and format conversion. Not for simple file copying — use 'cp' for files and directories. See also 'cp', 'truncate'.

ParametersJSON Schema
NameRequiredDescriptionDefault
bsNoBlock size in bytes.
rawNoWrite selected input bytes without a JSON envelope.
convNoComma-separated conversions: notrunc, noerror, fsync, sync.
seekNoOutput blocks to seek before writing.
skipNoInput blocks to skip.
countNoNumber of input blocks to copy.
inputNoInput file, or '-' for stdin.-
outputNoOutput file, or '-' for stdout/no file output.-
dry_runNoReport without writing output.
parentsNoCreate missing output parent directories.
operandsNoGNU-style key=value operands (if=, of=, bs=, count=, ...).
allow_overwriteNoAllow replacing an existing output file.
max_preview_bytesNoMaximum JSON preview bytes.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description aligns with annotations (destructiveHint: true) by noting 'Destructive to output'. Adds context beyond annotations: mentions dry-run, returns JSON with throughput, and block-level behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is concise with 4 sentences, front-loads core purpose, and every sentence adds value. No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool complexity (13 params, no output schema), the description covers purpose, usage guidance, return format, and behavioral expectations. Could briefly mention conversion options but schema covers them.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. Description does not add substantial parameter-level detail beyond schema, but mentions '--dry_run' and 'bounded preview' which provide minor additional context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool copies and converts data blocks between input and output, adding 'bounded preview and dry-run support' for specificity. It distinguishes from sibling 'cp' by noting it is for block-level copying, not simple file copying.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (block-level data copying and format conversion) and when not to use (simple file copying, refer to 'cp'). Provides alternatives: 'cp' and 'truncate'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dfA
Read-only

Return disk space usage for mounted filesystems as JSON. Read-only, no side effects. Returns JSON with total, used, available, and usage percentage per filesystem. Use to check free space and monitor storage across mount points. Not for per-directory usage — use 'du' for directory-level detail. See also 'du'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsNoPaths to inspect. Defaults to current directory.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. Description confirms 'Read-only, no side effects' and adds details on return fields (total, used, available, usage percentage), providing context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose, no wasted words. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one optional parameter and no output schema, the description explains the return structure and usage context completely, including a note about alternative tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the one parameter, so baseline is 3. Description does not add meaning beyond what schema already provides for 'paths'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns disk space usage for mounted filesystems as JSON, using specific verbs and resource. It distinguishes from sibling tool 'du' by noting it is not for per-directory usage.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use ('check free space and monitor storage across mount points') and when not to ('not for per-directory usage'), with named alternative ('use du for directory-level detail').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dirA
Read-only

List directory contents in column-aligned format — alias for 'ls' producing structured JSON. Read-only, no side effects. Supports recursive depth, hidden files, symlink following, streaming (NDJSON), and result limiting. Returns per-entry metadata: type, size, permissions, modification time. Use for clean tabular directory listings. Prefer 'dir' over 'ls' when column-aligned output is desired; prefer 'ls' for default list format. Not for extended metadata — use 'vdir' for verbose output or 'stat' for single-file detail. See also 'ls', 'vdir', 'stat'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoFile or directory to list..
limitNoMaximum entries to emit.
streamNoEmit NDJSON one entry per line for large directories.
max_depthNoMaximum recursive depth.
recursiveNoRecurse into directories.
include_hiddenNoInclude names starting with '.'.
follow_symlinksNoFollow symlinked directories.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so description adds value by stating 'Read-only, no side effects' and mentioning streaming, result limiting, and output metadata. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with main purpose; additional details follow. Could be slightly more concise but remains informative and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers main features (recursive, hidden, symlinks, streaming, limit) and mentions returned metadata. No output schema, but description compensates adequately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. Description mentions support for recursive depth, hidden files, etc., but does not add new parameter meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Directly states it lists directory contents in column-aligned format, and notes it is an alias for 'ls' producing structured JSON. Clearly differentiates from siblings like 'ls', 'vdir', 'stat'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises when to use 'dir' over 'ls', and when to use 'vdir' or 'stat' instead. Provides clear contextual guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dircolorsA
Read-only

Return LS_COLORS configuration mapping file types to ANSI color codes. Read-only, no side effects. Returns JSON with the color mapping; color output disabled by default for agent-friendly display. Use to inspect how the shell colors file listings. Not for actual directory listing — use 'ls' or 'dir'. See also 'ls'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite shell configuration without a JSON envelope.
shellNoRaw shell format.bash

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, and description confirms 'Read-only, no side effects'. Additionally, it discloses 'color output disabled by default for agent-friendly display', adding behavioral context beyond the annotation. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise (4 sentences), front-loaded with purpose, and every sentence adds value. No redundant or wasted wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool, good annotations, and full schema coverage, the description adequately explains output format and default behavior. Complete for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters. The description does not add further parameter details, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns LS_COLORS configuration mapping file types to ANSI color codes. It distinguishes from siblings by explicitly noting it is not for actual directory listing, directing to 'ls' or 'dir'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance: 'Use to inspect how the shell colors file listings' and warns 'Not for actual directory listing — use ls or dir' with a reference to 'ls'. This clarifies when to use and alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dirnameA
Read-only

Return the parent directory portion of file paths, stripping the final component. Read-only, no side effects. Returns JSON with the directory path. Use to extract directory prefixes from full paths. Not for extracting the filename — use 'basename' for the final component. See also 'basename', 'realpath'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite one dirname per line without a JSON envelope.
pathsYesPaths to transform.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. Description adds 'Read-only, no side effects' and 'Returns JSON with the directory path,' providing useful behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences with front-loaded purpose. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, description notes return format (JSON with directory path). Also provides usage guidance and sibling references, making it complete for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description does not add additional parameter details beyond what schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the purpose: 'Return the parent directory portion of file paths, stripping the final component.' It uses a specific verb+resource and distinguishes from sibling tool 'basename'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use to extract directory prefixes from full paths. Not for extracting the filename — use 'basename' for the final component.' Also references 'basename' and 'realpath' as alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

duA
Read-only

Estimate file and directory space usage recursively as JSON. Read-only, no side effects (stat-only, does not write). Returns JSON with per-directory byte counts. Use to find space-consuming directories and files. Not for filesystem-level overview — use 'df' for mounted filesystem totals. See also 'df', 'stat'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsNoPaths to measure. Defaults to current directory.
max_depthNoMaximum recursion depth.
follow_symlinksNoFollow symlinked directories.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds that it is read-only, stat-only, no side effects, returns JSON with per-directory byte counts. Annotation readOnlyHint=true is confirmed and expanded with behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences, front-loaded with purpose and behavior, no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description explains the output (JSON with per-directory byte counts). For a simple tool with full annotations and schema, the description is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3. The description does not add meaning beyond the schema; it does not describe parameters or their semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool estimates file and directory space usage recursively as JSON, and distinguishes it from 'df' for filesystem-level overview. Specific verb and resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use (find space-consuming directories/files) and when not (not for filesystem-level overview, use 'df'). Names sibling tools 'df' and 'stat' as alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

echoA
Read-only

Output provided text as JSON. Read-only, no side effects. Returns JSON with the echoed text by default; use --raw for plain text output. Use to display values or construct output strings in agent pipelines. Not for formatted output — use 'printf' for precise format control with conversion specifiers. See also 'printf'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite echo text without a JSON envelope.
wordsNoWords to emit.
escapesNoInterpret common backslash escapes.
encodingNoOutput encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
no_newlineNoDo not append a newline.
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the description does not repeat that. It adds useful context about returning JSON by default and the --raw option, but does not detail all behaviors like encoding or escape handling, which are covered in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, front-loaded with the core purpose and side effects, and includes a clear note about alternative tool. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters and no output schema, the description covers the main behavior (echo text as JSON) and key variant (--raw). It mentions no side effects and sibling tool. The schema covers the rest, so the description is sufficiently complete for an agent to decide usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description only adds context for the 'raw' parameter (plain text vs JSON) but does not elaborate on other parameters, which are already described in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool outputs provided text as JSON, distinguishes itself from sibling 'printf' by specifying it is not for formatted output. It also mentions the default JSON envelope and --raw flag for plain text.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use: to display values or construct output strings in agent pipelines. Also tells when not to use: for formatted output, recommending 'printf' instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

envA
Read-only

Return all environment variables or filter by name pattern as structured JSON. Read-only, no side effects. Returns JSON with key-value pairs of environment variables. Use to inspect the execution context available to child processes. Not for querying a single variable by exact name — use 'printenv' for direct lookup. See also 'printenv'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite KEY=VALUE lines without a JSON envelope.
namesNoOptional variable names to include.

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark readOnlyHint=true; description adds 'no side effects' and specifies return format (JSON key-value pairs). No contradictions, but adds moderate value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with core purpose, then read-only note, return format, usage context, and alternative guidance. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with 2 optional params and no output schema, the description covers purpose, usage, return format, and sibling differentiation. Complete given the context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for both parameters. Description mentions optional filtering, though 'name pattern' could be clarified as exact names. Still adds useful context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool returns environment variables as structured JSON, with option to filter by name. Distinguishes from sibling 'printenv' by specifying when to use the alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use ('inspect execution context') and when not to ('not for single exact name lookup'), providing a direct alternative ('printenv').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

expandA
Read-only

Convert tab characters to spaces in files or stdin. Read-only, no side effects (does not modify files). Returns JSON with the converted text by default; use --raw for plain output. Use configurable tab stops to control spacing. Use to normalize indentation to spaces. Not for converting spaces to tabs — use 'unexpand' for the reverse operation. See also 'unexpand'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite expanded text without a JSON envelope.
tabsNoTab stop width.
pathsNoFiles to read, or '-' for stdin. Defaults to stdin.
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
max_linesNoMaximum JSON lines to emit.
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explicitly states 'Read-only, no side effects (does not modify files)', which aligns with the readOnlyHint annotation and adds details about output format (JSON envelope by default, raw with --raw) that go beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with five sentences, each serving a purpose: core function, read-only guarantee, output format, usage guidance, and alternative tool. Information is front-loaded and no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters and no output schema, the description covers the main purpose, safety, and alternative tool. It does not detail all parameters, but the schema does. It could mention encoding options briefly, but the schema compensates.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds context about configurable tab stops, raw mode, and default storage (stdin), which adds meaning beyond the schema's field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool converts tab characters to spaces in files or stdin, using the verb 'convert' and specifying the resource. It distinguishes from the sibling tool 'unexpand' by noting the reverse operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells when to use the tool (normalize indentation to spaces) and when not to (for converting spaces to tabs, use 'unexpand'). It also mentions reading from stdin vs files and the choice of JSON or raw output.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

exprA
Read-only

Evaluate arithmetic and string expressions in a safe, side-effect-free AST subset. Read-only, no side effects. Supports +, -, *, /, % (arithmetic), comparisons, regex matching, and string operations. Returns JSON with the computed result. Use for calculations and conditional logic in agent workflows. Not for file-based predicate tests — use 'test' or '[' for path checks. See also 'test', 'factor'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite the expression value without a JSON envelope.
tokensYesExpression tokens, for example: 1 + 2 or 3 '>' 2.
exit_codeNoReturn exit code 1 when the result is false/zero/empty.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond readOnlyHint annotation, details safe AST subset, supported operators, and return format as JSON. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise yet informative; each sentence adds value. Front-loaded with main purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complete for a tool with 3 params and no output schema: covers purpose, usage, limitations, alternatives, and return format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so description adds little beyond schema for parameters. However, overall context of supported operations implicitly informs token usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it evaluates arithmetic and string expressions. Distinguishes from sibling tools like 'test' and '[' for file-based checks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use for calculations and conditional logic, and not for file-based predicate tests, directing to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

factorA
Read-only

Compute the prime factorization of given non-negative integers. Read-only, no side effects. Returns JSON with an array of prime factors for each input number. Use to decompose integers into prime components. Not for general arithmetic — use 'expr' for calculations. See also 'expr'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite factor lines without a JSON envelope.
numbersNoIntegers to factor. Defaults to whitespace tokens from stdin.
max_valueNoSafety cap for absolute input values.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the description repeats 'Read-only, no side effects.' It adds value by specifying the JSON return format. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste. All information is relevant and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple computational tool, the description covers purpose, usage, safety cap, and output format. No output schema needed; return format is described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description does not add parameter-specific details beyond the schema descriptions, meeting the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes prime factorization of non-negative integers, specifies output format (JSON array of prime factors), and distinguishes from sibling 'expr' by noting it is not for general arithmetic.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use ('decompose integers into prime components') and when not ('not for general arithmetic'), and points to alternative ('use 'expr' for calculations').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

falseA
Read-only

Exit with status 1 (failure). Idempotent: always returns code 1, takes no arguments, has zero side effects. Returns JSON error envelope indicating failure on stderr. Use to explicitly signal error or failure conditions in scripts and agent flows. Not for a no-op success — use 'true'. See also 'true'.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Describes idempotency, zero side effects, constant return code, and output on stderr. Annotations only provide readOnlyHint, so description adds significant behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each adding value: core purpose, behavioral details, usage guidance. Front-loaded with essential info, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, no output schema, and simple behavior, the description covers purpose, usage, behavior, side effects, and alternatives. Complete for this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, and description confirms this. Baseline for 0 params is 4; no additional parameter semantics needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool exits with status 1 (failure) and distinguishes it from sibling 'true'. It specifies the verb 'exit' and the resource 'status 1', making purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (signal error/failure conditions) and when not to use (not for success, use 'true'). References sibling tool 'true' for alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fmtA
Read-only

Reflow paragraphs to a target character width, preserving paragraph boundaries (blank-line separated). Read-only, no side effects. Returns JSON with reflowed text by default; use --raw for plain output. Use to reformat prose without breaking paragraph structure. Not for hard line wrapping — use 'fold' to break at exact character positions without paragraph awareness. See also 'fold'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite formatted text without a JSON envelope.
pathsNoFiles to format, or '-' for stdin. Defaults to stdin.
widthNoMaximum output line width.
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
max_linesNoMaximum JSON lines to emit.
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states 'Read-only, no side effects,' which aligns with the annotation readOnlyHint=true. It also explains the output format: 'Returns JSON with reflowed text by default; use --raw for plain output.' This adds context beyond the annotation, though the annotation already covers the read-only aspect.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with front-loaded main action, safety, output format, and usage guidance. Every sentence adds value; no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters and no output schema, the description explains the output format and basic usage. It does not detail all parameters, but the schema itself is fully documented. The description provides sufficient context for an agent to understand the tool's purpose and behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all 8 parameters, so the description does not need to re-iterate parameter details. The description mentions the --raw flag and default output, but does not add significant meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Reflow paragraphs to a target character width, preserving paragraph boundaries.' It distinguishes from the sibling tool 'fold' by noting that this tool is for reformatting prose without breaking paragraph structure, while 'fold' does hard line wrapping.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use the tool ('Use to reformat prose without breaking paragraph structure') and when not ('Not for hard line wrapping — use 'fold'...'). It also references the sibling tool 'fold' as an alternative, providing clear guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

foldA
Read-only

Wrap long input lines at a fixed character width, breaking at exact positions. Read-only, no side effects. Returns JSON with wrapped text by default; use --raw for plain output. Use for display-constrained formatting or terminal-width adaptation. Not for paragraph-aware reflowing — use 'fmt' to preserve paragraph structure. See also 'fmt'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite folded text without a JSON envelope.
pathsNoFiles to fold, or '-' for stdin. Defaults to stdin.
widthNoMaximum line width.
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
max_linesNoMaximum JSON lines to emit.
break_wordsNoBreak words longer than the width.
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explicitly states 'Read-only, no side effects', which is consistent with the readOnlyHint annotation. It also discloses default output format (JSON) and the availability of raw output via --raw, adding context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences plus a usage note, packing essential information without waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 9 parameters and no output schema, the description covers core purpose, usage context, and output format. It could be slightly more complete by mentioning encoding fallbacks, but overall it is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed parameter descriptions. The description adds minimal extra meaning beyond mentioning the 'raw' flag behavior and the default width, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool wraps long input lines at a fixed width, and explicitly distinguishes itself from the sibling 'fmt' by noting it does not do paragraph-aware reflowing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use (display-constrained formatting, terminal-width adaptation) and when-not-to-use (not for paragraph reflowing), and names the alternative tool 'fmt'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ginstallA
Destructive

Copy files and set attributes like permissions and ownership — GNU-compatible alias for 'install'. Destructive: creates or overwrites target files, creates directories with --directory/--parents, and changes file metadata. Default mode is 755. Use --dry_run to preview without touching the filesystem. Returns JSON with installation paths and status. Use when GNU install semantics or BSD-compatible behavior is needed. Not for simple copying — use 'cp' for copying without permission setting. Not for the standard install interface — use 'install'. See also 'install', 'cp'.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoOctal mode applied to installed paths.755
pathsNoSOURCE DESTINATION, or directories with --directory.
dry_runNoReport operations without changing files.
parentsNoCreate missing parent directories.
directoryNoCreate directories instead of installing a file.
allow_overwriteNoAllow replacing an existing destination.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide destructiveHint=true. The description adds behavioral context: default mode 755, --dry_run preview, return format (JSON with paths and status), and details on overwriting and directory creation. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (4 sentences) and front-loaded with the main action. Minor redundancy (e.g., 'Destructive' is already in annotations) but still efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters, full schema coverage, no output schema, the description covers return format and key behaviors (dry_run, default mode). Could be more complete on error handling or edge cases, but adequately supports usage decisions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds minimal parameter-specific info (default mode, --dry_run usage) but does not significantly augment the schema definitions for each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Copy files and set attributes like permissions and ownership' and identifies it as a GNU-compatible alias for 'install'. It distinguishes from siblings by specifying it's for GNU/BSD semantics and contrasting with 'cp' and 'install'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance is provided: 'Use when GNU install semantics or BSD-compatible behavior is needed. Not for simple copying — use 'cp'... Not for the standard install interface — use 'install'.' This clearly defines when and when not to use, with specific alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

groupsA
Read-only

Return group names and IDs for a specified user or the current process. Read-only, no side effects. Returns JSON with group list. Use to verify group membership for access control decisions. Not for full user identity inspection — use 'id' for UID/GID plus all groups. Not for current username — use 'whoami'. See also 'id', 'whoami'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite group names/ids without a JSON envelope.
userNoUser name label for the result. Current user by default.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, but description adds context: states 'Read-only, no side effects' and specifies return format 'Returns JSON with group list', which is useful beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured, front-loaded with core purpose. Six sentences informative but slightly verbose; could be tightened without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, description explains return format (JSON with group list). Covers purpose, usage, limitations, and alternatives, providing a complete picture for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (both parameters described). Description implies 'user' parameter optiional via 'specified user or the current process', but does not add significant meaning beyond schema defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it returns group names and IDs for a specified user or current process. Distinguishes from siblings by explicitly contrasting with 'id' and 'whoami'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use (verify group membership for access control) and when not to (use 'id' for full identity, 'whoami' for username). References alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hashA
Read-only

Compute hash digests of files or stdin with selectable algorithm (MD5, SHA-1, SHA-2, BLAKE2b). Read-only, no side effects. Returns JSON with per-file digests and byte counts. Use when you need flexible algorithm selection from a single tool. Not for fixed-algorithm workflows — use dedicated tools ('md5sum', 'sha256sum', 'b2sum') for consistent output. See also 'md5sum', 'sha256sum', 'b2sum'.

ParametersJSON Schema
NameRequiredDescriptionDefault
checkNoRead checksums from FILE(s) and verify them.
pathsNoFiles to hash, or '-' for stdin (omit with --check).
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
algorithmNoHash algorithm.sha256
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds 'Read-only, no side effects' aligning with readOnlyHint annotation, and describes output as 'JSON with per-file digests and byte counts'. This is beyond annotations, though more detail on error handling could be included.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five sentences with every sentence earning its place: purpose, safety, output, usage guidelines, and references. Front-loaded with essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, safety, output format, and usage guidance. With full schema coverage and no output schema, the description compensates well. Complex encoding parameters are in schema, so complete enough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage, so description adds minimal parameter semantics beyond mentioning 'selectable algorithm' and stdin support. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Compute hash digests' with specific algorithms (MD5, SHA-1, SHA-2, BLAKE2b) and distinguishes from sibling tools like md5sum, sha256sum, b2sum.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use when you need flexible algorithm selection' and 'Not for fixed-algorithm workflows — use dedicated tools', providing clear when-to-use and when-not-to-use guidance with named alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hostidA
Read-only

Return a deterministic host identifier in hexadecimal format. Read-only, no side effects. Returns JSON with the host ID. Use for stable machine identification. Not for the human-readable hostname — use 'hostname'. Not for full system info — use 'uname'. See also 'hostname', 'uname'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite host id hex without a JSON envelope.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true; description adds that it is read-only with no side effects, and specifies return format (JSON), providing moderate added value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences front-load the core functionality and use cases with no extraneous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and simple parameter, the description adequately covers return format, behavior, and usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description does not elaborate on the 'raw' parameter beyond the schema, meeting baseline but not adding extra meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns a deterministic host identifier in hexadecimal format, and explicitly distinguishes from hostname and uname tools, which are siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit guidance: use for stable machine identification, not for hostname or full system info, and references alternatives 'hostname' and 'uname'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hostnameA
Read-only

Return the system hostname as JSON. Read-only, no side effects. Returns JSON with the hostname string. Use to identify the machine in network contexts. Not for numeric host ID — use 'hostid'. Not for full system info — use 'uname'. See also 'hostid', 'uname'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite hostname without a JSON envelope.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

States read-only and no side effects, consistent with annotations. Provides output format. Minor gap: no explicit behavior for raw parameter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise, front-loaded with core purpose, every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complete for a simple read-only tool: covers purpose, usage, exclusions, and output format. No output schema needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage 100% and schema describes 'raw' parameter clearly. Description adds no extra parameter insight beyond output context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it returns the system hostname as JSON, distinguishing it from 'hostid' and 'uname'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use for identifying the machine in network contexts, and not to use for numeric host ID or full system info, with alternative tool names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

idA
Read-only

Return user identity information: UID, GID, username, and all group memberships as JSON. Read-only, no side effects. Returns JSON with full user identity. Use for comprehensive user identity inspection and access control auditing. Not for quick username check — use 'whoami'. Not for just group listing — use 'groups'. See also 'whoami', 'groups'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite compact identity text without a JSON envelope.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

States 'Read-only, no side effects' which aligns with readOnlyHint annotation. Adds that output is JSON with full identity. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose. Slight redundancy ('Returns JSON with full user identity' repeats earlier info) but efficient overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, usage boundaries, parameter behavior, and alternatives. No gaps given tool's simplicity and available annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Parameter 'raw' already fully described in schema (100% coverage). Description repeats schema wording without adding new semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Return user identity information' with specific fields (UID, GID, username, group memberships). Distinctly separates from siblings 'whoami' and 'groups' by specifying scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use (comprehensive inspection, access control auditing) and when not (quick username check, group listing). Names alternatives ('whoami', 'groups').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

installA
Destructive

Copy files and set attributes (permissions, ownership) to destination. Destructive: creates files and directories, overwrites existing targets with --allow_overwrite, sets mode (default 755). Use --dry_run for safe preview. Returns JSON with installation paths and status. Use for software deployment scripts and Makefile install targets. Not for simple file copying without permission changes — use 'cp'. Not for GNU-install-compatible behavior — use 'ginstall'. See also 'cp', 'ginstall'.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoOctal mode applied to installed paths.755
pathsNoSOURCE DESTINATION, or directories with --directory.
dry_runNoReport operations without changing files.
parentsNoCreate missing parent directories.
directoryNoCreate directories instead of installing a file.
allow_overwriteNoAllow replacing an existing destination.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, but the description elaborates on what destructive entails: creates files/dirs, overwrites with --allow_overwrite, default mode 755. Also mentions return JSON with paths and status, adding value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise, front-loaded with core functionality, and every sentence adds value. No redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers all aspects: purpose, usage, behavior, parameters, return format, and alternatives. No missing context for a complex tool with 6 parameters and no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds context beyond schema: default mode 755, path interpretation as SOURCE DESTINATION, and the role of --allow_overwrite. While helpful, it doesn't drastically extend meaning; thus 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool copies files and sets attributes (permissions, ownership), distinguishing itself from siblings like 'cp' and 'ginstall'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly recommends usage for software deployment and Makefile install targets, and warns against misuse for simple copying (use 'cp') or GNU-install compatibility (use 'ginstall'). Also suggests --dry_run for safe preview.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

joinA
Read-only

Join two sorted files on a common field (default: first whitespace-separated field), performing an inner join. Read-only, no side effects. Requires pre-sorted input — use 'sort' first. Returns JSON with joined records. Use to combine related datasets by key. Not for unsorted input — results are wrong without prior sorting. Not for side-by-side merging without key matching — use 'paste'. See also 'paste', 'comm', 'sort'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite joined text without a JSON envelope.
pathsYesTwo files to join.
field1No1-based join field for the first file.
field2No1-based join field for the second file.
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
delimiterNoInput delimiter. Defaults to any whitespace.
max_linesNoMaximum JSON records to emit.
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.
output_delimiterNoDelimiter for output fields.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, and description confirms 'Read-only, no side effects'. Adds context about output format (JSON) and the necessity of sorted input. Could mention max_lines or performance limits, but overall transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five concise sentences, front-loaded with core purpose and constraints. No wasted words. Well-structured for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, description mentions JSON output. Covers key preconditions, alternatives, and warnings. Could detail output structure, but adequate for a standard join tool given sibling context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema provides 100% coverage with descriptions. The description adds context about default join field and pre-sorting, but does not elaborate on individual parameters. Baseline of 3 is appropriate as schema handles documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool joins two sorted files on a common field (default: first whitespace-separated field), performing an inner join. It distinguishes from similar tools like paste and comm, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states requirement for pre-sorted input and warns against unsorted input. Provides alternatives ('use sort first', 'use paste' for side-by-side merging). Clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

killA
Destructive

Plan or send a signal to a process by PID. Potentially destructive: can terminate or alter process execution. Use --dry_run to preview the signal without sending. Requires --allow_signal for actual signal delivery; fails safely otherwise. Use to signal, terminate, or restart processes in agent workflows. Not for process listing — use 'ps' or 'pidof' externally. See also 'nohup'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pidsYesProcess ids to signal.
signalNoSignal name or number.TERM
dry_runNoReport without signaling.
allow_signalNoAllow sending real signals.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond destructiveHint annotation, describes destructive potential ('can terminate or alter process execution') and safety features: 'Use --dry_run to preview the signal without sending. Requires --allow_signal for actual signal delivery; fails safely otherwise.'

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five concise sentences, front-loaded with main purpose, no redundant information. Every sentence contributes value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, safety, usage, and alternatives well. Lacks details on return values or error behavior, but output schema is absent so not required. Minor gap for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% so baseline is 3. Description adds integrative context on using dry_run and allow_signal together, but does not elaborate on signal names or format beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States 'Plan or send a signal to a process by PID' with clear verb and resource. Distinguishes from sibling tools: 'Not for process listing — use ps or pidof externally. See also nohup.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use ('signal, terminate, or restart processes in agent workflows') and when not to ('Not for process listing'). Provides alternative tools (ps, pidof, nohup) and mentions dry_run and allow_signal safety options.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lnA
Destructive

Create hard or symbolic links with dry-run and overwrite protection. Destructive: creates filesystem links. Use --symbolic for symlinks (cross-filesystem, can point to directories). Overwrite protection enabled by default. Use --dry_run to preview. Returns JSON with link path and type. Use for creating filesystem aliases. Not for hard-link-only operations — use 'link' for guaranteed hard links. Not for copying — use 'cp'. See also 'link', 'cp'.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesSource path or symlink target.
dry_runNoReport operation without changing files.
parentsNoCreate missing parent directories.
symbolicNoCreate a symbolic link.
destinationYesLink path to create.
allow_overwriteNoAllow replacing an existing destination.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description reveals destructive nature ('creates filesystem links') consistent with destructiveHint annotation. Adds details on overwrite protection (default enabled), dry-run preview, and JSON return format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise (3 sentences) with no wasted words. Front-loaded with key purpose and options.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, description states return value format. All 6 parameters are covered in schema and description adds behavioral context. Complete for a link-creation tool with clear annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but description adds meaning beyond schema by explaining --symbolic for cross-filesystem/directory symlinks, default overwrite protection behavior, and dry-run purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create hard or symbolic links' and distinguishes from sibling tools like 'link' and 'cp' by specifying use cases and exclusions. It uses specific verbs and resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance on when to use (filesystem aliases) and when not (hard-link-only operations use 'link', copying use 'cp'). Also mentions dry-run and overwrite protection options.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lognameA
Read-only

Return the original login name of the current user (unaffected by su/sudo). Read-only, no side effects. Returns JSON with the login name. Use to determine the original session identity bypassing privilege escalation. Not for the effective user ID — use 'whoami'. See also 'whoami', 'id'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite logname without a JSON envelope.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds 'Read-only, no side effects' and 'unaffected by su/sudo' beyond the readOnlyHint annotation, providing valuable behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with four short sentences, front-loaded with the core purpose, and no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no required parameters, one boolean param, and no output schema, the description covers purpose, behavior, usage, and alternatives completely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers the single parameter (raw) with a description. The main description does not add extra parameter details, so baseline 3 is appropriate given 100% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the original login name unaffected by su/sudo, and explicitly distinguishes it from 'whoami' and 'id'. It uses specific verbs and resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on when to use (determine original session identity) and when not to (for effective user ID, use 'whoami'), and suggests alternatives ('id').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lsA
Read-only

List directory contents as structured JSON with per-entry metadata (type, size, permissions, modification time). Read-only, no side effects. Supports recursive depth, hidden file inclusion, symlink following, result limiting, and NDJSON streaming for large directories. Use for programmatic directory inspection. Not for column-aligned output — use 'dir'. Not for verbose metadata — use 'vdir'. Not for single-file detail — use 'stat'. See also 'dir', 'vdir', 'stat'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoFile or directory to list..
limitNoMaximum entries to emit.
streamNoEmit NDJSON one entry per line for large directories.
max_depthNoMaximum recursive depth.
recursiveNoRecurse into directories.
include_hiddenNoInclude names starting with '.'.
follow_symlinksNoFollow symlinked directories.

TDQS

A4.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Declares read-only and no side effects, consistent with readOnlyHint annotation. Could add more about symlink following but adequately covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no fluff, front-loaded with core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters and no output schema, description fully covers tool's purpose, behavior, and usage scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters; description adds context like NDJSON streaming and recursive depth limits.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists directory contents as structured JSON with per-entry metadata, distinguishing it from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (programmatic inspection) and when not to, listing alternatives like dir, vdir, stat.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

md5sumA
Read-only

Compute MD5 hash digests of files or stdin. Read-only, no side effects. Returns JSON with per-file hash values and byte counts. Use for fast non-cryptographic integrity checks and data deduplication. Not for security or cryptographic verification — MD5 is collision-broken; use 'sha256sum' or 'b2sum' for security. See also 'sha256sum', 'hash'.

ParametersJSON Schema
NameRequiredDescriptionDefault
checkNoRead checksums from FILE(s) and verify them.
pathsNoFiles to hash, or '-' for stdin (omit with --check).
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Confirms read-only, no side effects, matching annotations. Discloses output format (JSON with hash values and byte counts) and warns about MD5 security weakness, adding value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with action. No redundant information; each sentence serves a purpose: action, nature, output, usage guidance, and warnings.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters (all described in schema) and no output schema, the description adequately explains output and use cases. Provides critical security warning and links to alternatives, making it complete for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds context like 'or '-' for stdin' and 'Read checksums from FILE(s) and verify them', improving understanding beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specifies action 'Compute MD5 hash digests' with resource 'files or stdin'. Distinguishes from siblings by noting security differences and naming alternatives like sha256sum and b2sum.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('fast non-cryptographic integrity checks, data deduplication') and when not to use ('Not for security or cryptographic verification'). Recommends alternative tools for security.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkdirA
Destructive

Create directories with parent-directory creation and dry-run support. Destructive: creates new directories on the filesystem. Use --dry_run to preview without creating. Use --parents to auto-create intermediate directories. Use --mode to set permissions. Returns JSON with created paths. Fails safely if the path already exists (unless forced). Use to create directory structures. Not for removing directories — use 'rmdir' for empty directories or 'rm' for non-empty. Not for temporary directories — use 'mktemp' for unique temp paths. See also 'rmdir', 'mktemp', 'touch'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsYesDirectories to create.
dry_runNoReport operations without changing files.
parentsNoCreate missing parents.
exist_okNoDo not fail if a directory exists.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description states 'Destructive: creates new directories on the filesystem', aligning with annotations. It also discloses behavior: 'Fails safely if the path already exists (unless forced)' and mentions return format ('Returns JSON with created paths'). However, it incorrectly references '--mode' which does not exist in the input schema, slightly reducing transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is multi-sentence but well-structured, starting with the core action and features. It is front-loaded with main purpose and follows with usage, safety, and alternatives. Some redundancy (e.g., 'Use --dry_run' and 'Use --parents' could be more compact) but remains efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters and no output schema, the description covers purpose, safety, and alternatives, but misses explaining the 'exist_ok' parameter clearly (only hints at 'unless forced'). The incorrect mention of '--mode' also detracts from completeness. It does not fully compensate for the lack of output schema beyond a brief mention.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all parameters. Description adds context for 'dry_run' and 'parents' but introduces a non-existent '--mode' parameter, which could mislead the agent. It provides return format details not in schema, but overall adds marginal value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create directories' with specific features like parent-directory creation and dry-run support. It distinguishes from siblings by explicitly naming alternatives for removal ('rmdir', 'rm') and temporary directories ('mktemp').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit usage instructions: 'Use --dry_run to preview', 'Use --parents to auto-create', and 'Use --mode to set permissions'. Clearly states when not to use the tool by directing to alternatives: 'Not for removing directories ... use rmdir', 'Not for temporary directories ... use mktemp'. Also lists related tools in 'See also'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkfifoA
Destructive

Create named pipes (FIFOs) for inter-process communication. Destructive: creates a special file that blocks readers until a writer connects (and vice versa). Fails safely if the path already exists (idempotent). Use --dry_run to preview without touching the filesystem. Use --mode to set permissions (default 666). Use --parents to auto-create missing parent directories. Returns JSON with the created path, mode, and status on success; on error, returns structured JSON with exit code and error message on stderr. Use when you need a FIFO pipe for shell-style IPC between processes. Not for creating regular files — use 'touch'. Not for regular directories — use 'mkdir'. Not for device nodes — use 'mknod'. See also 'mknod', 'mkdir', 'touch'.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoOctal mode such as 600 or 666.666
pathsYesFIFO paths to create.
dry_runNoReport operations without changing files.
parentsNoCreate missing parent directories.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Describes destructive behavior: 'creates a special file that blocks readers until a writer connects (and vice versa).' Also mentions idempotency: 'Fails safely if the path already exists.' The annotation destructiveHint=true is supported and added context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is a single paragraph but concise (5 sentences) with most important info at the start. Could be slightly more structured (e.g., bullet points) but remains effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema provided, yet description explains return values: 'Returns JSON with the created path, mode, and status on success; on error, returns structured JSON with exit code and error message on stderr.' Covers both success and error scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with parameter descriptions. Description adds value by explaining use of each parameter: '--dry_run to preview without touching the filesystem', '--mode to set permissions (default 666)', '--parents to auto-create missing parent directories.'

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description starts with 'Create named pipes (FIFOs) for inter-process communication', clearly stating the specific verb and resource. It distinguishes from siblings by explicitly saying 'Not for creating regular files — use touch', etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States when to use: 'Use when you need a FIFO pipe for shell-style IPC between processes.' Also explicitly states when not to use with alternative tools: 'Not for creating regular files — use touch. Not for regular directories — use mkdir. Not for device nodes — use mknod.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mknodA
Destructive

Create device nodes (block or character special files) with dry-run support. Destructive: creates special device files. May require elevated privileges. Use --dry_run to preview. Returns JSON with the created node path and type. Use to create device files for hardware access. Not for FIFO pipes — use 'mkfifo' for named pipes. Not for regular files — use 'touch'. See also 'mkfifo'.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoOctal mode such as 600 or 666.666
pathsYesNode paths to create.
dry_runNoReport operations without changing files.
parentsNoCreate missing parent directories.
node_typeNoNode type.regular

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Descriptions add beyond annotations: highlights destructive nature, privilege requirements, dry-run behavior, and return format (JSON with path and type), without contradicting the destructiveHint annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise, every sentence adds value, front-loaded with purpose, well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 params, no output schema, and annotations, the description covers purpose, usage, behavior, and return info adequately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3 is appropriate. Description mentions dry-run and return JSON but doesn't add meaning to individual parameters beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it creates device nodes with dry-run support, and explicitly distinguishes from FIFO pipes (use mkfifo) and regular files (use touch), differentiating it from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use (device files) and when-not-to-use (FIFO, regular files) with alternatives, mentions dry-run preview, elevated privileges, and references mkfifo.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mktempA
Destructive

Create temporary files or directories with unique, unpredictable names atomically to prevent race conditions. Destructive: creates files/dirs on the filesystem. Returns JSON with the created path. Supports prefix and suffix for naming control. Use for safe temporary workspace creation in agent workflows. Not for persistent directories — use 'mkdir'. See also 'mkdir'.

ParametersJSON Schema
NameRequiredDescriptionDefault
prefixNoTemporary path prefix.tmp.
suffixNoTemporary path suffix.
tmpdirNoDirectory where the temporary path should be created. Defaults to cwd.
dry_runNoReport a candidate path without creating it.
directoryNoCreate a temporary directory.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true; the description adds context on atomicity, race condition prevention, and returning JSON path. Does not cover failure behavior or cleanup.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise, front-loaded with the main purpose, and each sentence adds value. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description mentions return format ('Returns JSON with the created path'). Covers parameter hints and alternatives. Missing error info or permissions, but overall sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with all parameters described. The description mentions prefix/suffix but adds no new meaning beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the tool creates temporary files/directories with unique, unpredictable names atomically to prevent race conditions, distinguishing it from 'mkdir'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('safe temporary workspace creation') and when not to ('Not for persistent directories'), and provides an alternative ('mkdir').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mvA
Destructive

Move or rename files and directories with dry-run and overwrite protection. Destructive: relocates files on the filesystem (or renames them). Overwrite protection enabled by default — use --allow_overwrite to replace existing targets. Use --dry_run to preview. Returns JSON with source and destination paths. Use to relocate or rename files. Not for creating copies — use 'cp' to duplicate. Not for creating links — use 'ln'. See also 'cp', 'ln'.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesSource path.
dry_runNoReport operation without changing files.
parentsNoCreate missing parent directories.
destinationYesDestination path.
allow_overwriteNoAllow replacing destination.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds beyond annotations: declares destructive nature, default overwrite protection, dry-run preview, and JSON return. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Six sentences, front-loaded with main action, efficient structure with bullet-like points, no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, destructive behavior, options (dry-run, overwrite, parents implied), return format, and sibling differentiation. No gaps given complexity and lack of output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds context for allow_overwrite and dry_run default behaviors, slightly enhancing understanding of parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Move or rename files and directories' with verb+resource. Distinguishes from siblings 'cp' and 'ln' explicitly. No ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('relocate or rename files') and when not to ('not for creating copies/links'), with sibling references. Provides context for dry-run and overwrite protection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

niceA
Destructive

Run a command with adjusted CPU scheduling priority (niceness). Executes the given command as a subprocess, captures bounded stdout/stderr, and enforces a safety timeout. Use --dry_run to preview without execution. Positive niceness lowers priority for background tasks; negative values may require elevated privileges. Use to reduce CPU impact of background work. Not for I/O buffering control — use 'stdbuf'. Not for hangup immunity — use 'nohup'. Not for time-bound execution — use 'timeout'. See also 'stdbuf', 'nohup', 'timeout'.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNoReport without running the command.
timeoutNoSafety timeout for the command.
adjustmentNoNiceness adjustment.
command_argsNoCommand and arguments to run.
max_output_bytesNoMaximum captured stdout/stderr bytes each.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds behavioral context beyond the destructiveHint annotation: it explains subprocess execution, bounded output capture, safety timeout, and dry run capability. It also notes privilege requirements for negative adjustments. Almost fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise and well-structured: starts with core purpose, then details behavior and options, followed by clear exclusions. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters and no output schema, the description covers behavior, usage, and limitations well. It lacks explicit mention of return values or error handling, but these are somewhat implied by the subprocess description and timeout feature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds semantic value by explaining how adjustment affects priority (positive lowers, negative may need privileges) and clarifying dry_run as a preview mechanism, enhancing understanding beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it runs a command with adjusted niceness, specifying the verb and resource. It effectively distinguishes from sibling tools by explicitly stating what it is not for (I/O buffering, hangup immunity, time-bound execution).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance (reduce CPU impact of background tasks) and when-not-to-use with named alternatives (stdbuf, nohup, timeout). Also mentions dry_run for preview, offering a testing option.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nlA
Read-only

Number input lines with configurable formatting (alignment, delimiter, starting number). Read-only, no side effects. Returns JSON with numbered lines by default; use --raw for plain text. Use to add line numbers for reference or debugging. Not for simple concatenation — use 'cat'. See also 'cat'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite numbered text without a JSON envelope.
pathsNoFiles to number, or '-' for stdin. Defaults to stdin.
startNoStarting line number.
widthNoMinimum number width.
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
incrementNoLine number increment.
max_linesNoMaximum JSON records to emit.
separatorNoSeparator between number and line.
number_blankNoAlso number blank lines.
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond annotations: it states read-only nature (consistent with readOnlyHint), explains default output format (JSON) and the --raw flag, and confirms no side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences, front-loaded with purpose, no fluff. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 12 parameters fully described in schema and no output schema, the description covers return format and key behavior. Could elaborate on handling multiple files or the exact JSON structure, but overall sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description mentions configurable formatting (alignment, delimiter, starting number) but adds minimal new meaning beyond what the schema already documents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool numbers input lines with configurable formatting, and distinguishes it from 'cat' explicitly, which is a sibling tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides specific use cases (adding line numbers for reference or debugging), a clear exclusion (not for simple concatenation), and an explicit alternative ('cat').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nohupA
Destructive

Run a command immune to SIGHUP (hangup signals), ideal for long-running background tasks. Executes the given command and captures stdout/stderr. Requires --allow_nohup confirmation for safety. Use to run tasks that should survive terminal closure. Not for CPU priority adjustment — use 'nice'. Not for time-bounded execution — use 'timeout'. See also 'nice', 'timeout'.

ParametersJSON Schema
NameRequiredDescriptionDefault
appendNoAppend to the output file.
outputNoOutput file for stdout/stderr.nohup.out
dry_runNoReport without starting a process.
parentsNoCreate missing output parent directories.
command_argsNoCommand and arguments to run.
allow_overwriteNoAllow replacing an existing output file.
allow_backgroundNoAllow starting a real background process.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true, and the description adds context about requiring --allow_nohup confirmation for safety, which is a useful behavioral detail. However, it could elaborate more on how flags like allow_background affect process behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is succinct with no unnecessary details. It front-loads the purpose and uses clear, direct sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, usage, and safety confirmation. It does not explain return values (no output schema), but naming of output file is in schema. Slight gap in explaining background process behavior, but overall sufficient given the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the description does not need to detail parameters. It adds minimal extra context beyond what the schema provides (e.g., capturing stdout/stderr). Baseline score is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs a command immune to SIGHUP, ideal for long-running background tasks, and distinguishes itself from siblings like 'nice' and 'timeout' by specifying what it is not for.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance on when to use (survive terminal closure), when not to use (CPU priority or time-bounded execution), and alternatives ('nice', 'timeout') are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nprocA
Read-only

Return the number of available CPU processing units. Read-only, no side effects. Returns JSON with the core count; use --raw for plain integer. Use to make parallelism decisions in agent workflows. Not for system runtime info — use 'uptime'. Not for architecture info — use 'arch' or 'uname'. See also 'uptime', 'arch'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite the processor count without a JSON envelope.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond the annotation 'readOnlyHint: true' by clarifying 'Read-only, no side effects' and detailing the output format: 'Returns JSON with the core count; use --raw for plain integer.' This covers what the tool returns and how to modify output.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three clear sentences: purpose, behavior, and usage guidance. No redundant or overly verbose content. Every sentence adds value and is front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one optional parameter, no output schema, clear annotations), the description fully covers its purpose, usage guidelines, behavioral transparency, and parameter semantics. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a description for the 'raw' parameter. The description adds semantic value by explaining that 'use --raw for plain integer' alters the output format, which complements the schema's explanation of removing the JSON envelope. This goes beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Return the number of available CPU processing units', which is a specific verb and resource. It distinguishes itself from sibling tools like 'arch' and 'uptime' by indicating what it is not for.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly states when to use ('for parallelism decisions in agent workflows') and explicitly provides alternatives for other use cases: 'Not for system runtime info — use 'uptime'. Not for architecture info — use 'arch' or 'uname'.' Also includes 'See also' references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

numfmtA
Read-only

Convert numbers between plain, SI (K, M, G), and IEC binary (Ki, Mi, Gi) unit systems. Read-only, no side effects. Parses human-readable strings with SI/IEC suffixes back to raw numbers. Returns JSON with the converted value by default; use --raw for plain output. Use to humanize byte counts or parse user-supplied size strings. Not for formatted string output — use 'printf' for general formatting. See also 'printf'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite converted numbers without a JSON envelope.
numbersNoNumbers to convert. Defaults to whitespace tokens from stdin.
to_unitNoOutput unit system.none
encodingNoOutput encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
from_unitNoInput unit system.none
max_linesNoMaximum JSON records to emit.
precisionNoDigits after the decimal point before trimming zeros.
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint: true. The description adds that it is 'Read-only, no side effects' and explains default output format (JSON envelope) and use of --raw for plain output. It also clarifies it parses human-readable strings back to raw numbers. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences, starting with the primary action. Each sentence adds value: main purpose, read-only claim, parsing direction, use cases, and exclusion of printf. No unnecessary words, but could be slightly more streamlined.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 10 parameters, no output schema, but full schema descriptions, the description covers main use cases and contrasts with sibling printf. It does not detail all parameters (e.g., encoding, precision) but those are in schema. This is sufficient for a tool that converts numbers.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds context for the raw parameter ('use --raw for plain output') and mentions parsing numbers implicitly. But it does not elaborate on other parameters like encoding or precision beyond schema, so it meets baseline without exceeding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Convert numbers between plain, SI, and IEC unit systems.' It specifies the verb (convert) and distinct resource types (numbers between unit systems). It also distinguishes from sibling 'printf' by noting it is not for general formatted string output.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use to humanize byte counts or parse user-supplied size strings' and warns 'Not for formatted string output — use printf for general formatting.' Also references 'See also printf.' This gives clear when-to-use vs. when-not-to.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

odA
Read-only

Dump input bytes as structured rows in hexadecimal, octal, or decimal format. Read-only, no side effects. Returns JSON with formatted dump by default; use --raw for traditional octal display. Use to inspect raw binary content. Not for plain text viewing — use 'cat'. See also 'cat'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite dump rows without a JSON envelope.
pathsNoFiles to dump, or '-' for stdin. Defaults to stdin.
formatNoByte rendering format.hex
offsetNoStart offset in bytes.
encodingNoOutput encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
max_bytesNoMaximum bytes to dump.
show_encodingNoInclude encoding detection metadata in JSON result.
bytes_per_lineNoBytes per output row.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. Description adds return format details (JSON by default, --raw for octal) and states no side effects, which is consistent and slightly beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four concise sentences, front-loaded with purpose, no redundant words. Each sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (10 parameters, no output schema), the description covers the main use case, return format, and differentiation from 'cat'. Could mention more about output structure, but sufficient for a tool like od.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description mentions --raw parameter behavior, but does not add significant meaning beyond the schema for other parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool dumps input bytes as structured rows in hexadecimal, octal, or decimal format, with a specific verb and resource. It distinguishes from sibling tools like 'cat' for plain text.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use for inspecting raw binary content and not for plain text, directing to 'cat'. Provides clear when-to-use and alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pasteA
Read-only

Merge corresponding lines from multiple files side by side, separated by a configurable delimiter (default tab). Read-only, no side effects. Returns JSON with merged lines by default; use --raw for plain output. Use to combine columns from separate files into a table. Not for key-based joining — use 'join' for field-matched merging. Not for simple concatenation — use 'cat'. See also 'join', 'cat'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite pasted text without a JSON envelope.
pathsNoFiles to merge, or '-' for stdin. Defaults to stdin.
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
delimiterNoDelimiter inserted between columns.
max_linesNoMaximum JSON lines to emit.
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description states 'Read-only, no side effects,' which aligns with readOnlyHint annotation. Adds context about default output format (JSON) and raw option. Does not discuss potential edge cases but sufficient given annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is three concise sentences with no fluff. First sentence defines core function, second covers safety and output, third provides usage guidance. Well-structured and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters fully documented in schema, description covers purpose, usage guidelines, and safety. No output schema but return format is described. Could add error handling info but not necessary for core use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 8 parameters with descriptions (100% coverage). Description adds marginal value by summarizing default delimiter and output format but does not elaborate on parameter details. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool merges corresponding lines from multiple files side by side with configurable delimiter. It distinguishes from sibling tools like 'join' (key-based merging) and 'cat' (simple concatenation).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use ('combine columns from separate files into a table') and when not to (not for key-based joining, not for simple concatenation), with specific alternative tool names ('join', 'cat').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pathchkA
Read-only

Validate path name components for portability (length, character set, existence). Read-only, no side effects. Returns JSON with validation result. Use to verify paths before creating or using them. Not for path resolution — use 'realpath' to resolve to absolute canonical form. See also 'realpath'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite validation rows without a JSON envelope.
pathsYesPath strings to validate.
portableNoRequire portable POSIX filename characters.
exit_codeNoReturn exit code 1 when any path is invalid.
max_path_lengthNoMaximum path string length.
max_component_lengthNoMaximum path component length.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and description adds 'Read-only, no side effects' and 'Returns JSON with validation result'. Does not detail error handling or output structure, but sufficient for a read-only validation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each serving a distinct purpose: purpose, characteristics, and usage guidance. No redundant or extraneous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters and no output schema, the description provides an overview and usage context. Lacks details on the structure of the JSON result, but the tool's simplicity and schema coverage compensate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description mentions validation aspects (length, character set, existence) which loosely align with parameters, but adds no new parameter-level details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool validates path name components for portability (length, character set, existence). It distinguishes from the sibling 'realpath' by noting it is not for path resolution but for validation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises using to verify paths before creating or using them, and directs to 'realpath' for path resolution. Provides clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pinkyA
Read-only

Print detailed user account information: login name, home directory, shell, and idle time. Read-only, no side effects. Returns JSON with user profile data. Use to inspect specific user account properties. Not for current user identity — use 'whoami' or 'id'. Not for session listing — use 'who' for active sessions. See also 'who', 'id'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite tab-separated user rows without a JSON envelope.
longNoInclude the long-output intent in the JSON result.
usersNoOptional users to include.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds value beyond the readOnlyHint annotation by explicitly stating 'Read-only, no side effects' and 'Returns JSON with user profile data', providing clarity on the output format and confirming no mutability.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with purpose. It includes necessary usage guidance without verbosity, though slight redundancy exists with the read-only annotation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description explains the return value (JSON with profile data and listed fields) and provides complete context on when to use alternative tools, making it self-sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with all parameter descriptions present. The description does not add additional meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool prints detailed user account information including specific fields like login name, home directory, shell, and idle time. It also distinguishes itself from sibling tools by noting that for current user identity one should use 'whoami' or 'id', and for session listing use 'who'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use the tool ('inspect specific user account properties') and when not to ('Not for current user identity', 'Not for session listing') with specific alternative tool names provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prA
Read-only

Paginate text into deterministic pages with configurable headers, footers, and page dimensions. Read-only, no side effects. Returns JSON with paginated output by default; use --raw for plain text. Use for print-ready formatted output. Not for paragraph reflowing — use 'fmt'. Not for line wrapping — use 'fold'. See also 'fmt', 'fold'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite paginated text without a JSON envelope.
pathsNoFiles to paginate, or '-' for stdin. Defaults to stdin.
widthNoMaximum output line width.
headerNoOptional page header.
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
max_linesNoMaximum JSON lines to emit.
page_lengthNoInput lines per page.
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. The description adds: 'Read-only, no side effects. Returns JSON with paginated output by default; use --raw for plain text.' This goes beyond annotations by disclosing output format and the raw option. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences: purpose, read-only+output, usage guidance, and alternatives. No fluff, every sentence adds value. Front-loaded with the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 10 optional parameters, no required, and no output schema, the description covers the main purpose, output format, and alternatives. It mentions 'deterministic pages' and default JSON output. Could briefly mention page boundary behavior, but schema parameters like page_length and max_lines cover that. Still quite complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all 10 parameters have detailed descriptions in the schema. The description adds overall context (headers, footers, dimensions) but does not significantly enhance individual parameter understanding beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Paginate text into deterministic pages with configurable headers, footers, and page dimensions.' It also distinguishes itself from siblings by specifying it is not for paragraph reflowing (use 'fmt') or line wrapping (use 'fold').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use: 'Use for print-ready formatted output.' Explicit when-not-to-use with alternatives: 'Not for paragraph reflowing — use 'fmt'. Not for line wrapping — use 'fold'.' Also references sibling tools 'fmt' and 'fold'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

printenvA
Read-only

Return the value of a specific environment variable by name, or all variables if no name given. Read-only, no side effects. Returns JSON with the variable value. Use for direct lookup of known variable names. Not for listing all variables with filtering — use 'env' for pattern-based filtering. See also 'env'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite values or KEY=VALUE lines without a JSON envelope.
namesNoOptional variable names to print.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint: true, so the description's statement 'Read-only, no side effects' adds explicit confirmation and additional clarity. It also discloses the return format (JSON). While annotations cover the main behavioral aspect, the description reinforces it without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, front-loaded with the primary action. Every sentence adds value without redundancy. It efficiently covers purpose, usage guidance, and behavioral notes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With two optional parameters, no output schema, and strong annotations, the description fully explains the tool's behavior. It covers single and all-variable retrieval, read-only nature, JSON return format, and contrasts with sibling 'env'. No gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage for both parameters (raw and names), so the schema already explains them. The description adds one extra detail about raw mode outputting 'KEY=VALUE lines' but does not significantly enhance meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns environment variable values, either specific (by name) or all. It uses the verb 'Return' and specifies the resource ('value of a specific environment variable'). It also distinguishes from sibling 'env' by noting direct lookup vs. pattern-based filtering.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use: 'Use for direct lookup of known variable names.' Also provides when-not-to-use: 'Not for listing all variables with filtering — use 'env' for pattern-based filtering.' Mentions sibling 'env' as an alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

printfA
Read-only

Format and print text using printf-style conversion specifiers (%s, %d, %f, etc.). Read-only, no side effects. Returns JSON with the formatted string by default; use --raw for plain output. Use for precise control over number formatting, padding, and type conversion. Not for simple echo without formatting — use 'echo'. See also 'echo'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite formatted text without a JSON envelope.
valuesNoValues used by format conversions.
encodingNoOutput encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
format_stringYesPrintf-style format string.
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true; description confirms 'Read-only, no side effects'. Adds that default output is JSON with formatted string and --raw for plain output, which annotations do not cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise, front-loaded sentences with no redundant information. Every sentence adds value: purpose, output format, and usage guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 7 parameters and no output schema, the description covers the return format (JSON with formatted string, or plain with --raw) and ties parameters to usage. Could mention that JSON output includes a formatted key, but still sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with all parameters described. The description adds high-level context (e.g., default JSON output) but does not add meaning beyond the schema for individual parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'format and print' and the resource 'text using printf-style conversion specifiers'. It distinguishes from sibling 'echo' by noting 'Not for simple echo without formatting'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (precise control over formatting) and when not (simple echo — use 'echo'), and provides a sibling reference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ptxA
Read-only

Build a permuted (keyword-in-context) index from input text, showing each word in its surrounding context. Read-only, no side effects. Returns JSON with the index by default; use --raw for plain output. Use to create searchable cross-reference indices. Not for sorting or deduplication — use 'sort' and 'uniq'. See also 'sort'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite index rows without a JSON envelope.
onlyNoOnly include this keyword. Repeatable.
pathsNoFiles to index, or '-' for stdin. Defaults to stdin.
ignoreNoIgnore a keyword. Repeatable.
contextNoWords of left/right context.
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
max_linesNoMaximum JSON records to emit.
ignore_caseNoCompare filters case-insensitively.
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the description confirms 'Read-only, no side effects.' It adds context about default JSON output and raw option, but no contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, no wasted words. Efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 11 optional parameters and no output schema, the description covers the main output and key options. Could mention context or ignore case, but schema has full descriptions. Adequately complete for a text-processing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline 3. The description adds minimal parameter insight beyond stating default output format. The schema already documents each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (Build) and resource (permuted index), and distinguishes from siblings by noting it is not for sorting or deduplication, referencing 'sort' and 'uniq'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use (create searchable cross-reference indices) and when not (sorting, deduplication), with alternatives named ('sort', 'uniq') and a reference to 'sort'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pwdA
Read-only

Print the current working directory as JSON. Read-only, no side effects. Returns JSON with the absolute directory path. Use to determine the active directory context before file operations. Not for path resolution — use 'realpath' to resolve symlinks and relative paths. See also 'ls', 'realpath'.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. The description reinforces this with 'Read-only, no side effects' and adds detail about return format. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise, front-loaded with core action. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and no output schema, the description covers purpose, usage, alternatives, and return format completely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, schema coverage is 100%. Description adds no parameter-specific information, which is fine, but baseline is 3 per rules.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Print the current working directory as JSON' with a clear verb and resource. It distinguishes from siblings by noting 'Not for path resolution — use realpath' and referencing 'ls' and 'realpath'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit context: 'Use to determine the active directory context before file operations' and clearly states when not to use: 'Not for path resolution — use realpath to resolve symlinks and relative paths.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

realpathA
Read-only

Resolve file paths to their absolute canonical form, following all symlinks and resolving all relative components. Read-only, no side effects. Fails with a clear error if the target does not exist (use --no-symlinks to relax existence check). Returns JSON with the resolved absolute path. Use to normalize paths for comparison or before file operations. Not for reading symlink targets without full resolution — use 'readlink'. See also 'readlink'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsYesPaths to resolve.
strictNoFail if any path does not exist.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Explicitly states read-only, no side effects, aligning with readOnlyHint annotation. Adds error behavior (fails if target doesn't exist) and return format (JSON). No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences front-loading purpose, then usage guidance and alternatives. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complete for a path resolution tool: covers behavior, error handling, return format, and sibling distinction. Input schema is comprehensive; description fills in missing context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all parameters (100% coverage). Description adds value by explaining strict parameter's effect on existence check and mentioning JSON return, enhancing parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it resolves file paths to absolute canonical form, following symlinks. Distinguishes from sibling 'readlink' by specifying that readlink is for reading symlink targets without full resolution.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit context: use to normalize paths for comparison or before file operations, and explicitly states when not to use (reading symlink targets) with alternative 'readlink'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rmA
Destructive

Remove files or recursively delete directories with dry-run and safety protections. Destructive and irreversible: deleted data cannot be recovered. Use --dry_run to preview which files would be removed. Recursive directory removal requires --recursive. Sandbox checks prevent deletion outside the current working directory without explicit --allow_outside_cwd. Returns JSON with removed paths. Use to delete files and directories. Not for secure deletion — use 'shred' to overwrite before removal. Not for removing only empty directories — use 'rmdir'. See also 'rmdir', 'shred', 'unlink'.

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNoIgnore missing files.
pathsYesPaths to remove.
dry_runNoReport operations without changing files.
recursiveNoRemove directories recursively.
allow_outside_cwdNoAllow recursive directory removal outside the current working directory.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already set destructiveHint=true, but description adds irreversibility warning, dry-run preview, recursive requirement, and sandbox checks. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with safety info front-loaded. Slightly verbose with multiple sentences, but every sentence adds value. Could be tightened without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema provided, so description compensates by stating 'Returns JSON with removed paths'. Covers safety, alternatives, and all key behaviors for a destructive tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%. Description adds context like dry_run preview behavior, recursive necessity, and allow_outside_cwd condition, but schema already describes each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'remove files or recursively delete directories' with specific verb-resource pairing. Distinguishes from siblings by explicitly mentioning 'shred' and 'rmdir' as alternatives for other use cases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use (delete files/directories) and when-not-to-use (secure deletion, empty directories). Mentions alternative tools 'shred' and 'rmdir' for those cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rmdirA
Destructive

Remove empty directories with dry-run support. Destructive: deletes directories. Fails safely on non-empty directories (use 'rm --recursive' for those). Use --dry_run to preview. Returns JSON with the removed directory paths. Use to clean up empty directory trees. Not for removing directories with contents — use 'rm --recursive'. Not for file removal — use 'unlink' or 'rm'. See also 'rm', 'unlink'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsYesEmpty directories to remove.
dry_runNoReport operations without changing files.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the destructiveHint annotation, the description adds that it fails safely on non-empty directories and returns JSON with removed paths. It also mentions dry-run support, which is not covered by annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is multi-sentence but each sentence adds value: purpose, destructive note, safety, dry-run, return type, and usage guidance. It is front-loaded and not excessively verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 parameters, no output schema), the description covers all relevant aspects: purpose, behavior, safety, when to use, alternatives, return format, and dry-run support. No gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters. The description adds context by stating that paths are for 'Empty directories to remove' and that dry-run is for previewing. It also implies failure on non-empty directories, adding value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool removes empty directories and distinguishes from sibling tools like 'rm --recursive' for non-empty directories and 'unlink' for files. It specifies the verb 'remove' and the resource 'empty directories'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides when to use (clean up empty directory trees), when not to use (directories with contents or files), and alternatives ('rm --recursive', 'unlink'). Also mentions dry-run for preview.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

runconA
Destructive

Plan or run a command under a specified SELinux security context. Potentially destructive: changes the security domain of the executed command. Use --dry_run to preview. Requires --allow_context confirmation. Use to test or enforce SELinux context transitions. Not for modifying file contexts — use 'chcon' for file labels. See also 'chcon'.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextYesSecurity context for the command.
dry_runNoReport without running the command.
timeoutNoSafety timeout for the command.
command_argsNoCommand and arguments to run.
allow_contextNoAllow invoking the platform runcon command.
max_output_bytesNoMaximum captured stdout/stderr bytes each.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the destructiveHint annotation, description notes 'changes the security domain', recommends dry_run for preview, and mentions safety timeout. Could elaborate on potential consequences of incorrect context but still adds significant context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences efficiently cover purpose, safety, usage, and exclusion. No fluff, every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a command wrapper tool with good annotations and schema coverage. Lacks details on return values or error behavior, but given simplicity and presence of annotations, it is mostly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. Description adds value by highlighting dry_run for preview and allow_context as required confirmation, but does not elaborate on context format or command_args beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool 'run a command under a specified SELinux security context' and distinguishes it from sibling 'chcon' by explicitly stating it is not for modifying file contexts. Provides specific verb and resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('test or enforce SELinux context transitions') and when not to ('not for modifying file contexts'), and names the alternative ('chcon'). Also mentions prerequisites like 'Requires --allow_context confirmation'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

schemaA
Read-only

Return the full aicoreutils JSON protocol specification: envelope structure, exit codes (0-10), output conventions, and command metadata. Read-only, no side effects. Use before invoking other tools to understand the response format and error semantics. Not for tool discovery — use 'tool-list' or 'catalog'. See also 'tool-list', 'catalog'.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description declares read-only, no side effects, consistent with readOnlyHint annotation. Adds context about what the tool returns (envelope structure, exit codes, etc.), going beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each essential: first states action, second adds read-only and usage context, third differentiates from siblings. No wasted words, front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no parameters or output schema, the description fully explains what the tool does, why to use it, and how it relates to siblings. Adequate for an agent to understand when to invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters in input schema, so baseline is 4. Description adds no parameter info but that is unnecessary; it instead explains the output content well.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it returns the full aicoreutils JSON protocol specification with specific components (envelope structure, exit codes, etc.). Differentiates from siblings like 'tool-list' and 'catalog' by explicitly stating it is not for tool discovery.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use ('Use before invoking other tools to understand response format and error semantics') and when-not-to-use ('Not for tool discovery — use 'tool-list' or 'catalog''), with alternative tool names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

seqA
Read-only

Print a sequence of numbers as JSON with configurable start, increment, and end values. Read-only, no side effects. Returns JSON with the number sequence array. Use to generate numeric sequences or ranges. Not for repeating a constant string — use 'yes' for fixed repetition. See also 'yes', 'printf'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite sequence text without a JSON envelope.
formatNoprintf-style numeric format, for example %%.2f.
numbersYes[FIRST [INCREMENT]] LAST.
encodingNoOutput encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
incrementNoIncrement used with one or two positional numbers.
max_itemsNoMaximum items to generate.
separatorNoRaw output separator.
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states the tool is read-only with no side effects, which aligns with the readOnlyHint annotation. It also mentions that the output is JSON with a number sequence array, and that it has configurable parameters. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, using three sentences to cover purpose, behavior, and usage guidance. It is front-loaded with the key function and avoids unnecessary detail. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description adequately covers the tool's main purpose and behavior, but it does not detail the output schema or provide examples. Given the 10 parameters and no output schema, the description is sufficient but could be slightly richer. Still, it is complete enough for an agent to select and invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (all 10 parameters have descriptions in the input schema). The description adds minimal additional parameter information beyond the schema, only referencing configurable start, increment, and end values. Given high schema coverage, a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that seq prints a sequence of numbers as JSON with configurable start, increment, and end values. It distinguishes from siblings like 'yes' for constant repetition and 'printf' for formatting, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use seq (generate numeric sequences or ranges) and when not to (for constant strings, use 'yes'). It also directs the agent to related tools 'yes' and 'printf', providing clear guidance on alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sha1sumA
Read-only

Compute SHA-1 hash digests of files or stdin. Read-only, no side effects. Returns JSON with per-file hash values. Use for basic integrity verification compatible with legacy systems. Not for security-critical applications — SHA-1 is cryptographically broken; use 'sha256sum' or 'b2sum'. See also 'sha256sum', 'hash'.

ParametersJSON Schema
NameRequiredDescriptionDefault
checkNoRead checksums from FILE(s) and verify them.
pathsNoFiles to hash, or '-' for stdin (omit with --check).
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Declares read-only, no side effects, and JSON return format. While annotations already provide readOnlyHint, the description adds context about the return format and lack of side effects, which is consistent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences: purpose, behavior, and usage guidance. No redundant information; front-loaded with key action. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 6 optional parameters, no output schema, and annotations cover readOnlyHint, the description sufficiently covers inputs, usage, and return format. It mentions alternatives and caveats, making it fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with parameter descriptions, so baseline is 3. The description does not elaborate on individual params beyond mentioning 'files or stdin', but it does not need to given the schema. No contradiction.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes SHA-1 hash digests of files or stdin, and distinguishes it from cryptographic siblings like sha256sum and b2sum by noting SHA-1's broken status for security purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (basic integrity verification with legacy systems) and when not to use (security-critical applications), and names alternatives (sha256sum, b2sum).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sha224sumA
Read-only

Compute SHA-224 hash digests of files or stdin. Read-only, no side effects. Returns JSON with per-file hash values. Use for cryptographic integrity verification with smaller digest size. Not for maximum security margin — use 'sha512sum' for highest strength. See also 'sha256sum', 'hash'.

ParametersJSON Schema
NameRequiredDescriptionDefault
checkNoRead checksums from FILE(s) and verify them.
pathsNoFiles to hash, or '-' for stdin (omit with --check).
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and description reinforces 'Read-only, no side effects.' It adds beyond annotations by noting returns JSON with per-file hash values. Does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences plus a brief list of alternatives. Front-loaded with purpose. Every sentence contributes value; no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters fully described in schema, no output schema, and annotations covering readonly, the description provides essential context: return format (JSON per-file), use cases, and alternatives. Complete for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are fully documented. Description adds no further parameter details beyond mentioning JSON output. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Compute SHA-224 hash digests of files or stdin' with a specific verb and resource. Distinguishes from siblings like sha256sum and sha512sum by noting smaller digest size and lower security margin.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use (cryptographic integrity verification with smaller digest size) and when not (use 'sha512sum' for highest strength), and references alternatives 'sha256sum' and 'hash'. No ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sha256sumA
Read-only

Compute SHA-256 hash digests of files or stdin — the standard cryptographic hash. Read-only, no side effects. Returns JSON with per-file hash values. Use for cryptographic integrity verification and content addressing. This is the recommended default for security-sensitive hashing. Not for high-speed non-security use — use 'md5sum' or 'b2sum' for speed. See also 'sha512sum', 'hash', 'md5sum'.

ParametersJSON Schema
NameRequiredDescriptionDefault
checkNoRead checksums from FILE(s) and verify them.
pathsNoFiles to hash, or '-' for stdin (omit with --check).
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. Description adds context: 'Read-only, no side effects' and 'Returns JSON with per-file hash values'. Does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, each serving a purpose: purpose, safety, output format, usage guidance. No fluff, front-loaded with key info.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite missing output schema, description mentions JSON return format. Combined with rich schema and annotations, provides complete context for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, all parameters have descriptions. Description adds no significant meaning beyond schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Compute SHA-256 hash digests of files or stdin' with specific verb and resource. Distinguishes from siblings by referencing md5sum, b2sum, and sha512sum, and positions itself as the recommended default for security-sensitive hashing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly guides when to use ('cryptographic integrity verification', 'security-sensitive'), when not to ('high-speed non-security use'), and names alternatives (md5sum, b2sum, sha512sum, hash).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sha384sumA
Read-only

Compute SHA-384 hash digests of files or stdin. Read-only, no side effects. Returns JSON with per-file hash values. Use for cryptographic integrity verification with higher security margin than SHA-256 (192-bit collision resistance). See also 'sha256sum', 'sha512sum', 'hash'.

ParametersJSON Schema
NameRequiredDescriptionDefault
checkNoRead checksums from FILE(s) and verify them.
pathsNoFiles to hash, or '-' for stdin (omit with --check).
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, and the description confirms 'Read-only, no side effects' and adds that it returns JSON with per-file hash values. No contradictions, but could add more detail on error handling or performance.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise: two sentences plus usage guidance and see-also. Every sentence is informative with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but description mentions 'Returns JSON with per-file hash values' which suffices. Could be more specific about output structure, but overall complete for a hash tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the description adds no new parameter meaning beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Compute') and resource ('SHA-384 hash digests of files or stdin'), and distinguishes from siblings like sha256sum and sha512sum by mentioning higher security margin.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('for cryptographic integrity verification with higher security margin than SHA-256') and refers to alternatives ('See also 'sha256sum', 'sha512sum', 'hash'').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sha512sumA
Read-only

Compute SHA-512 hash digests of files or stdin — the highest-strength SHA-2 variant. Read-only, no side effects. Returns JSON with per-file hash values. Use for maximum cryptographic security margin (256-bit collision resistance). Not for performance-sensitive use on 32-bit systems — use 'sha256sum'. See also 'sha256sum', 'hash'.

ParametersJSON Schema
NameRequiredDescriptionDefault
checkNoRead checksums from FILE(s) and verify them.
pathsNoFiles to hash, or '-' for stdin (omit with --check).
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

ReadOnlyHint annotation is confirmed by description stating 'Read-only, no side effects'. Description adds context about output format (JSON per-file hash), which is beyond the annotation. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus one line, front-loaded with main purpose. Every sentence adds value: purpose, safety, output format, usage guidelines, alternatives. No redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters and no output schema, the description covers purpose, safety, output format, and usage guidance. However, it doesn't elaborate on the verification mode (--check flag) but the schema does. Missing explicit return value structure, but JSON per-file hash is sufficient for a hash tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema adequately explains all 6 parameters. The description adds no additional parameter-level detail beyond what's in the schema, meeting the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb 'Compute SHA-512 hash digests' with specific resources 'files or stdin' and output 'JSON with per-file hash values'. Distinguishes from siblings by noting highest-strength SHA-2 variant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use 'maximum cryptographic security margin' and when-not 'not for performance-sensitive use on 32-bit systems — use sha256sum'. Names alternatives and provides rationale.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

shredA
Destructive

Overwrite file contents multiple times with random data then optionally remove. Destructive and irreversible: shredded data is unrecoverable. Requires explicit --allow_destructive confirmation. Use --dry_run to preview. Use to securely erase sensitive files beyond forensic recovery. Not for simple deletion — use 'rm' for non-sensitive files. See also 'rm'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsYesFiles to overwrite.
passesNoNumber of zero overwrite passes.
removeNoRemove files after overwriting.
dry_runNoReport operations without changing files.
allow_destructiveNoAllow real destructive overwrite.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the destructiveHint annotation, the description details that data becomes unrecoverable, overwriting is with random data, and the process is irreversible. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no redundancy. Front-loaded with core action and key behavioral traits. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex destructive tool with no output schema, the description provides sufficient context about behavior, safety, and parameter usage. An agent can correctly select and invoke this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 5 parameters with descriptions. The tool description reinforces critical parameters like --allow_destructive and --dry_run, adding context about their role in safety. Minor inconsistency in overwrite data type (random vs zero passes) but still helpful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool overwrites file contents multiple times with random data and optionally removes files. It distinguishes from sibling 'rm' by specifying secure erasure beyond forensic recovery, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use (secure erasure of sensitive files) and when not to (simple deletion, use 'rm'). Mentions prerequisites like --allow_destructive confirmation and option to preview with --dry_run.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

shufA
Read-only

Randomly permute input lines with optional deterministic seeding for reproducibility. Read-only, no side effects. Returns JSON with shuffled lines by default; use --raw for plain output. Set --seed for reproducible ordering. Use to randomize line order. Not for sorting — use 'sort' for ordered output. Not for deduplication — use 'uniq'. See also 'sort', 'uniq'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite shuffled text without a JSON envelope.
seedNoSeed for deterministic shuffling.
countNoMaximum lines to output.
pathsNoFiles to shuffle, or '-' for stdin. Defaults to stdin.
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
max_linesNoMaximum JSON lines to emit.
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint: true, and description confirms 'Read-only, no side effects.' It also explains output format ('Returns JSON with shuffled lines by default; use --raw for plain output') and seed behavior, adding value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is concise, front-loaded with main purpose, and each sentence adds value. No waste, efficiently communicates purpose, usage boundaries, and key features.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters with full schema coverage, no output schema, and annotations present, description adequately covers purpose, output format, reproducibility, and exclusions. Comprehensive for agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with all parameters described. Description adds helpful context about default output (JSON) and raw mode, but does not significantly extend schema info. Small addition raises above baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool randomly permutes input lines, with optional deterministic seeding. It specifies the action (permute), resource (input lines), and key features (random, seed). It also distinguishes from sibling tools 'sort' and 'uniq'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance: 'Use to randomize line order. Not for sorting — use 'sort' for ordered output. Not for deduplication — use 'uniq'. See also 'sort', 'uniq'.' This clearly tells when to use and when not, with alternative tool names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sleepA
Destructive

Pause execution for a specified number of seconds, bounded by an upper safety limit. Blocks the calling process. Use --dry_run to preview the duration without actually sleeping. Use to introduce delays between operations. Not for time-bounded command execution — use 'timeout' to run a command with a deadline. See also 'timeout'.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNoReport without sleeping.
secondsYesSeconds to sleep.
max_secondsNoSafety cap for sleep duration.

TDQS

A3.9/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description discloses blocking behavior and safety cap, but contradicts annotations: annotations mark destructiveHint=true, yet sleep is not destructive (no state modification). This inconsistency misleads the agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise, front-loaded purpose, no fluff. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and full parameter schema, the description provides sufficient context about use cases, distinctions, and safety limits.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 3 parameters fully (100% coverage), so description adds no extra meaning beyond what parameter descriptions provide. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states what the tool does: 'Pause execution for a specified number of seconds' with a safety cap. It distinguishes from the sibling 'timeout' by saying 'Not for time-bounded command execution — use 'timeout'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('introduce delays between operations') and when not to use (time-bounded execution, use 'timeout' instead). Also mentions --dry_run for previewing duration.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sortA
Read-only

Sort text lines deterministically from files or stdin. Read-only, no side effects. Use --numeric for numerical sort, --reverse for descending order, --unique to remove duplicates, and --seed for deterministic tie-breaking. Returns JSON with sorted lines by default; use --raw for plain output. Use to order data for downstream processing. Not for deduplication of non-sorted data — pipe to 'uniq' for adjacent dedup. Not for randomizing — use 'shuf'. See also 'uniq', 'shuf'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite plain transformed text to stdout.
checkNoCheck whether input is sorted; exit non-zero if not.
pathsNoFiles to sort, or '-' for stdin. Defaults to stdin.
stableNoStable sort: preserve relative order of equal keys.
uniqueNoEmit only the first of equal sorted lines.
numericNoSort by the first numeric token.
reverseNoReverse the sort order.
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
max_linesNoMaximum JSON lines to emit.
ignore_caseNoCompare case-insensitively.
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states 'Read-only, no side effects,' aligning with the readOnlyHint annotation, and adds context about deterministic sorting, tie-breaking, and output format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loaded with the main purpose, followed by flag details, then limitations and alternatives; every sentence serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 13 parameters and no output schema, the description covers core functionality (sorting, output format, key flags) and notes encoding via schema, but could mention encoding parameters more explicitly; still adequate for agent decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides full parameter descriptions (100% coverage), but the description adds a high-level summary and groups related flags (--numeric, --reverse, --unique), aiding quick understanding despite not adding many new specifics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it sorts text lines deterministically from files or stdin, and distinguishes it from sibling tools like uniq and shuf by specifying what it does not do.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides when to use (order data for downstream processing), when not to use (not for deduplication of non-sorted data, not for randomizing), and names alternatives (uniq, shuf).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

splitA
Destructive

Split input into chunked output files by line count or byte size with dry-run and overwrite protection. Destructive: creates multiple output files. Default splits at 1000 lines per chunk. Use --dry_run to preview. Returns JSON with output file list and record counts. Use to partition large datasets. Not for content-based splitting — use 'csplit' to split at regex match points. See also 'csplit'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoFile to split, or '-' for stdin. Defaults to stdin.-
bytesNoBytes per output file.
linesNoLines per output file. Defaults to 1000.
prefixNoOutput file prefix.x
dry_runNoReport split outputs without writing files.
output_dirNoDirectory for split outputs..
suffix_lengthNoSuffix length.
allow_overwriteNoAllow replacing existing split outputs.
numeric_suffixesNoUse numeric suffixes instead of aa/ab.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses destructive nature ('Destructive: creates multiple output files') beyond the destructiveHint annotation. Details dry-run capability, overwrite protection, and return format (JSON with file list and record counts). No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five sentences, each adding value. Front-loaded with purpose, then key behaviors, output info, and usage guidance. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters, full schema coverage, no output schema, and destructiveHint annotation, the description covers purpose, default behavior, safety features, output format, and alternatives. Sufficient for agent decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds minimal new info beyond schema defaults (e.g., default line count, prefix) but does not significantly enhance understanding of individual parameters. It repeats some defaults already in schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Split input into chunked output files by line count or byte size'. It specifies the verb (split), resource (input), and primary methods (line count or byte size), distinguishing it from content-based splitting tools like csplit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly explains when to use (partitioning large datasets) and when not to use (content-based splitting, directing to csplit). Provides default behavior (1000 lines per chunk) and mentions dry-run and overwrite protection. Includes alternative tool reference ('csplit').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

statA
Read-only

Return detailed file metadata: size, permissions, owner, timestamps (access, modification, change, birth), inode, and device as structured JSON. Read-only, no side effects. Use to inspect file attributes without reading file contents. Not for directory listing — use 'ls' for multi-file listings. See also 'ls', 'du'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsYesPaths to inspect.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description states 'Read-only, no side effects', which aligns with annotations (readOnlyHint: true) and adds concrete details about what metadata is returned, providing helpful context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no wasted words. Purpose is front-loaded, followed by safety note, then usage guidance with alternatives. Every sentence is essential.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple metadata tool with good annotations, the description covers what it returns, when to use, and alternatives. No output schema needed; description suffices.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description is 100% coverage, but description adds context that paths should be files (not directories) by contrasting with 'ls' for multi-file listings, adding value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Return detailed file metadata' with specific attributes (size, permissions, owner, timestamps, inode, device). It also distinguishes from sibling 'ls' by noting it is not for directory listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('inspect file attributes without reading file contents') and when not ('Not for directory listing'), with explicit references to alternatives 'ls' and 'du'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stdbufA
Destructive

Run a command with controlled stdout/stderr/stdin buffering: 0=none (unbuffered), L=line-buffered, or a byte size. Executes as a subprocess, captures bounded stdout/stderr, and enforces a safety timeout. Use --dry_run to preview without execution. Defaults to system buffering when no mode is set. Use to diagnose buffering-related output delays or ordering issues in pipelines. Not for CPU priority control — use 'nice'. Not for time-bounded execution — use 'timeout'. See also 'nice', 'timeout'.

ParametersJSON Schema
NameRequiredDescriptionDefault
errorNoRequested stderr buffering mode: 0, L, or a byte size.
inputNoRequested stdin buffering mode: 0, L, or a byte size.
outputNoRequested stdout buffering mode: 0, L, or a byte size.
dry_runNoReport without running the command.
timeoutNoSafety timeout for the command.
command_argsNoCommand and arguments to run.
max_output_bytesNoMaximum captured stdout/stderr bytes each.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds that it executes as a subprocess, captures bounded output, and enforces a safety timeout. Annotations only provide destructiveHint=true, which is consistent. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Compact, front-loaded, no fluff. Each sentence adds value. Well-organized into purpose, details, exclusions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, usage, behavioral traits, and parameter context. No output schema is acceptable. Complete enough for agent decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with parameter descriptions, but description adds usage context (e.g., 'Use --dry_run to preview', 'Defaults to system buffering'). Reinforces without repetition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs a command with controlled buffering for stdout/stderr/stdin, specifying modes (0, L, byte size). It distinguishes from siblings like 'nice' and 'timeout'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (diagnose buffering-related delays) and when not (CPU priority, time-bounded execution). Names alternatives 'nice' and 'timeout'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sttyA
Destructive

Inspect or modify terminal device settings (baud rate, line discipline, control characters). Can change terminal behavior if --allow_change is enabled; defaults to read-only inspection. Returns JSON with terminal configuration. Use to query terminal state before operations that depend on it. Not for simple TTY detection — use 'tty' to check if stdin is a terminal. See also 'tty'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite a compact status line without a JSON envelope.
deviceNoTerminal device to inspect or change.
dry_runNoReport planned settings without changing the terminal.
settingsNoSettings such as raw, sane, echo, or -echo.
allow_changeNoAllow applying supported terminal changes.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description discloses default read-only behavior and conditional destructive change via allow_change, adding context beyond destructiveHint annotation. Does not detail what settings are supported for modification, but effectively explains safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with main purpose, no wasted words. Efficiently conveys all essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 5 parameters fully described in schema and no output schema, description provides necessary context about behavior and use cases. Could mention output format more precisely, but enough for agent selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds meaning beyond schema by listing example settings (baud rate, line discipline, control characters) and explaining roles of allow_change and dry_run. Schema coverage is 100%, so baseline 3; description surpasses it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Inspect or modify terminal device settings', specifying verb and resource. Distinguishes from sibling 'tty' by noting that tool is for settings inspection, not simple TTY detection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use to query terminal state before operations that depend on it' and 'Not for simple TTY detection — use 'tty''. Provides clear when-to-use and when-not-to-use with alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sumA
Read-only

Compute legacy BSD-style 16-bit checksums and block counts for files or stdin. Read-only, no side effects. Returns JSON with checksum and block count. Use for compatibility with legacy BSD systems. Not for data integrity — CRC32 ('cksum') and cryptographic hashes ('sha256sum') are far more reliable. See also 'cksum', 'sha256sum'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite checksum blocks path lines without a JSON envelope.
pathsNoFiles to checksum, or '-' for stdin. Defaults to stdin.
encodingNoOutput encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
block_sizeNoBlock size used for reported block counts.
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Matches annotations ('read-only, no side effects'), adds return format (JSON with checksum and block count), no contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with purpose, then key usage and alternatives. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers return format, usage context, warnings, and alternatives. With no output schema, the description provides essential output info. Sufficient for a checksum tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3. Description does not elaborate on parameters beyond schema, which is acceptable but adds no extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it computes legacy BSD-style 16-bit checksums and block counts for files or stdin. Distinguishes from siblings like cksum and sha256sum by noting legacy purpose and reliability warning.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says use for compatibility with legacy BSD systems and warns not for data integrity, directing to alternatives (cksum, sha256sum).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

syncA
Destructive

Flush cached filesystem writes to persistent storage where supported. Read-only in interface but causes I/O: forces dirty buffers to disk. Returns JSON with sync status. Use to ensure data durability before critical operations like system shutdown. Not for general use before every file operation — most commands flush on close. See also 'dd'.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNoReport without syncing.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that despite a read-only interface, it causes I/O and forces dirty buffers to disk, acknowledging the destructiveHint annotation. Beyond annotations, it adds that it returns JSON with sync status, providing behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise (three sentences plus a short note) and front-loaded with the key function. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given low complexity (one optional parameter, no output schema), the description covers purpose, when to use, behavioral implications, and return format. It is fully adequate for the tool's context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter 'dry_run' with a clear description. The tool description does not add additional meaning beyond what the schema provides, so score is baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'flush cached filesystem writes to persistent storage' and the resource 'filesystem writes to persistent storage'. It distinguishes from siblings by noting 'Read-only in interface but causes I/O' and mentions 'dd' as alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use to ensure data durability before critical operations like system shutdown' (when to use) and 'Not for general use before every file operation — most commands flush on close' (when not to use). Also suggests 'See also 'dd'' as an alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tacA
Read-only

Reverse the order of input lines (last line first). Read-only, no side effects. Returns JSON with reversed lines by default; use --raw for plain output. Use to invert line order for LIFO processing. Not for sorting — use 'sort --reverse' for reverse-sorted order. See also 'sort', 'cat'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite reversed text without a JSON envelope.
pathsNoFiles to reverse, or '-' for stdin. Defaults to stdin.
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
max_linesNoMaximum JSON lines to emit.
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. Description adds 'no side effects' and explains default JSON output vs raw output, providing behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose. Every sentence adds value: purpose, behavior, usage, alternatives. No waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters and no output schema, the description covers core behavior (output format, use case) well. Missing details on parameters are covered by schema. Return format is described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed descriptions. The description only mentions the '--raw' flag, adding minimal value beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reverses input lines (last line first), with a specific verb and resource. It distinguishes from siblings by noting it's not for sorting, referring to 'sort --reverse'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use (LIFO processing) and when not to use (sorting), with specific alternative ('sort --reverse'). References siblings 'sort' and 'cat'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tailA
Read-only

Return the last N lines (default 10) of files or stdin as JSON. Read-only, no side effects. Returns JSON with line array by default; use --raw for plain text. Supports negative-N to skip the first N lines. Use to view recent file additions or check log tails. Not for viewing file beginnings — use 'head'. See also 'head', 'cat'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite raw selected lines without a JSON envelope.
pathYesFile to read.
linesNoNumber of lines.
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotation 'readOnlyHint: true', the description adds that it reads files or stdin, returns JSON by default with a raw mode option, supports negative-N to skip first lines, and has no side effects. This fully discloses behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is 5 sentences, front-loaded with the core purpose and output format, then additional features, usage guidance, and alternatives. Every sentence is informative and no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 7 parameters and no output schema, the description compensates by explaining the output format (JSON, raw), input sources (files, stdin), and use cases. It covers key behavioral aspects, making it complete for an agent to determine suitability.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters, so baseline is 3. The description adds value by explaining the negative-N feature for the 'lines' parameter (not in schema) and mention of '--raw' for the 'raw' parameter, enhancing understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the last N lines of files or stdin as JSON, specifies default behavior (10 lines), and distinguishes from siblings by explicitly noting it is not for file beginnings and referencing 'head' and 'cat'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage context: 'Use to view recent file additions or check log tails' and when not to use: 'Not for viewing file beginnings — use 'head'.' It also directs to alternatives with 'See also 'head', 'cat'.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

teeA
Destructive

Read stdin and write simultaneously to files and stdout with dry-run and append support. Destructive: writes to specified output files. Use --dry_run to preview. Use --append to add to files instead of overwriting. Returns JSON with output paths and byte counts. Use to capture intermediate pipeline data while passing it through. Not for simple file writing without passthrough — use redirection or 'cp'. For secure overwriting use 'shred'. See also 'cat', 'echo'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoEcho stdin to stdout without a JSON envelope.
pathsNoFiles to write.
appendNoAppend instead of replacing.
dry_runNoReport operations without writing files.
parentsNoCreate missing parent directories.
max_preview_bytesNoMaximum JSON preview bytes.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds context beyond the destructiveHint annotation: describes dry-run preview, append behavior, and return format (JSON with paths and byte counts). No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with main action, no redundant words. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 6 params and no output schema, the description explains the output format, usage context, and alternatives. It is sufficiently complete for effective tool selection and use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description does not need to repeat parameter details. However, it briefly mentions '--dry_run' and '--append' with context, adding minimal value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Read stdin and write simultaneously to files and stdout', providing a specific verb and resource. It also mentions dry-run and append support, and distinguishes from siblings like 'cat', 'shred'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('capture intermediate pipeline data') and when not ('not for simple file writing... use redirection or cp'). Provides alternatives like 'shred' and references to 'cat', 'echo'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

testA
Read-only

Evaluate file predicates (exists, is_file, is_dir, is_executable, is_symlink, is_readable, is_writable) and return structured JSON with the boolean result. Read-only, no side effects. Returns JSON indicating test result and exit code (0 for true, 1 for false). Use for conditional branching based on file properties in scripts. Not for detailed file inspection — use 'stat' for full metadata. See also 'stat', '['.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileNoPath is a regular file.
pathYesPath to test.
emptyNoPath is an empty regular file.
existsNoPath exists. This is the default predicate.
symlinkNoPath is a symbolic link.
readableNoPath is readable.
writableNoPath is writable.
directoryNoPath is a directory.
exit_codeNoReturn exit code 1 when predicates do not match.
non_emptyNoPath is a non-empty regular file.
executableNoPath is executable.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

States read-only and no side effects (aligns with annotations), and details return format (JSON with boolean and exit code).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus a brief see-also; front-loaded with purpose and behavior; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Describes output format and usage context; slightly unclear if multiple predicates can be set, but adequate for a simple file test tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with descriptions; description summarizes predicates but adds minimal extra meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description specifies verb 'evaluate' and resource 'file predicates', lists predicates, and distinguishes from siblings (stat, '[').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises use for conditional branching, warns against detailed inspection, and suggests alternatives (stat, '[').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

timeoutA
Destructive

Run a command with a bounded time limit, automatically terminating it if it exceeds the duration. Captures stdout/stderr up to max_output_bytes. Returns JSON with command output and whether it timed out. Use to prevent runaway commands from blocking agent workflows. Not for introducing delays — use 'sleep' to pause. Not for CPU priority — use 'nice'. See also 'sleep', 'nice'.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNoReport without running the command.
secondsYesTimeout in seconds.
command_argsNoCommand and arguments to run.
max_output_bytesNoMaximum captured stdout/stderr bytes each.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses behavioral traits beyond annotations: automatic termination, output capture up to max_output_bytes, and returning JSON with timeout status. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences cover main action and output, followed by concise usage notes. No wasted words; structure is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters and no output schema, the description adequately covers the tool's behavior, output format, and usage context. Provides enough information for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining return format and overall semantics of seconds (time limit) and max_output_bytes (capture limit), providing context beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: running a command with a bounded time limit, automatically terminating it, and capturing output. It distinguishes from siblings by mentioning alternatives like 'sleep' and 'nice'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use (prevent runaway commands) and when not to (for delays or CPU priority), with specific references to 'sleep' and 'nice' as alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tool-listA
Read-only

Return a compact tool index optimized for LLM function-calling context windows. Read-only, no side effects. Returns JSON with tool names, descriptions, and parameter schemas by default. Use --format=openai for OpenAI-compatible function definitions, --format=anthropic for Anthropic tool format. Use before agent planning to discover available capabilities. Not for human browsing — use 'catalog' for category-organized listing. See also 'catalog', 'coreutils'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite tools JSON directly without a JSON envelope.
formatNoOutput format for function calling.aicoreutils
include_riskNoInclude aicoreutils risk metadata in tool-list output.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true; description adds 'Read-only, no side effects' and explains output formats and risk metadata, providing comprehensive behavioral context without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is compact (4 sentences), front-loaded with purpose, and every sentence provides essential information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 optional parameters, no output schema, and clear annotations, the description fully covers purpose, usage, format options, and alternatives, leaving no gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds value by explaining usage of format options (e.g., --format=openai) and the include_risk parameter, which goes beyond the schema's basic descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a compact tool index for LLM function-calling contexts, specifies verb and resource, and distinguishes from siblings like 'catalog' and 'coreutils'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use ('before agent planning') and when not ('Not for human browsing — use catalog'), and suggests alternatives ('See also catalog, coreutils').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

touchA
Destructive

Update file access and modification timestamps to the current time, or create empty files if they do not exist. Modifies filesystem metadata (timestamps), creates files when path does not exist. Returns JSON with the touched path. Use to refresh timestamps or ensure a file exists. Not for creating directories — use 'mkdir'. Not for changing file size — use 'truncate'. See also 'mkdir', 'truncate'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsYesFiles to touch.
dry_runNoReport operations without changing files.
parentsNoCreate missing parent directories.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Describes modifying metadata and creating files, aligns with 'destructiveHint' annotation, and adds context about return format and file creation behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise, front-loaded purpose, then usage and exclusions; no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given full schema coverage and annotations, the description sufficiently covers purpose, usage, alternatives, and return format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all parameters with descriptions (100% coverage), and the description adds minimal parameter-specific info beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool updates file timestamps or creates empty files, which is specific and distinct from siblings like 'mkdir' and 'truncate'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use (refresh timestamps, ensure file exists) and when not to (creating directories, changing file size), with direct references to alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trA
Read-only

Translate or delete literal characters from files or stdin — character-by-character replacement (NO regex). Read-only, no side effects (reads input, writes to stdout). Use --delete to remove specific characters, --squeeze to collapse repeats. Returns JSON by default; use --raw for plain output. Use for simple character mapping. Not for regex-based substitution — use 'sed' externally. Not for column extraction — use 'cut'. See also 'cut', 'expand'.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoWrite plain transformed text to stdout.
set1YesLiteral source/delete character set. GNU bracket/range syntax is not expanded.
set2NoLiteral replacement character set for translation.
inputNoInput text. When provided, takes priority over stdin and --path.
pathsNoInput file. Repeat for multiple files.
deleteNoDelete characters in SET1.
encodingNoText encoding (default: utf-8). Use 'auto' for BOM/autodetection.utf-8
max_linesNoMaximum JSON lines to emit.
show_encodingNoInclude encoding detection metadata in JSON result.
encoding_errorsNoHow to handle encoding errors (default: replace).replace
squeeze_repeatsNoSqueeze repeated output characters.
encoding_profileNoLocale-aware encoding fallback profile for auto-detection.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description states 'Read-only, no side effects' which aligns with annotation readOnlyHint=true. It also clarifies default output format (JSON) and raw mode, adding useful context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is succinct (5 sentences), front-loaded with main purpose and key distinctions. No redundant information; each sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (12 parameters) and lack of output schema, the description covers essential behavioral traits, default behavior, and disqualifying use cases. Sibling context is rich, and description differentiates well.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds value by explaining the tool's character-level operation, default output, and brief flag purposes, though it does not detail all 12 parameters individually.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description explicitly states the tool translates or deletes literal characters from files or stdin with character-by-character replacement (no regex). It also distinguishes from sibling tools like sed and cut by specifying what it does not do.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear usage guidance: 'Use --delete to remove specific characters, --squeeze to collapse repeats.' Explicitly states when not to use ('Not for regex-based substitution — use sed externally. Not for column extraction — use cut.') and references related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trueA
Read-only

Exit with status 0 (success). Idempotent: always succeeds, takes no arguments, has zero side effects. Returns JSON success envelope. Use to signal successful completion or as a placeholder in scripts. Not for failure signaling — use 'false'. See also 'false'.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses idempotency, zero side effects, and always succeeds. Annotations already have readOnlyHint: true, so description adds confirmation and expands on behavior. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: four short sentences cover purpose, idempotency, usage, and alternatives. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Completely covers all necessary information for this simple tool: what it does, behavior, return format, usage scenarios, and alternative. No gaps given zero parameters and no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters in schema; description explicitly states 'takes no arguments', confirming emptiness. Adds value by stating return format (JSON success envelope) but that's not parameter-related. Schema coverage 100% so baseline is 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Explicitly states 'Exit with status 0 (success)' with a specific verb and resource. Distinguishes from sibling 'false' for failure signaling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance: 'Use to signal successful completion or as a placeholder... Not for failure signaling — use "false". See also "false".' Clearly states when and when not to use, with alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a distinct, well-documented purpose with no functional overlap. Descriptions explicitly reference related tools to aid differentiation, making it easy for an agent to select the correct tool.

Naming Consistency5/5

All tools follow the standard GNU Coreutils naming convention: lowercase, single-word names (e.g., cp, mv, ls) with consistent use of abbreviations. No mixing of conventions or irregular patterns.

Tool Count5/5

With 114 tools, the server covers the full scope of GNU Coreutils comprehensively. Each tool serves a clear purpose within file, text, system, or utility operations—no superfluous entries.

Completeness5/5

The tool surface is essentially complete for the domain of command-line utilities, covering all major categories: file operations, text processing, hashing, permissions, system info, and process management with no obvious gaps.

Maintenance

ActivityStale
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    A config-driven, zero-dependency MCP server with plugin architecture that enables filesystem operations, shell commands, HTTP requests, and utilities through simple JSON configuration.
    3
    1
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides MCP servers that wrap common developer tools (git, npm, docker, etc.) returning structured JSON output, enabling AI agents to reliably interact with these tools without parsing fragile terminal text.
    7
    138
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Universal MCP server that wraps any CLI tool, enabling AI assistants to run commands via natural language.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/caseSHY/AI-CLI'

If you have feedback or need assistance with the MCP directory API, please join our Discord server