
Bat Cat
- 29 installs
- 82 repo stars
- Updated August 2, 2026
- aaaaqwq/claude-code-skills
bat-cat is a Claude Code skill that teaches an agent to use the `bat` CLI, a cat clone with syntax highlighting, line numbers, and Git integration.
About
bat-cat is a Claude Code skill that documents how to use the `bat` command-line tool, a cat replacement with syntax highlighting, line numbers, and Git integration. A developer uses it to preview files, view logs with highlighting, show specific line ranges, and pipe highlighted output to other shell tools. It also covers themes, config defaults, and integration with ripgrep, fzf, and man pages.
- Wraps the `bat` CLI to view files with syntax highlighting, line numbers, and Git diff markers
- Covers viewing modes, themes, line ranges, and integration with ripgrep, fzf, and man pages
- Requires the `bat` binary installed via brew or apt
Bat Cat by the numbers
- 29 all-time installs (skills.sh)
- Ranked #349 of 550 CLI & Terminal skills by installs in the Skillselion catalog
- Data as of Aug 3, 2026 (Skillselion catalog sync)
bat-cat capabilities & compatibility
- Capabilities
- file preview · syntax highlighting · terminal viewer
- Platforms
- macOS · Linux
What bat-cat says it does
`cat` with syntax highlighting, line numbers, and Git integration.
**On Debian/Ubuntu:** Command may be `batcat` instead of `bat`
npx skills add https://github.com/aaaaqwq/claude-code-skills --skill bat-catAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 29 |
|---|---|
| repo stars | ★ 82 |
| Last updated | August 2, 2026 |
| Repository | aaaaqwq/claude-code-skills ↗ |
What it does
View and preview files in the terminal with syntax highlighting, line numbers, and Git change markers instead of plain cat.
Who is it for?
Previewing files and logs in the terminal with syntax highlighting and Git change markers
Skip if: Editing files or handling huge files where plain cat is faster
When should I use this skill?
You want to view or preview a file in the terminal with highlighting and line numbers
By the numbers
- Available styles: auto, full, plain, changes, header, grid, numbers, snip (8 style options)
Files
bat - Better cat
cat with syntax highlighting, line numbers, and Git integration.
Quick Start
Basic usage
# View file with syntax highlighting
bat README.md
# Multiple files
bat file1.js file2.py
# With line numbers (default)
bat script.sh
# Without line numbers
bat -p script.shViewing modes
# Plain mode (like cat)
bat -p file.txt
# Show non-printable characters
bat -A file.txt
# Squeeze blank lines
bat -s file.txt
# Paging (auto for large files)
bat --paging=always file.txt
bat --paging=never file.txtSyntax Highlighting
Language detection
# Auto-detect from extension
bat script.py
# Force specific language
bat -l javascript config.txt
# Show all languages
bat --list-languagesThemes
# List available themes
bat --list-themes
# Use specific theme
bat --theme="Monokai Extended" file.py
# Set default theme in config
# ~/.config/bat/config: --theme="Dracula"Line Ranges
# Show specific lines
bat -r 10:20 file.txt
# From line to end
bat -r 100: file.txt
# Start to specific line
bat -r :50 file.txt
# Multiple ranges
bat -r 1:10 -r 50:60 file.txtGit Integration
# Show Git modifications (added/removed/modified lines)
bat --diff file.txt
# Show decorations (Git + file header)
bat --decorations=always file.txtOutput Control
# Output raw (no styling)
bat --style=plain file.txt
# Customize style
bat --style=numbers,changes file.txt
# Available styles: auto, full, plain, changes, header, grid, numbers, snip
bat --style=header,grid,numbers file.txtCommon Use Cases
Quick file preview:
bat file.jsonView logs with syntax highlighting:
bat error.logCompare files visually:
bat --diff file1.txt
bat file2.txtPreview before editing:
bat config.yaml && vim config.yamlCat replacement in pipes:
bat -p file.txt | grep "pattern"View specific function:
bat -r 45:67 script.py # If function is on lines 45-67Integration with other tools
As pager for man pages:
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
man grepWith ripgrep:
rg "pattern" -l | xargs batWith fzf:
fzf --preview 'bat --color=always --style=numbers {}'With diff:
diff -u file1 file2 | bat -l diffConfiguration
Create ~/.config/bat/config for defaults:
# Set theme
--theme="Dracula"
# Show line numbers, Git modifications and file header, but no grid
--style="numbers,changes,header"
# Use italic text on terminal
--italic-text=always
# Add custom mapping
--map-syntax "*.conf:INI"Performance Tips
- Use
-pfor plain mode when piping - Use
--paging=neverwhen output is used programmatically batcaches parsed files for faster subsequent access
Tips
- Alias:
alias cat='bat -p'for drop-in cat replacement - Pager: Use as pager with
export PAGER="bat" - On Debian/Ubuntu: Command may be
batcatinstead ofbat - Custom syntaxes: Add to
~/.config/bat/syntaxes/ - Performance: For huge files, use
bat --paging=neveror plaincat
Common flags
-p/--plain: Plain mode (no line numbers/decorations)-n/--number: Only show line numbers-A/--show-all: Show non-printable characters-l/--language: Set language for syntax highlighting-r/--line-range: Only show specific line range(s)
Documentation
GitHub: https://github.com/sharkdp/bat Man page: man bat Customization: https://github.com/sharkdp/bat#customization
{
"ownerId": "kn7anq2d7gcch060anc2j9cg89800dyv",
"slug": "bat-cat",
"version": "1.0.0",
"publishedAt": 1769692034002
}{
"version": 1,
"registry": "https://clawhub.ai",
"slug": "bat-cat",
"installedVersion": "1.0.0",
"installedAt": 1770443029442
}