admin-devops
Infrastructure management using the device profile. Servers are stored in profile.servers[], deployments reference .env.local files via profile.deployments{}. Use when: managing server inventory, provisioning infrastructure, deploying to cloud providers.
Best use case
admin-devops is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Infrastructure management using the device profile. Servers are stored in profile.servers[], deployments reference .env.local files via profile.deployments{}. Use when: managing server inventory, provisioning infrastructure, deploying to cloud providers.
Teams using admin-devops should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/admin-devops/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How admin-devops Compares
| Feature / Agent | admin-devops | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Infrastructure management using the device profile. Servers are stored in profile.servers[], deployments reference .env.local files via profile.deployments{}. Use when: managing server inventory, provisioning infrastructure, deploying to cloud providers.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# DevOps Administration
**Purpose**: Coordinate server provisioning and deployment across `admin-infra-*` and `admin-app-*` skills using the unified profile.
---
## Profile-First Approach
**Servers are in the profile, not a separate inventory file.**
```powershell
# PowerShell
. scripts/Load-Profile.ps1
Load-AdminProfile -Export
$AdminProfile.servers | Format-Table id, name, host, role, provider, status
```
```bash
# Bash
source scripts/load-profile.sh
load_admin_profile
jq '.servers[] | {id, name, host, role, provider, status}' "$ADMIN_PROFILE_PATH"
```
---
## Server Operations
### List All Servers
```powershell
Get-AdminServer | Format-Table
```
```bash
get_admin_server all ""
```
### Filter by Role
```powershell
Get-AdminServer -Role "coolify"
```
```bash
get_admin_server role "coolify"
```
### Filter by Provider
```powershell
Get-AdminServer -Provider "contabo"
```
```bash
get_admin_server provider "contabo"
```
### Get Specific Server
```powershell
Get-AdminServer -Id "cool-two"
```
```bash
get_admin_server id "cool-two"
```
---
## SSH to Server
Profile contains all SSH details:
```powershell
$server = Get-AdminServer -Id "cool-two"
ssh -i $server.keyPath -p $server.port "$($server.username)@$($server.host)"
```
```bash
ssh_to_server "cool-two" # Helper from load-profile.sh
```
---
## Add New Server
### After Provisioning
```powershell
$AdminProfile.servers += @{
id = "new-server"
name = "NEW_SERVER"
host = "192.168.1.100"
port = 22
username = "root"
authMethod = "key"
keyPath = "C:/Users/Owner/.ssh/id_rsa"
provider = "hetzner"
role = "coolify"
domain = "example.com"
status = "active"
addedAt = (Get-Date).ToString("o")
lastConnected = $null
notes = "Provisioned via admin-infra-hetzner"
}
# Save
$AdminProfile | ConvertTo-Json -Depth 10 | Set-Content $AdminProfile.paths.deviceProfile
```
---
## Deployments
Deployments reference `.env.local` files containing provider credentials and config.
### List Deployments
```powershell
$AdminProfile.deployments.PSObject.Properties | ForEach-Object {
[PSCustomObject]@{
Name = $_.Name
Type = $_.Value.type
Provider = $_.Value.provider
Status = $_.Value.status
HasEnvFile = [bool]$_.Value.envFile
}
}
```
### Load Deployment Config
```powershell
Load-AdminProfile -Deployment "vibeskills-oci" -Export
$DeploymentEnv # Contains .env.local variables
```
```bash
load_admin_profile
load_deployment "vibeskills-oci"
# Variables exported to environment
```
### Add New Deployment
```powershell
$AdminProfile.deployments["my-new-deploy"] = @{
envFile = "D:/projects/my-deploy/.env.local"
type = "coolify"
provider = "hetzner"
status = "pending"
serverIds = @("new-server")
lastDeployed = $null
notes = $null
}
```
---
## Provisioning Workflow
### Step 1: Choose Provider
| Provider | Skill | Notes |
|----------|-------|-------|
| OCI | `admin-infra-oci` | Free tier ARM |
| Hetzner | `admin-infra-hetzner` | Best price/perf |
| Contabo | `admin-infra-contabo` | Budget VPS |
| DigitalOcean | `admin-infra-digitalocean` | Simple |
| Vultr | `admin-infra-vultr` | Global |
| Linode | `admin-infra-linode` | Akamai |
### Step 2: Create .env.local
Copy template and fill provider section:
```bash
cp templates/env-template.env ./my-deploy/.env.local
# Edit with provider credentials
```
### Step 3: Register Deployment
```powershell
$AdminProfile.deployments["my-deploy"] = @{
envFile = "D:/projects/my-deploy/.env.local"
type = "coolify"
provider = "hetzner"
status = "pending"
serverIds = @()
}
```
### Step 4: Run Infrastructure Skill
```
# Route to appropriate skill
admin-infra-hetzner → Provisions server
# Returns server details
```
### Step 5: Update Profile
```powershell
# Add server
$AdminProfile.servers += @{ ... }
# Link to deployment
$AdminProfile.deployments["my-deploy"].serverIds += "new-server-id"
$AdminProfile.deployments["my-deploy"].status = "active"
# Save
$AdminProfile | ConvertTo-Json -Depth 10 | Set-Content $AdminProfile.paths.deviceProfile
```
---
## Application Deployment
### After Infrastructure Ready
| App | Skill | Prerequisites |
|-----|-------|---------------|
| Coolify | `admin-app-coolify` | Server with Docker |
| KASM | `admin-app-kasm` | Server with Docker |
### Workflow
1. Load deployment: `Load-AdminProfile -Deployment "my-deploy" -Export`
2. Get server: `$server = Get-AdminServer -Id $DeploymentEnv.SERVER_ID`
3. SSH and deploy via `admin-app-*` skill
---
## Status Updates
```powershell
# Find server
$idx = $AdminProfile.servers.FindIndex({ param($s) $s.id -eq "cool-two" })
# Update status
$AdminProfile.servers[$idx].status = "stopped"
$AdminProfile.servers[$idx].lastConnected = (Get-Date).ToString("o")
# Save
$AdminProfile | ConvertTo-Json -Depth 10 | Set-Content $AdminProfile.paths.deviceProfile
```
---
## Routing Summary
| Task | Route To |
|------|----------|
| Provision OCI | `admin-infra-oci` |
| Provision Hetzner | `admin-infra-hetzner` |
| Provision others | `admin-infra-{provider}` |
| Install Coolify | `admin-app-coolify` |
| Install KASM | `admin-app-kasm` |
| Windows tasks | `admin-windows` |
| WSL tasks | `admin-wsl` |
---
## References
- `references/DEPLOYMENT_WORKFLOWS.md` - Detailed deployment steps
- `references/TROUBLESHOOTING.md` - Common issuesRelated Skills
administration
How to monitor usage, track costs, configure analytics, and measure ROI for Claude Code. Use when user asks about monitoring, telemetry, metrics, costs, analytics, or OpenTelemetry.
administering-linux
Manage Linux systems covering systemd services, process management, filesystems, networking, performance tuning, and troubleshooting. Use when deploying applications, optimizing server performance, diagnosing production issues, or managing users and security on Linux servers.
admin
Admin panel - RBAC, config, admin tools. Use when building admin UI.
admin-wsl
WSL2 Ubuntu administration from Linux side. Profile-aware - reads preferences from Windows-side profile at /mnt/c/Users/{WIN_USER}/.admin/profiles/{hostname}.json Use when: Inside WSL for apt packages, Docker, Python/uv, shell configs, systemd. Coordinates with admin-windows via shared profile ON THE WINDOWS SIDE.
admin-windows
Windows system administration with PowerShell 7.x. Profile-aware - reads your preferences for package managers (scoop vs winget), paths, and installed tools. Use when: Windows-specific admin tasks, PowerShell automation, PATH configuration, package installation, bash-to-PowerShell translation.
admin-unix
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.
admin-panel-builder
Expert assistant for creating and maintaining admin panel pages in the KR92 Bible Voice project. Use when creating admin pages, building admin components, integrating with admin navigation, or adding admin features.
admin-mcp
MCP server management for Claude Desktop. Profile-aware - reads MCP server inventory from profile.mcp.servers{} and config path from profile.paths.claudeConfig. Use when: installing MCP servers, configuring Claude Desktop, troubleshooting MCP issues.
admin-interface-rules
Rules for the Admin interface functionalities
admin-infra-vultr
Deploys infrastructure on Vultr with Cloud Compute instances, High-Frequency servers, and VPCs. Excellent value with Kubernetes autoscaling support and global data centers. Use when: setting up Vultr infrastructure, deploying cloud compute or high-frequency instances, configuring firewalls, needing good price/performance with global reach. Keywords: vultr, vultr-cli, VPS, cloud compute, high-frequency, firewall, VPC, kubernetes autoscale, infrastructure
admin-infra-oci
Deploys infrastructure on Oracle Cloud Infrastructure (OCI) with ARM64 instances (Always Free tier eligible). Handles compartments, VCNs, subnets, security lists, and compute instances. Use when: setting up Oracle Cloud infrastructure, deploying ARM64 instances, troubleshooting OUT_OF_HOST_CAPACITY errors, optimizing for Always Free tier. Keywords: oracle cloud, OCI, ARM64, VM.Standard.A1.Flex, Always Free tier, OUT_OF_HOST_CAPACITY, oci compartment, oci vcn
admin-infra-linode
Deploys infrastructure on Linode (Akamai Cloud) with Linodes, Firewalls, and VLANs. Strong Kubernetes support with Cluster Autoscaler and Akamai edge network integration. Use when: setting up Linode/Akamai infrastructure, deploying Linodes, configuring firewalls, needing Kubernetes autoscaling, wanting Akamai CDN integration. Keywords: linode, akamai, linode-cli, VPS, dedicated CPU, firewall, VLAN, kubernetes autoscale, infrastructure