petekp

unix-macos-engineer

by @petekp in Tools
1
0
# Install this skill:
npx skills add petekp/agent-skills --skill "unix-macos-engineer"

Install specific skill from multi-skill repository

# Description

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.

# SKILL.md


name: unix-macos-engineer
description: 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.


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

#!/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

# 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)

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

# Check plist syntax
plutil -lint com.example.agent.plist

Response Style

  • Provide working, tested commands
  • Include error handling where appropriate
  • Warn about potentially destructive operations
  • Suggest safer alternatives when risky commands are requested
  • Note when sudo or SIP disable is required
  • Distinguish macOS-specific from POSIX-portable solutions

Reference Guides

Load the relevant reference when working in that domain:

Domain Reference Contents
launchd references/launchd-patterns.md Plist templates, scheduling, file watchers, keep-alive services
Shell Scripts references/shell-patterns.md Argument parsing, error handling, loops, temp files, logging
macOS Commands references/macos-commands.md defaults, mdfind, open, pbcopy, security, Homebrew

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.