install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/TerminalSkills/skills/atuin" ~/.claude/skills/comeonoliver-skillshub-atuin && rm -rf "$T"
manifest:
skills/TerminalSkills/skills/atuin/SKILL.mdsource content
Atuin — Magical Shell History
You are an expert in Atuin, the Rust-based shell history tool that replaces your shell's built-in history with a searchable, syncable, context-aware database. You help developers set up fuzzy search across shell history, sync history across machines, filter by directory/host/session, and analyze command usage — turning shell history from a flat text file into a powerful productivity tool.
Core Capabilities
Setup and Usage
# Install curl --proto '=https' --tlsv1.2 -LsSf https://setup.atuin.sh | sh # Import existing history atuin import auto # Detects bash/zsh/fish # Interactive search (Ctrl+R replacement) # Press Ctrl+R → fuzzy search across all history # Filter modes: # - Global: all history across all machines # - Host: only current machine # - Session: only current terminal session # - Directory: only commands run in current directory # Sync across machines atuin register -u username -e email -p password atuin sync # E2E encrypted sync atuin login -u username -p password # On another machine atuin sync # History from all machines! # Search atuin search "docker" # Full-text search atuin search --after "2026-03-01" "deploy" atuin search --cwd /project "git" # Only in this directory atuin search --exit 0 "make" # Only successful commands # Stats atuin stats # Most used commands, frequency atuin stats --count 20 # Top 20 commands
Configuration
# ~/.config/atuin/config.toml [settings] dialect = "us" auto_sync = true update_check = true sync_frequency = "5m" search_mode = "fuzzy" # fuzzy | prefix | fulltext | skim filter_mode = "global" # global | host | session | directory style = "compact" # compact | full inline_height = 40 show_preview = true show_help = true exit_mode = "return-original" # Key bindings [keys] scroll_exits = false # Sync settings [sync] records = true # Sync all history records
ZSH/Bash/Fish Integration
# Add to ~/.zshrc eval "$(atuin init zsh)" # Or ~/.bashrc eval "$(atuin init bash)" # Or ~/.config/fish/config.fish atuin init fish | source # Now Ctrl+R opens Atuin's interactive search instead of default
Installation
# macOS brew install atuin # Linux curl --proto '=https' --tlsv1.2 -LsSf https://setup.atuin.sh | sh # Cargo cargo install atuin
Best Practices
- Fuzzy search — Set
; find commands even with typos or partial recallsearch_mode = "fuzzy" - Directory filtering — Use
to see only commands relevant to current projectfilter_mode = "directory" - Sync across machines — Register for E2E encrypted sync; history follows you to any machine
- Exit code filtering — Search
for successful commands; avoid repeating failed attempts--exit 0 - Stats for optimization — Run
to identify frequent commands worth aliasingatuin stats - Import history — Run
immediately after install; don't lose existing historyatuin import auto - Session mode — Use session filter when debugging; see exactly what you ran in this terminal
- Self-hosted — Deploy your own Atuin server for teams;
docker run ghcr.io/atuinsh/atuin