Bat Cat

v1.0.0

A cat clone with syntax highlighting, line numbers, and Git integration - a modern replacement for cat.

2· 3k·8 current·10 all-time
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name, description, and instructions consistently describe using the 'bat' pager/pretty-printer; the SKILL.md metadata correctly references the 'bat' binary and common install methods (brew/apt). There are no extraneous credentials, binaries, or unrelated capabilities requested.
Instruction Scope
Runtime instructions are usage examples and configuration tips for running 'bat' locally (commands, config path ~/.config/bat/config, environment variables like MANPAGER as examples). They do not instruct the agent to read or exfiltrate unrelated files or credentials, nor to call external endpoints beyond the documented GitHub homepage.
Install Mechanism
There is no platform install spec in the registry (instruction-only), but SKILL.md metadata lists standard package manager installs (brew, apt) for 'bat' — these are appropriate and low-risk compared with arbitrary downloads.
Credentials
No environment variables or credentials are required by the skill. The document only shows examples that use common env vars (MANPAGER) or user config paths; nothing requests access to secrets or unrelated services.
Persistence & Privilege
The skill does not request persistent presence (always:false) and does not attempt to modify other skills or system-wide agent configuration. Suggested actions (creating a config file, setting aliases) are normal user-level customizations.
Assessment
This is a usage guide for the well-known 'bat' tool and appears internally consistent. Before installing or following commands: (1) prefer your OS package manager (apt/brew) or the official GitHub releases to avoid tampered binaries; (2) installing packages may require elevated privileges — avoid running installers as root unless you trust the source; (3) the SKILL.md shows commands that read files you specify — do not run them on sensitive files you don't intend to display; (4) on Debian/Ubuntu the binary may be named 'batcat' — verify the package name; and (5) creating config files or aliases modifies your shell/user files, so review changes before applying them.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🦇 Clawdis
Binsbat

Install

Install bat (brew)
Bins: bat
brew install bat
latestvk9705bvawegnk70hj1sqxrwg29805sf6
3kdownloads
2stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

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

Comments

Loading comments...