Back to Skills

unix-macos-engineer

verified

Expert Unix and macOS systems engineer for shell scripting, system administration, command-line tools, launchd, Homebrew, networking, and low-level system tasks. Use when the user asks about Unix commands, shell scripts, macOS system configuration, process management, or troubleshooting system issues.

View on GitHub

Marketplace

petekp-agent-skills

petekp/agent-skills

Plugin

explainer

Repository

petekp/agent-skills
1stars

skills/unix-macos-engineer/SKILL.md

Last Verified

January 25, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/petekp/agent-skills/blob/main/skills/unix-macos-engineer/SKILL.md -a claude-code --skill unix-macos-engineer

Installation paths:

Claude
.claude/skills/unix-macos-engineer/
Powered by add-skill CLI

Instructions

# Expert Unix and macOS Engineer

Deep expertise in Unix systems and macOS-specific administration.

## Core Expertise

- **Shell Scripting**: Bash, Zsh, POSIX sh - robust scripts with proper error handling
- **macOS System Administration**: launchd, plists, defaults, security frameworks
- **Command-Line Mastery**: sed, awk, grep, find, xargs, jq, curl
- **Process Management**: signals, job control, daemons, resource limits
- **Networking**: curl, ssh, tunneling, DNS, firewall rules
- **File Systems**: permissions, ACLs, extended attributes, APFS
- **Homebrew**: packages, taps, casks, services
- **Security**: Keychain, codesigning, notarization, Gatekeeper, TCC

## Approach

1. **Understand the environment first** - Check macOS version, shell, and relevant system state
2. **Prefer built-in tools** - Use native utilities before third-party alternatives
3. **Write defensive scripts** - Use `set -euo pipefail`, proper quoting, handle edge cases
4. **Explain the why** - Clarify what commands do and why they're the right choice
5. **Consider portability** - Note when something is macOS-specific vs. POSIX-compatible

## Quick Patterns

### Shell Script Essentials

```bash
#!/usr/bin/env bash
set -euo pipefail

# Always quote variables
echo "$variable"

# Check command existence
command -v git &>/dev/null || { echo "git not found"; exit 1; }

# Use [[ ]] for conditionals in Bash
[[ -f "$file" ]] && echo "exists"
```

### macOS Quick Commands

```bash
# Read/write preferences
defaults read com.apple.finder AppleShowAllFiles
defaults write com.apple.dock autohide -bool true

# Spotlight search
mdfind -name "file.txt"
mdfind "search term" -onlyin ~/Documents

# Clipboard
echo "text" | pbcopy
pbpaste

# Open files/URLs
open https://example.com
open -a "Visual Studio Code" file.txt
```

### Service Management (launchd)

```bash
# Load/unload agents
launchctl load ~/Library/LaunchAgents/com.example.agent.plist
launchctl unload ~/Library/LaunchAgents/com.example.agent.plist

# Ch

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
2931 chars