Agent skill

unix-macos-engineer

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.

Stars 20
Forks 6

Install this agent skill to your Project

npx add-skill https://github.com/petekp/claude-code-setup/tree/main/skills/unix-macos-engineer

SKILL.md

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

# 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

Expand your agent's capabilities with these related and highly-rated skills.

petekp/claude-code-setup

ubiquitous-language

Extract a DDD-style ubiquitous language glossary from the current conversation, flagging ambiguities and proposing canonical terms. Saves to UBIQUITOUS_LANGUAGE.md. Use when user wants to define domain terms, build a glossary, harden terminology, create a ubiquitous language, or mentions "domain model" or "DDD".

20 6
Explore
petekp/claude-code-setup

every-style-editor

This skill should be used when reviewing or editing copy to ensure adherence to Every's style guide. It provides a systematic line-by-line review process for grammar, punctuation, mechanics, and style guide compliance.

20 6
Explore
petekp/claude-code-setup

manage-codex

Autonomous Codex batch orchestrator. Use for "/manage-codex", "manage codex", "use codex", "dispatch to codex", or long-running Codex work.

20 6
Explore
petekp/claude-code-setup

seo-audit

When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not showing up in Google," "site isn't ranking," "Google update hit me," "page speed," "core web vitals," "crawl errors," or "indexing issues." Use this even if the user just says something vague like "my SEO is bad" or "help with SEO" — start with an audit. For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema-markup. For AI search optimization, see ai-seo.

20 6
Explore
petekp/claude-code-setup

capture-learning

Analyze recent conversation context and capture learnings to project knowledge files (for project-specific insights) or skills/commands/subagents (for cross-project patterns). Use when the user asks to "capture this learning", "update the docs with this", "remember this for next time", "document this issue", "add this to CLAUDE.md", "save this knowledge", or "update project knowledge". Also triggers after resolving build/setup issues, discovering non-obvious patterns, or completing debugging sessions with valuable insights.

20 6
Explore
petekp/claude-code-setup

agent-changelog

Compile an agent-optimized changelog by cross-referencing git history with plans and documentation. Use when asked to "update changelog", "compile history", "document project evolution", or proactively after major milestones, architectural changes, or when stale/deprecated information is detected that could confuse coding agents.

20 6
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results