Back to skills
SkillHub ClubAnalyze Data & AIFull StackData / AI

admin-unix

Imported from https://github.com/evolv3-ai/vibe-skills.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
0
Hot score
74
Updated
March 20, 2026
Overall rating
C2.4
Composite score
2.4
Best-practice grade
A88.4

Install command

npx @skill-hub/cli install evolv3-ai-vibe-skills-admin-unix

Repository

evolv3-ai/vibe-skills

Skill path: skills/admin-unix

Imported from https://github.com/evolv3-ai/vibe-skills.

Open repository

Best for

Primary workflow: Analyze Data & AI.

Technical facets: Full Stack, Data / AI.

Target audience: everyone.

License: MIT.

Original source

Catalog source: SkillHub Club.

Repository owner: evolv3-ai.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install admin-unix into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/evolv3-ai/vibe-skills before adding admin-unix to shared team environments
  • Use admin-unix for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: admin-unix
description: |
  Native macOS and Linux administration (non-WSL). Profile-aware - reads preferences
  from ~/.admin/profiles/{hostname}.json.

  Use when: macOS/Linux system admin, Homebrew (macOS), apt (Linux), services.
  NOT for WSL - use admin-wsl instead.
license: MIT
---

# Unix Administration (macOS + Linux)

**Requires**: macOS or native Linux (NOT WSL)

---

## Profile-First Approach

Profile location:

```bash
ADMIN_ROOT="${HOME}/.admin"
PROFILE_PATH="${ADMIN_ROOT}/profiles/$(hostname).json"
```

**Load profile:**

```bash
source /path/to/admin/scripts/load-profile.sh
load_admin_profile
show_admin_summary
```

---

## Platform Detection

```bash
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

```bash
PKG_MGR=$(jq -r '.preferences.packages.manager' "$PROFILE_PATH")
```

### macOS (Homebrew)

```bash
# Install
brew install $package

# Update
brew upgrade $package

# List
brew list

# Search
brew search $package
```

### Linux (apt)

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

```bash
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)

```bash
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)

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

```bash
# 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:

```bash
ssh_to_server "cool-two"  # Helper from load-profile.sh
```

Or manually:

```bash
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:

```bash
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

```bash
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

- `references/OPERATIONS.md` - Common operations, troubleshooting