Install any skill in seconds. Free to start, no credit card required.
Get Started Free →A cat clone with syntax highlighting, line numbers, and Git integration - a modern replacement for cat.
.claude/skills/penpot-bat-cat/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-12 | ✗→✓ | ▲ Improved | 57% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 20% | 0% |
| case-01 | ✓→✓ | = Same ✓ | 53% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 105% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 175% | 0% |
cat with syntax highlighting, line numbers, and Git integration.
cat: syntax highlighting, line numbers, git-side indicators.
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
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
bash# Auto-detect from extension bat script.py # Force specific language bat -l javascript config.txt # Show all languages bat --list-languages
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"
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
bash# Show Git modifications (added/removed/modified lines) bat --diff file.txt # Show decorations (Git + file header) bat --decorations=always file.txt
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
Quick file preview:
bashbat file.json
View logs with syntax highlighting:
bashbat error.log
Compare files visually:
bashbat --diff file1.txt bat file2.txt
Preview before editing:
bashbat config.yaml && vim config.yaml
Cat replacement in pipes:
bashbat -p file.txt | grep "pattern"
View specific function:
bashbat -r 45:67 script.py # If function is on lines 45-67
As pager for man pages:
bashexport MANPAGER="sh -c 'col -bx | bat -l man -p'" man grep
With ripgrep:
bashrg "pattern" -l | xargs bat
With fzf:
bashfzf --preview 'bat --color=always --style=numbers {}'
With diff:
bashdiff -u file1 file2 | bat -l diff
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"-p for plain mode when piping--paging=never when output is used programmaticallybat caches parsed files for faster subsequent accessalias cat='bat -p' for drop-in cat replacementexport PAGER="bat"batcat instead of bat~/.config/bat/syntaxes/bat --paging=never or plain cat-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)GitHub: https://github.com/sharkdp/bat Man page: man bat Customization: https://github.com/sharkdp/bat#customization
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | pass→pass | 8,612 | 4,547 | -47% | 1 | 1 | 0% | 1,139 | 1,748 | +53% | 0 | 0 | — |
case-02 | pass→pass | 5,966 | 105,388 | +1666% | 1 | 1 | 0% | 752 | 1,545 | +105% | 0 | 0 | — |
case-03 | pass→pass | 4,141 | 2,732 | -34% | 1 | 1 | 0% | 512 | 1,407 | +175% | 0 | 0 | — |
case-04 | pass→pass | 7,089 | 2,997 | -58% | 1 | 1 | 0% | 748 | 1,421 | +90% | 0 | 0 | — |
case-05 | pass→pass | 7,548 | 3,332 | -56% | 1 | 1 | 0% | 1,007 | 1,532 | +52% | 0 | 0 | — |
case-06 | pass→pass | 34,939 | 3,155 | -91% | 1 | 1 | 0% | 5,837 | 1,512 | -74% | 0 | 0 | — |
case-07 | pass→pass | 4,120 | 4,643 | +13% | 1 | 1 | 0% | 604 | 1,808 | +199% | 0 | 0 | — |
case-08 | pass→pass | 3,404 | 4,212 | +24% | 1 | 1 | 0% | 388 | 1,654 | +326% | 0 | 0 | — |
case-09 | pass→pass | 6,462 | 3,601 | -44% | 1 | 1 | 0% | 839 | 1,579 | +88% | 0 | 0 | — |
case-10 | pass→pass | 10,591 | 7,072 | -33% | 1 | 1 | 0% | 1,626 | 2,241 | +38% | 0 | 0 | — |
case-11 | pass→pass | 8,748 | 8,794 | +1% | 1 | 1 | 0% | 1,362 | 2,502 | +84% | 0 | 0 | — |
case-12 | fail→pass | 6,837 | 3,086 | -55% | 1 | 1 | 0% | 988 | 1,554 | +57% | 0 | 0 | — |
case-13 | pass→pass | 6,968 | 4,204 | -40% | 1 | 1 | 0% | 970 | 1,549 | +60% | 0 | 0 | — |
case-14 | fail→pass | 9,532 | 4,210 | -56% | 1 | 1 | 0% | 1,434 | 1,727 | +20% | 0 | 0 | — |
case-15 | pass→pass | 8,692 | 5,033 | -42% | 1 | 1 | 0% | 1,200 | 1,890 | +57% | 0 | 0 | — |
case-16 | pass→pass | 8,241 | 4,449 | -46% | 1 | 1 | 0% | 1,198 | 1,733 | +45% | 0 | 0 | — |
case-17 | pass→pass | 6,810 | 3,829 | -44% | 1 | 1 | 0% | 871 | 1,413 | +62% | 0 | 0 | — |
case-18 | pass→pass | 6,655 | 3,516 | -47% | 1 | 1 | 0% | 990 | 1,656 | +67% | 0 | 0 | — |
case-19 | pass→pass | 16,581 | 3,940 | -76% | 1 | 1 | 0% | 1,047 | 1,620 | +55% | 0 | 0 | — |
case-20 | pass→pass | 5,773 | 10,091 | +75% | 1 | 1 | 0% | 828 | 2,622 | +217% | 0 | 0 | — |
case-21 | pass→pass | 7,169 | 3,914 | -45% | 1 | 1 | 0% | 1,129 | 1,717 | +52% | 0 | 0 | — |
case-22 | pass→pass | 6,743 | 4,588 | -32% | 1 | 1 | 0% | 1,058 | 1,803 | +70% | 0 | 0 | — |
case-23 | pass→pass | 11,623 | 2,967 | -74% | 1 | 1 | 0% | 1,010 | 1,543 | +53% | 0 | 0 | — |
case-24 | pass→pass | 6,624 | 2,439 | -63% | 1 | 1 | 0% | 788 | 1,363 | +73% | 0 | 0 | — |
case-25 | pass→pass | 12,333 | 4,008 | -68% | 1 | 1 | 0% | 1,955 | 1,553 | -21% | 0 | 0 | — |
case-26 | pass→pass | 4,803 | 4,796 | -0% | 1 | 1 | 0% | 615 | 1,628 | +165% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 26 cases were attempted. The headline lift of +8 percentage points is the difference between those two pass rates over the 26 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.