Claude-skill-registry-data macos-configuring
Use when configuring macOS settings via terminal, setting up a new machine, asking to configure Finder/Dock/screenshots/keyboard/apps, generating setup scripts, or troubleshooting why a setting didn't take effect.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry-data
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry-data "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/macos-configuring" ~/.claude/skills/majiayu000-claude-skill-registry-data-macos-configuring && rm -rf "$T"
manifest:
data/macos-configuring/SKILL.mdsource content
Configuring macOS
How to configure macOS programmatically. Don't document specific commands here - use training knowledge or web search for those. This skill is about the process.
Responding to "Configure my X"
When the user asks to configure something:
- Training knowledge - Try what you know first
- Search references - Check macos-defaults.com or mathiasbynens/.macos
- Last resort: Discovery - Use the diff technique below
- After writing - Tell user what restart is needed (see table)
- Generating script? - Use the script template
Discovering Unknown Settings (Last Resort)
When training and references don't have the answer:
# 1. Snapshot current state defaults read > /tmp/before.plist # 2. User changes setting in System Settings GUI # 3. Diff to find what changed defaults read > /tmp/after.plist diff /tmp/before.plist /tmp/after.plist
For app-specific:
defaults read com.apple.APPNAME > /tmp/before.plist
To find an app's domain:
osascript -e 'id of app "Photos"' # Returns bundle ID ls ~/Library/Preferences/ | grep -i photos # Or check filesystem defaults domains | tr ',' '\n' | grep -i photos
Applying Changes
Settings require process restart. Never auto-logout or auto-restart - tell the user what they need to do.
| What Changed | How to Apply |
|---|---|
| Dock, hot corners, Spaces | (safe to run) |
| Finder, desktop | (safe to run) |
| Menu bar items | (safe to run) |
| Keyboard, fn key, input | Tell user: "Logout and log back in" |
| Login window | Tell user: "Restart your Mac" |
| Uncertain | Try , then tell user to logout |
Script Template
#!/usr/bin/env bash set -euo pipefail echo "Configuring [category]..." defaults write DOMAIN KEY -TYPE VALUE killall PROCESS 2>/dev/null || true echo "Done."
Troubleshooting
| Problem | Cause & Fix |
|---|---|
| Setting reverts | App overwrote on quit. Close app first. |
| No effect | Wrong domain (), or needs logout not killall |
| Cached values | flushes preference cache |
| Permission denied | May need , or protected by SIP |
Quick Reference
defaults write DOMAIN KEY -TYPE VALUE # Set defaults read DOMAIN KEY # Get defaults delete DOMAIN KEY # Remove defaults find KEYWORD # Search all domains
Types:
-string, -int, -float, -bool, -array, -dict
Resources
- macos-defaults.com - Searchable database of known settings
- mathiasbynens/.macos - Comprehensive example script