Skills DirectorySearch all skills ↗

AI agent skill · by @zeenie-ai

File Read Skill

Read raw file contents with line-based pagination support.

Archived 2026-10-23 · Source updated 2026-09-15 · License: MIT. Check the original repository for the latest version.

SKILL.md instructions

# File Read Tool

Read raw file contents with line-based pagination. Uses the
workspace-contained native filesystem backend.

**Path sandbox:** all paths resolve inside the per-workflow workspace root. Use workspace-relative paths (e.g. `reports/data.csv`); `..` and `~` segments are rejected, and absolute paths are remapped into the workspace. Use `fs_search` with `mode: "ls"` to discover what exists.

## file_read Tool

### Schema Fields

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| file_path | string | Yes | Path to the file to read |
| offset | int | No | Line number to start from, 0-indexed (default: 0) |
| limit | int | No | Maximum lines to read (default: 2000, max: 10000) |

### Examples

**Read a file:**
```json
{"file_path": "/path/to/file.py"}
```

**Read with pagination:**
```json
{"file_path": "/path/to/large_file.py", "offset": 100, "limit": 50}
```

### Response Format

```json
{
  "content": "line one\nline two\n...",
  "line_count": 2,
  "file_path": "/path/to/file.py"
}
```

### Guidelines

1. Use offset/limit for large files instead of reading everything
2. `content` is the selected text slice, without added line numbers; text line
   endings are normalized to LF
3. `line_count` counts the lines in the returned slice, not the whole file
4. `file_path` is the normalized virtual path inside the workflow workspace
5. Non-UTF-8 files are returned as base64 text in `content`; the tool result
   does not include a separate `encoding` field, and line pagination is not
   applied to that base64 representation

Related skills