| name | viewing-files |
| description | Enhanced cat clone with syntax highlighting, Git integration, and automatic paging for efficient file content viewing. Use this skill when viewing source files, documentation, or when syntax highlighting would improve readability |
bat: Enhanced File Viewer with Syntax Highlighting
Always invoke bat 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 → bat skill (preview enhanced output)
Default Strategy
Invoke bat 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 → bat skill (preview enhanced output).
Key Options
Display Control
-n/--numberline numbers only-p/--plainplain output (no decorations)-A/--show-allshow non-printable characters--line-range START:ENDview specific lines--wrap neverdisable line wrapping--tabs Nset tab width to N spaces
Language & Themes
-l/--language LANGforce language detection--list-languagesshow supported languages--list-themesshow available themes--theme NAMEset color theme (default: Monokai Extended)--theme-dark/--theme-lightauto-switch themes based on terminalBAT_THEMEenvironment variable for default theme
Output Styling
--style COMPONENTScontrol output (numbers,changes,header,grid,snip)--decorations auto|never|alwayscontrol decorations--color always|never|autocontrol coloring
Paging
--paging auto|never|alwayscontrol paging behavior--pager COMMANDset custom pagerBAT_PAGERenvironment variable
When to Use
- Code Review: View source files with syntax highlighting and line numbers
- Git Workflow: Check file modifications and view historical versions
- Documentation: Colorize help pages and documentation
- File Concatenation: Replace cat with enhanced features
- Integration: Use as previewer for fzf or other tools
Core Principles
- Enhanced cat: Drop-in replacement with intelligent improvements
- Smart Defaults: Automatic paging when appropriate, Git integration when in repo
- Syntax Highlighting: Supports 200+ languages with accurate detection
- Performance Optimized: Fast loading, efficient rendering, handles large files well
Detailed Reference
For comprehensive usage patterns, integration examples, advanced features, and troubleshooting, load bat guide 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
- fd → fzf → bat: Find files, select interactively, view with syntax highlighting
- ripgrep → fzf → bat: Search content, select matches, view with highlighting
- jq/yq → fzf → bat: Extract data, select entries, view formatted output
For Analysis Phase
- analyzing-code-structure → bat: Preview structural changes with syntax highlighting
- sd → bat: Preview find-and-replace results before committing
- extracting-code-structure → bat: View extracted code structure with formatting
For Output Preview
- tokei → bat: View code statistics with formatted output
- ripgrep → bat: Preview matched files with context highlighting
- jq/yq → bat: View extracted structured data with syntax formatting
Integration Examples
# Interactive file viewer
fd --type file | fzf --preview="bat --color=always --style=numbers {}" --bind="enter:execute(bat {})"