From extras
Configure a new Mac development environment from scratch. Covers Homebrew, Git, Zsh/Oh My Zsh, iTerm2, tmux, vim, ssh, and modern CLI tools. Use this skill whenever the user mentions setting up a new Mac, configuring their computer, installing dev tools, Mac environment setup, brew install, terminal configuration, dotfiles, or wants help with their macOS development environment. Also trigger for specific tool configs like 'configure iTerm2', 'set up tmux', 'configure git aliases', 'install Homebrew', 'configure zsh', or 'set up ssh keys'.
How this skill is triggered — by the user, by Claude, or both
Slash command
/extras:mac-setupThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A skill for configuring a new Mac development environment. Guides the user through 5 stages of setup, from basic tools to system optimization.
references/brewfile-reference.mdreferences/cli-tools.mdreferences/dev-languages.mdreferences/git-config.mdreferences/gui-apps.mdreferences/iterm2-config.mdreferences/macos-defaults.mdreferences/mirrors-china.mdreferences/ssh-config.mdreferences/tmux-config.mdreferences/vim-config.mdreferences/zsh-config.mdA skill for configuring a new Mac development environment. Guides the user through 5 stages of setup, from basic tools to system optimization.
mac-setup/
├── SKILL.md ← You are here. Core flow and interaction strategy.
└── references/
├── git-config.md ← Git alias system + ~/.gitconfig template
├── zsh-config.md ← Oh My Zsh + ~/.myzshrc template (proxy/k8s/bazel/protoc functions)
├── iterm2-config.md ← iTerm2 full config (shortcuts/themes/triggers/Shell Integration)
├── vim-config.md ← ~/.vimrc complete template
├── tmux-config.md ← ~/.tmux.conf complete template (C-a prefix/mouse/UI design)
├── ssh-config.md ← ~/.ssh/config format + port forwarding
├── cli-tools.md ← Modern CLI tools (ripgrep/fzf/lazygit/tldr/opencode/claude code/openskills)
├── gui-apps.md ← GUI applications by category (editors/networking/AI tools/productivity)
├── dev-languages.md ← Language version managers (nvm/pyenv/sdkman/rustup)
├── brewfile-reference.md ← Brewfile syntax + templates + recommended apps
├── macos-defaults.md ← macOS defaults commands for system preferences
└── mirrors-china.md ← China mirror sources for Homebrew/npm/pip/Go/Docker
Read reference files on demand based on the user's needs at each stage.
This is a guided, not automated setup. Follow these principles:
brew install commands are safe to re-run. Before overwriting config files (~/.zshrc, ~/.vimrc, etc.), always suggest backing up first.Before any installation, assess the current state. Run these checks silently:
# macOS version and architecture
sw_vers && uname -m
# Check existing tools
for cmd in brew git zsh vim tmux ssh node python3 go; do
printf "%-10s " "$cmd"
if command -v "$cmd" &>/dev/null; then
echo "✓ installed"
else
echo "✗ not found"
fi
done
Then ask the user:
Based on their answers, decide which stages need full setup vs. incremental optimization.
Essential for many command-line tools to work:
xcode-select --install
Install Homebrew if not present:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
For Apple Silicon (M1/M2/M3/M4), add Homebrew to PATH:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
For China users, see references/mirrors-china.md for mirror source configuration.
Read references/git-config.md for the complete Git alias system and configuration. The core setup includes:
# Aliases
git config --global alias.cm commit
git config --global alias.co checkout
git config --global alias.st status
git config --global alias.br branch
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
git config --global alias.pl pull
git config --global alias.rb rebase
git config --global alias.ad add
git config --global alias.ps push
# Settings
git config --global pull.rebase true
git config --global core.excludesfile ~/.gitignore_global
git config --global core.editor vim
git config --global help.autocorrect 50
# User info (prompt the user for their name and email)
git config --global user.name "User Name"
git config --global user.email "[email protected]"
brew install protobuf
This is the most important stage. Guide the user through Shell configuration, terminal app setup, and editor config.
Read references/zsh-config.md for the complete Zsh setup including:
Quick install:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Recommend one of these and read references/iterm2-config.md for iTerm2 setup:
brew install --cask iterm2)brew install --cask warp)brew install --cask ghostty)brew install --cask wezterm)Required for proper icon display in themes:
brew install --cask font-hack-nerd-font
brew install --cask font-jetbrains-mono-nerd-font
Read references/vim-config.md for the complete ~/.vimrc template with indentation, folding, status bar, and color scheme.
Read references/tmux-config.md for the complete ~/.tmux.conf template with C-a prefix, mouse support, split shortcuts, and status bar UI design.
Install:
brew install tmux
Read references/ssh-config.md for ~/.ssh/config format, host aliases, port forwarding, and key management.
Read references/dev-languages.md for complete setup. Quick recommendations by language:
| Language | Manager | Install |
|---|---|---|
| Node.js | nvm | See dev-languages.md |
| Python | pyenv | brew install pyenv |
| Java | sdkman | See dev-languages.md |
| Go | (none needed) | brew install go |
| Rust | rustup | See dev-languages.md |
Read references/cli-tools.md for the complete list. Essentials:
# File & search
brew install ripgrep fd bat fzf zoxide eza
# Git enhancement
brew install lazygit gh git-delta
# Utilities
brew install jq htop
Install the OpenSkills manager to discover and install agent skills:
npm install -g openskills
# Verify installation
openskills --version
Read references/gui-apps.md for recommended GUI applications by category (code editors, productivity, networking, AI tools, browsers). Tailor recommendations based on the user's development focus.
Read references/macos-defaults.md for batch system optimization via defaults commands covering Dock, Finder, trackpad, keyboard, screenshots, etc.
Read references/cli-tools.md for CLI utilities like tldr, rsync, unison.
Read references/gui-apps.md for GUI applications including:
Read references/brewfile-reference.md for Brewfile management. After all installations are complete:
# Export current environment
brew bundle dump --file=~/Brewfile --force
# On a new Mac, restore everything
brew bundle --file=~/Brewfile
Read references/mirrors-china.md if the user is in mainland China. Covers Homebrew, npm, pip, Go, Docker, and Ruby mirror configurations.
When the user asks about a specific topic, read the corresponding reference file:
| Topic | File |
|---|---|
| Git aliases & config | references/git-config.md |
| Zsh/Oh My Zsh/.myzshrc | references/zsh-config.md |
| iTerm2 configuration | references/iterm2-config.md |
| Vim ~/.vimrc | references/vim-config.md |
| Tmux ~/.tmux.conf | references/tmux-config.md |
| SSH ~/.ssh/config | references/ssh-config.md |
| CLI tools (ripgrep/fzf/opencode/claude code/openskills) | references/cli-tools.md |
| GUI apps (editors/networking/AI/productivity) | references/gui-apps.md |
| Language managers | references/dev-languages.md |
| Brewfile | references/brewfile-reference.md |
| macOS defaults | references/macos-defaults.md |
| China mirrors | references/mirrors-china.md |
Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub shanghai-jerry/skills --plugin extras