From dotfiles-optimizer
Provides best practices for dotfiles organization, modular zsh structure, modern CLI tools (eza, bat, fd, rg), shell performance optimization, and security patterns like file permissions and secrets handling.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dotfiles-optimizer:dotfiles-best-practicesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Reference knowledge for modern dotfiles configuration, organization, and tooling. Serves as the knowledge base for the dotfiles-optimizer orchestrator.
Reference knowledge for modern dotfiles configuration, organization, and tooling. Serves as the knowledge base for the dotfiles-optimizer orchestrator.
Theme: Catppuccin Macchiato across all tools (set via $THEME_FLAVOUR=macchiato)
Shell structure: Modular zsh.d/ with numeric prefix load ordering:
zsh/zsh.d/
├── 00-env.zsh # Environment variables, PATH
├── 10-options.zsh # Shell options (setopt)
├── 20-completions.zsh # Completion system
├── 30-plugins.zsh # Plugin loading
├── 40-lazy.zsh # Lazy loading functions
├── 50-keybindings.zsh # Key bindings
├── 60-aliases.zsh # Command aliases
├── 70-functions.zsh # Custom functions
├── 80-integrations.zsh # External tool integrations
└── 99-local.zsh # Local overrides (NOT committed)
Main .zshrc sources all modules:
export ZSH="$HOME/.dotfiles/zsh"
for config_file in "$ZSH/zsh.d"/*.zsh(N); do
source "$config_file"
done
| File | Contents |
|---|---|
| modern-cli-tools.md | eza, bat, fd, rg, zoxide, starship, delta, lazygit |
| shell-performance.md | Startup optimization, lazy loading pattern, profiling |
| security-patterns.md | Credentials, file permissions, history security, .gitignore |
| git-config.md | Multi-identity includeIf, aliases |
| terminal-config.md | Kitty, Ghostty, tmux, neovim, Catppuccin theming |
command -v99-local.zsh pattern means local overrides are NOT committed -- don't suggest editing them as shared config.env and git config files must be 600, not 644Performance: Shell startup <500ms, lazy load version managers, cache completions
Security: Never commit secrets, use .env + .env.example pattern, sensitive files chmod 600
Organization: Modular numeric-prefix structure, separate concerns, local overrides in 99-local.zsh
Modern Tools: eza (ls), bat (cat), fd (find), rg (grep), z (cd) -- check existence before aliasing
Git: Multi-config with includeIf, separate personal/work identities, commit signing recommended
Themes: Consistent Catppuccin Macchiato across all tools, single $THEME_FLAVOUR variable
npx claudepluginhub kriscard/kriscard-claude-plugins --plugin dotfiles-optimizerAudits dotfiles health: shell startup time, zsh plugin weight, stow symlink integrity, Neovim startup, tool inventory, and security. Produces a prioritized cleanup report.
Enforces modern best practices for shell scripts: portable shebangs, strict mode, quoted variables, error traps, exit codes, and secure coding. Use when writing Bash or POSIX sh scripts.
Provides shell scripting expertise for bash, zsh, POSIX; CLI tools like jq, yq, fd, rg for JSON/YAML processing, file search, automation, error handling, and cross-platform best practices. Useful for CLI commands, pipes, script development.