Bat Cat
v1.0.0A cat clone with syntax highlighting, line numbers, and Git integration - a modern replacement for cat.
Security Scan
OpenClaw
Benign
high confidencePurpose & 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 batlatest
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
-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
Comments
Loading comments...
