Help us improve
Share bugs, ideas, or general feedback.
From skills
Manages terminal/shell environment config including zsh, aliases, tmux, starship, Ghostty, yabai, and GNU Stow dotfiles. Useful when editing shell config, adding aliases, or managing dotfiles.
npx claudepluginhub kriscard/skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/skills:shell-env**/.dotfiles/****/.zshrc**/zsh.d/****/tmux.conf**/starship.tomlThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
All config is managed with **GNU Stow** from `~/.dotfiles`. Never edit files directly in `~` — always edit the source in `~/.dotfiles` and let Stow manage the symlinks.
Emulates terminal using libghostty-vt library: parses VT sequences for C0 controls, cursor movement/positioning, erase/display/line, SGR, OSC titles/hyperlinks. Includes tmux+zsh+fzf+ripgrep.
Installs and configures tmux on macOS via Homebrew with Dracula theme, TPM plugin manager, vim-style keybindings, Ctrl-a prefix, and optimized settings like Alt-arrow pane switching.
Optimizes terminal for Claude Code with Ghostty config, statusline for context/git info, macOS voice dictation tips, tab naming, and tmux per git worktree.
Share bugs, ideas, or general feedback.
All config is managed with GNU Stow from ~/.dotfiles. Never edit files directly in ~ — always edit the source in ~/.dotfiles and let Stow manage the symlinks.
| Tool | Source path | Symlinked to |
|---|---|---|
| Zsh | ~/.dotfiles/zsh/.zshrc | ~/.zshrc |
| Zsh modules | ~/.dotfiles/zsh/zsh.d/ | ~/.zsh.d/ |
| Ghostty | ~/.dotfiles/.config/ghostty/config | ~/.config/ghostty/config |
| Tmux | ~/.dotfiles/.config/tmux/tmux.conf | ~/.config/tmux/tmux.conf |
| Starship | ~/.dotfiles/.config/starship.toml | ~/.config/starship.toml |
| Neovim | ~/.dotfiles/.config/nvim/ | ~/.config/nvim/ |
cd ~/.dotfiles
# Symlink a package (creates symlinks in home dir)
stow zsh
stow nvim
# Remove symlinks for a package (does NOT delete source files)
stow -D zsh
# Re-stow (unlink + relink, useful after restructuring)
stow -R zsh
# Dry run — see what would change without doing it
stow -n zsh
When adding a new tool:
mkdir ~/.dotfiles/<toolname>.config/ghostty/ for ~/.config/ghostty/)stow <toolname> from ~/.dotfiles~/.dotfiles/zsh/zsh.d/ holds modular files, sourced automatically by .zshrc. Add new functionality as separate files rather than growing .zshrc:
zsh.d/
├── aliases.zsh # all aliases
├── exports.zsh # PATH and environment variables
├── functions.zsh # shell functions
├── completions.zsh # completion config
└── tools.zsh # tool-specific init (zoxide, starship, etc.)
Config at ~/.dotfiles/.config/ghostty/config. Current theme: Catppuccin Macchiato, font: MonoLisa.
# Key config fields
theme = catppuccin-macchiato
font-family = MonoLisa
Changes take effect on Ghostty restart (or Cmd+Shift+, to reload config on macOS).
Tmux config at ~/.dotfiles/.config/tmux/tmux.conf. Session management via sesh — creates and attaches to named tmux sessions.
sesh connect <project> # create or attach to a session
sesh list # list active sessions
When editing tmux config, reload without restart: tmux source ~/.config/tmux/tmux.conf or prefix + r if you have that binding.
Config at ~/.dotfiles/.config/starship.toml. Docs: starship.rs/config.
starship explain # shows what each segment in current prompt means
starship timings # shows how long each module took to render
Window manager config typically at ~/.dotfiles/.config/yabai/yabairc. Reload after changes:
yabai --restart-service
| Priority | Load when | Reference |
|---|---|---|
| 1 — High | Modern CLI tools or shell aliases (eza, bat, fd, rg, zoxide) | references/modern-cli-tools.md |
| 2 — High | Terminal emulator, tmux, Neovim, or Catppuccin theme config | references/terminal-config.md |
| 3 — Medium | Git identity setup, multi-config, or git aliases | references/git-config.md |
# Verify a symlink is correctly set up
ls -la ~/.zshrc # should point to ~/.dotfiles/zsh/.zshrc
# Check all stow packages currently linked
ls ~/.dotfiles/ # each dir is a stow package
# Find broken symlinks in home dir
find ~ -maxdepth 3 -type l ! -e 2>/dev/null