Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
aaaaqwq avatar

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)
At a glance

bat-cat capabilities & compatibility

Capabilities
file preview · syntax highlighting · terminal viewer
Platforms
macOS · Linux
From the docs

What bat-cat says it does

`cat` with syntax highlighting, line numbers, and Git integration.
SKILL.md
**On Debian/Ubuntu:** Command may be `batcat` instead of `bat`
SKILL.md
npx skills add https://github.com/aaaaqwq/claude-code-skills --skill bat-cat

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs29
repo stars82
Last updatedAugust 2, 2026
Repositoryaaaaqwq/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

SKILL.mdMarkdownGitHub ↗

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.sh

Viewing 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.txt

Syntax Highlighting

Language detection

# Auto-detect from extension
bat script.py

# Force specific language
bat -l javascript config.txt

# Show all languages
bat --list-languages

Themes

# 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.txt

Git Integration

# Show Git modifications (added/removed/modified lines)
bat --diff file.txt

# Show decorations (Git + file header)
bat --decorations=always file.txt

Output 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.txt

Common Use Cases

Quick file preview:

bat file.json

View logs with syntax highlighting:

bat error.log

Compare files visually:

bat --diff file1.txt
bat file2.txt

Preview before editing:

bat config.yaml && vim config.yaml

Cat replacement in pipes:

bat -p file.txt | grep "pattern"

View specific function:

bat -r 45:67 script.py  # If function is on lines 45-67

Integration with other tools

As pager for man pages:

export MANPAGER="sh -c 'col -bx | bat -l man -p'"
man grep

With ripgrep:

rg "pattern" -l | xargs bat

With fzf:

fzf --preview 'bat --color=always --style=numbers {}'

With diff:

diff -u file1 file2 | bat -l diff

Configuration

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 -p for plain mode when piping
  • Use --paging=never when output is used programmatically
  • bat caches 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 batcat instead of bat
  • Custom syntaxes: Add to ~/.config/bat/syntaxes/
  • Performance: For huge files, use bat --paging=never or plain cat

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

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.