← Back to Skills Marketplace
arnarsson

Bat Cat

by Arnarsson · GitHub ↗ · v1.0.0
cross-platform ✓ Security Clean
3132
Downloads
2
Stars
8
Active Installs
1
Versions
Install in OpenClaw
/install bat-cat
Description
A cat clone with syntax highlighting, line numbers, and Git integration - a modern replacement for cat.
README (SKILL.md)

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

Usage Guidance
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.
Capability Analysis
Type: OpenClaw Skill Name: bat-cat Version: 1.0.0 The skill bundle is benign. It provides instructions and metadata for installing and using the 'bat' command-line tool, a legitimate open-source utility for viewing files. All commands and instructions in SKILL.md are directly related to the stated purpose of 'bat' and do not exhibit any signs of data exfiltration, malicious execution, persistence, or prompt injection attempts against the agent. Installation instructions use standard package managers (brew, apt) for a well-known binary.
Capability Assessment
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.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install bat-cat
  3. After installation, invoke the skill by name or use /bat-cat
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
bat-cat 1.0.0 – Initial Release - Introduces a modern cat replacement with syntax highlighting, line numbers, and Git integration. - Provides quick start usage instructions and examples for common scenarios. - Documents advanced features: viewing modes, syntax highlighting options, themes, and output styles. - Explains integration with tools like ripgrep, fzf, diff, and use as a pager. - Includes configuration tips, performance advice, and common command flags. - References official resources for further documentation and customization.
Metadata
Slug bat-cat
Version 1.0.0
License
All-time Installs 10
Active Installs 8
Total Versions 1
Frequently Asked Questions

What is Bat Cat?

A cat clone with syntax highlighting, line numbers, and Git integration - a modern replacement for cat. It is an AI Agent Skill for Claude Code / OpenClaw, with 3132 downloads so far.

How do I install Bat Cat?

Run "/install bat-cat" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Bat Cat free?

Yes, Bat Cat is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Bat Cat support?

Bat Cat is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Bat Cat?

It is built and maintained by Arnarsson (@arnarsson); the current version is v1.0.0.

💬 Comments