Claude-skill-registry admin-unix
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/admin-unix" ~/.claude/skills/majiayu000-claude-skill-registry-admin-unix && rm -rf "$T"
manifest:
skills/data/admin-unix/SKILL.mdsafety · automated scan (medium risk)
This is a pattern-based risk scan, not a security review. Our crawler flagged:
- uses sudo
- pip install
Always read a skill's source content before installing. Patterns alone don't mean the skill is malicious — but they warrant attention.
source content
Unix Administration (macOS + Linux)
Requires: macOS or native Linux (NOT WSL)
Profile-First Approach
Profile location:
ADMIN_ROOT="${HOME}/.admin" PROFILE_PATH="${ADMIN_ROOT}/profiles/$(hostname).json"
Load profile:
source /path/to/admin/scripts/load-profile.sh load_admin_profile show_admin_summary
Platform Detection
OS=$(uname -s) case "$OS" in Darwin) echo "macOS" ;; Linux) if grep -qi microsoft /proc/version 2>/dev/null; then echo "WSL - use admin-wsl instead" else echo "Native Linux" fi ;; esac
Package Management (Profile-Aware)
Check Preference
PKG_MGR=$(jq -r '.preferences.packages.manager' "$PROFILE_PATH")
macOS (Homebrew)
# Install brew install $package # Update brew upgrade $package # List brew list # Search brew search $package
Linux (apt)
# Update index sudo apt update # Install sudo apt install -y $package # Upgrade all sudo apt upgrade -y # Search apt search $package
Python Commands (Profile-Aware)
PY_MGR=$(get_preferred_manager python) case "$PY_MGR" in uv) uv pip install "$package" ;; pip) pip3 install "$package" ;; conda) conda install "$package" ;; esac
Node Commands (Profile-Aware)
NODE_MGR=$(get_preferred_manager node) case "$NODE_MGR" in npm) npm install "$package" ;; pnpm) pnpm add "$package" ;; yarn) yarn add "$package" ;; bun) bun add "$package" ;; esac
Services
Linux (systemd)
# Status sudo systemctl status $service # Start/Stop/Restart sudo systemctl start $service sudo systemctl stop $service sudo systemctl restart $service # Enable/Disable on boot sudo systemctl enable $service sudo systemctl disable $service # View logs journalctl -u $service -f
macOS (Homebrew services)
# List brew services list # Start/Stop brew services start $service brew services stop $service brew services restart $service
SSH to Servers
Use profile server data:
ssh_to_server "cool-two" # Helper from load-profile.sh
Or manually:
SERVER=$(jq '.servers[] | select(.id == "cool-two")' "$PROFILE_PATH") HOST=$(echo "$SERVER" | jq -r '.host') USER=$(echo "$SERVER" | jq -r '.username') KEY=$(echo "$SERVER" | jq -r '.keyPath') ssh -i "$KEY" "$USER@$HOST"
Update Profile
After installing a tool:
PROFILE=$(cat "$PROFILE_PATH") PROFILE=$(echo "$PROFILE" | jq --arg ver "$(python3 --version | cut -d' ' -f2)" \ '.tools.python.version = $ver | .tools.python.present = true') echo "$PROFILE" | jq . > "$PROFILE_PATH"
Capabilities Check
has_capability "hasDocker" && docker info has_capability "hasGit" && git --version
Scope Boundaries
| Task | Handle Here | Route To |
|---|---|---|
| Homebrew (macOS) | ✅ | - |
| apt (Linux) | ✅ | - |
| systemd services | ✅ | - |
| Python/Node | ✅ | - |
| WSL operations | ❌ | admin-wsl |
| Windows operations | ❌ | admin-windows |
| Server provisioning | ❌ | admin-devops |
References
- Common operations, troubleshootingreferences/OPERATIONS.md