# Viewing Files

> Use when viewing source files or documentation with syntax highlighting, previewing files with Git integration, or when enhanced readability would improve code review

- Skill: `sebastiendegodez/viewing-files` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add sebastiendegodez/viewing-files`
- Raw SKILL.md: https://api.skillmd.com/api/skills/sebastiendegodez/viewing-files/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: SebastienDegodez (https://skillmd.com/u/sebastiendegodez)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/sebastiendegodez/viewing-files

---


# bat: Enhanced File Viewer with Syntax Highlighting

**Always invoke viewing-files skill for enhanced file viewing - do not execute bash commands directly.**

Use bat as a modern replacement for cat with beautiful syntax highlighting, Git integration, and smart features.

## When to Use bat vs cat

**Use bat when:**
- Viewing source code or structured text files
- Syntax highlighting improves readability
- Need Git integration or line numbers
- Working with files >50 lines where highlighting helps
- Previewing changes from other tools

**Use cat when:**
- Very small files (<10 lines)
- Non-text/binary files
- Simple concatenation without formatting
- When highlighting would add noise
- Performance-critical operations on many tiny files

**Common workflow**: Any skill → viewing-files skill (preview enhanced output)

## Default Strategy

**Invoke viewing-files skill** for enhanced file viewing with syntax highlighting. Use when viewing source files, documentation, or when syntax highlighting improves readability.

Common workflow: Any discovery skill → viewing-files skill (preview enhanced output).

## Key Options

### Display Control
- `-n/--number` line numbers only
- `-p/--plain` plain output (no decorations)
- `-A/--show-all` show non-printable characters
- `--line-range START:END` view specific lines
- `--wrap never` disable line wrapping
- `--tabs N` set tab width to N spaces

### Language & Themes  
- `-l/--language LANG` force language detection
- `--list-languages` show supported languages
- `--list-themes` show available themes
- `--theme NAME` set color theme (default: Monokai Extended)
- `--theme-dark/--theme-light` auto-switch themes based on terminal
- `BAT_THEME` environment variable for default theme

### Output Styling
- `--style COMPONENTS` control output (numbers,changes,header,grid,snip)
- `--decorations auto|never|always` control decorations
- `--color always|never|auto` control coloring

### Paging
- `--paging auto|never|always` control paging behavior
- `--pager COMMAND` set custom pager
- `BAT_PAGER` environment variable

## Detailed Reference

For comprehensive usage patterns, integration examples, advanced features, and troubleshooting, load [bat guide](./reference/bat-guide.md) when needing:
- Git integration workflows
- Output styling and customization details
- Theme configuration and options
- Performance optimization tips
- Shell integration examples

The guide includes:
- Core usage patterns and language control
- Git integration workflows
- Output styling and customization
- Integration with other tools (fzf, git, ripgrep)
- Advanced features and configuration
- Performance tips and troubleshooting

## Skill Combinations

### For Discovery Phase
- **finding-files → fuzzy-selecting → viewing-files**: Find files, select interactively, view with syntax highlighting
- **searching-text → fuzzy-selecting → viewing-files**: Search content, select matches, view with highlighting
- **querying-json/querying-yaml → fuzzy-selecting → viewing-files**: Extract data, select entries, view formatted output

### For Analysis Phase
- **analyzing-code-structure → viewing-files**: Preview structural changes with syntax highlighting
- **replacing-text → viewing-files**: Preview find-and-replace results before committing
- **extracting-code-structure → viewing-files**: View extracted code structure with formatting

### For Output Preview
- **analyzing-code → viewing-files**: View code statistics with formatted output
- **searching-text → viewing-files**: Preview matched files with context highlighting
- **querying-json/querying-yaml → viewing-files**: View extracted structured data with syntax formatting

### Integration Examples
```bash
# Interactive file viewer
fd --type file | fzf --preview="bat --color=always --style=numbers {}" --bind="enter:execute(bat {})"

