From mac-expert
This skill should be used when the user asks to "create a dev terminal", "set up a terminal for my project", "create dev and prod terminals", "set up iTerm profiles", "create a dedicated terminal", "configure terminal for my repo", "open terminal in project directory", "create a Claude terminal", or wants dedicated iTerm2 terminal profiles that auto-launch Claude Code in specific project directories with distinct visual themes. Also trigger when the user mentions "dev terminal", "prod terminal", "project terminal", or wants to visually distinguish between development and production environments in their terminal setup.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mac-expert:dev-terminalThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create dedicated, visually distinct iTerm2 terminal profiles that automatically open Claude Code in the correct project directory. Each profile gets its own background color, foreground color, full ANSI color palette, and a visible badge so the user can instantly tell which environment they're working in.
Create dedicated, visually distinct iTerm2 terminal profiles that automatically open Claude Code in the correct project directory. Each profile gets its own background color, foreground color, full ANSI color palette, and a visible badge so the user can instantly tell which environment they're working in.
brew install --cask iterm2~/.zshrc:
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
iTerm2 supports Dynamic Profiles — JSON files in ~/Library/Application Support/iTerm2/DynamicProfiles/ that are automatically loaded and live-reloaded. Each profile specifies a working directory, startup command, background color, foreground color, full ANSI color palette, and badge configuration.
Before creating profiles, collect the following for each terminal:
<product>-dev or <product>-prod (e.g., "jiralyzer-dev", "jiralyzer-prod"). For general-purpose terminals use a descriptive name (e.g., "git-workspace")./Users/maorb/git/jiralyzer-dev)claude)If the user provides a product name and dev/prod paths, generate sensible defaults for colors, badges, and naming (<product>-dev, <product>-prod) without asking.
Use the bundled script to create each profile:
bash scripts/create-iterm-profile.sh "<name>" "<directory>" "<BG R,G,B>" "<FG R,G,B>" "<badge>" "<command>"
Parameters:
name: Profile name shown in iTerm2's Profiles menudirectory: Absolute path — the terminal opens hereBG R,G,B: Background color as float values 0.0-1.0 (e.g., 0.0,0.0,0.2)FG R,G,B: Foreground color as float values 0.0-1.0 (e.g., 0.9,0.9,0.9). Default: light graybadge: Short text badge (optional, defaults to uppercase name)command: Startup command (optional, defaults to claude)The script automatically includes:
Example for a product called "myapp" with dev and prod:
bash scripts/create-iterm-profile.sh "myapp-dev" "/Users/user/git/myapp-dev" "0.0,0.0,0.2" "0.9,0.9,1.0" "DEV" "claude"
bash scripts/create-iterm-profile.sh "myapp-prod" "/Users/user/git/myapp" "0.12,0.12,0.12" "0.8,0.8,0.8" "PROD" "claude"
Every profile MUST include all of these color keys to prevent dark-on-dark text:
If the user reports text is invisible or hard to read, check that ALL color keys above are set. The create script handles this automatically.
The profile JSON files can be edited directly and changes take effect immediately (live-reload). To customize a specific theme further, edit the JSON at ~/Library/Application Support/iTerm2/DynamicProfiles/claude-claude-profile-<name>.json.
Common customizations:
Badge Max Width (0.0-1.0) and Badge Max Height (0.0-1.0). Default is 0.25 x 0.15 (compact).Badge Color > Alpha Component (0.0 invisible to 1.0 fully opaque). Default is 0.5."Transparency": 0.15 for a slight see-through effect.List all Claude-managed profiles:
bash scripts/list-iterm-profiles.sh
Remove a profile:
bash scripts/remove-iterm-profile.sh "<profile-name>"
Each project directory can have its own .claude/settings.json to control which Claude plugins are active. This means the dev terminal and prod terminal can load different plugins automatically.
To configure project-specific plugins, create or edit .claude/settings.json in the project root:
{
"enabledPlugins": {
"plugin-dev@marketplace": true,
"skill-creator@marketplace": true
}
}
Project settings merge with user-level settings (~/.claude/settings.json). To disable a globally-enabled plugin for a specific project, set it to false:
{
"enabledPlugins": {
"plugin-dev@marketplace": false
}
}
After creating profiles, inform the user:
Cmd+O in iTerm2 to see all profilesWhen the user references a Terminal.app theme by name, use these color mappings:
| Theme | Background (R,G,B) | Foreground (R,G,B) | Notes |
|---|---|---|---|
| Ocean | 0.0, 0.1, 0.2 | 0.8, 0.95, 1.0 | Deep blue-green, cyan text |
| Blue | 0.0, 0.0, 0.67 | 1.0, 1.0, 1.0 | Medium blue, white text |
| Clear Dark | 0.12, 0.12, 0.12 | 0.8, 0.8, 0.8 | Dark charcoal, light gray. Add "Transparency": 0.15 |
| Pro | 0.0, 0.0, 0.0 | 1.0, 1.0, 1.0 | Pure black, white text |
| Homebrew | 0.0, 0.0, 0.0 | 0.0, 1.0, 0.0 | Black, green text |
| Novel | 0.93, 0.87, 0.73 | 0.15, 0.12, 0.08 | Warm paper, dark text |
| Grass | 0.0, 0.1, 0.0 | 0.8, 1.0, 0.8 | Dark green, light green |
| Red Sands | 0.47, 0.15, 0.02 | 0.85, 0.78, 0.66 | Dark red-brown, sand text |
For light-background themes (Novel), ANSI colors must be adjusted to be dark instead of bright.
scripts/create-iterm-profile.sh — Create a new iTerm2 Dynamic Profile with full colors, badge, and ANSI palettescripts/list-iterm-profiles.sh — List all Claude-managed profiles with their settingsscripts/remove-iterm-profile.sh — Remove a profile by nameProvides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.
npx claudepluginhub final-il/maor-skills-marketplace --plugin mac-expert