bat-cat

$npx mdskill add aAAaqwq/AGI-Super-Team/bat-cat

Highlight code with syntax, line numbers, and Git support.

  • Displays files with color-coded syntax and line numbering.
  • Requires the bat binary installed via package manager.
  • Executes commands directly using the bat executable.
  • Outputs formatted text to the terminal with optional paging.

SKILL.md

.github/skills/bat-catView on GitHub ↗
---
name: bat-cat
description: A cat clone with syntax highlighting, line numbers, and Git integration - a modern replacement for cat.
homepage: https://github.com/sharkdp/bat
metadata: {"clawdbot":{"emoji":"🦇","requires":{"bins":["bat"]},"install":[{"id":"brew","kind":"brew","formula":"bat","bins":["bat"],"label":"Install bat (brew)"},{"id":"apt","kind":"apt","package":"bat","bins":["bat"],"label":"Install bat (apt)"}]}}
---

# bat - Better cat

`cat` with syntax highlighting, line numbers, and Git integration.

## Quick Start

### Basic usage
```bash
# 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
```bash
# 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
```bash
# Auto-detect from extension
bat script.py

# Force specific language
bat -l javascript config.txt

# Show all languages
bat --list-languages
```

### Themes
```bash
# 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

```bash
# 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

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

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

## Output Control

```bash
# 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:**
```bash
bat file.json
```

**View logs with syntax highlighting:**
```bash
bat error.log
```

**Compare files visually:**
```bash
bat --diff file1.txt
bat file2.txt
```

**Preview before editing:**
```bash
bat config.yaml && vim config.yaml
```

**Cat replacement in pipes:**
```bash
bat -p file.txt | grep "pattern"
```

**View specific function:**
```bash
bat -r 45:67 script.py  # If function is on lines 45-67
```

## Integration with other tools

**As pager for man pages:**
```bash
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
man grep
```

**With ripgrep:**
```bash
rg "pattern" -l | xargs bat
```

**With fzf:**
```bash
fzf --preview 'bat --color=always --style=numbers {}'
```

**With diff:**
```bash
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

More from aAAaqwq/AGI-Super-Team

SkillDescription
a-fund-monitor监控 A 股基金实时估值与盘后净值,自动判断交易日并生成提醒或分析。
add-leadAdd company/person/relationship to CRM
ads-agentAI-агент для управления Facebook рекламой. Вызывай для анализа, оптимизации, создания кампаний и отчётов.
afrexai-compliance-auditRun internal compliance audits against major governance and security
afrexai-personal-financeComplete personal finance system — budgeting, debt payoff, investing, tax optimization, net worth tracking, and financial independence planning. Use when managing money, building wealth, paying off debt, planning retirement, or optimizing taxes. Zero dependencies.
after-salesUse when managing post-purchase experience, building customer loyalty, or increasing repeat purchases
agent-contactsAI agent contacts — add, list, remove MCP contacts. Use when someone gives an agent URL, or when you need to view/remove contacts.
agent-model-switcher批量查看和切换子 agent 的模型配置,用于统一调整多 agent 的 provider/model 设置。
agent-patternsFormat SPAWN REQUEST messages to launch parallel agents, generate structured agent status reports, and define communication protocols within the sprint system. Use when the user needs to coordinate multiple agents, format spawn requests, produce agent reports, or establish inter-agent communication patterns.
agent-task-confirmUse when confirming whether a dispatched agent task was actually received, activated, and progressing after sessions_send or other task handoff actions.