Claude-skill-registry admin-devops
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-devops" ~/.claude/skills/majiayu000-claude-skill-registry-admin-devops && rm -rf "$T"
manifest:
skills/data/admin-devops/SKILL.mdsafety · automated scan (low risk)
This is a pattern-based risk scan, not a security review. Our crawler flagged:
- references .env files
Always read a skill's source content before installing. Patterns alone don't mean the skill is malicious — but they warrant attention.
source content
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 . scripts/Load-Profile.ps1 Load-AdminProfile -Export $AdminProfile.servers | Format-Table id, name, host, role, provider, status
# 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
Get-AdminServer | Format-Table
get_admin_server all ""
Filter by Role
Get-AdminServer -Role "coolify"
get_admin_server role "coolify"
Filter by Provider
Get-AdminServer -Provider "contabo"
get_admin_server provider "contabo"
Get Specific Server
Get-AdminServer -Id "cool-two"
get_admin_server id "cool-two"
SSH to Server
Profile contains all SSH details:
$server = Get-AdminServer -Id "cool-two" ssh -i $server.keyPath -p $server.port "$($server.username)@$($server.host)"
ssh_to_server "cool-two" # Helper from load-profile.sh
Add New Server
After Provisioning
$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
$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
Load-AdminProfile -Deployment "vibeskills-oci" -Export $DeploymentEnv # Contains .env.local variables
load_admin_profile load_deployment "vibeskills-oci" # Variables exported to environment
Add New Deployment
$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 | | Free tier ARM |
| Hetzner | | Best price/perf |
| Contabo | | Budget VPS |
| DigitalOcean | | Simple |
| Vultr | | Global |
| Linode | | Akamai |
Step 2: Create .env.local
Copy template and fill provider section:
cp templates/env-template.env ./my-deploy/.env.local # Edit with provider credentials
Step 3: Register Deployment
$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
# 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 | | Server with Docker |
| KASM | | Server with Docker |
Workflow
- Load deployment:
Load-AdminProfile -Deployment "my-deploy" -Export - Get server:
$server = Get-AdminServer -Id $DeploymentEnv.SERVER_ID - SSH and deploy via
skilladmin-app-*
Status Updates
# 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 | |
| Provision Hetzner | |
| Provision others | |
| Install Coolify | |
| Install KASM | |
| Windows tasks | |
| WSL tasks | |
References
- Detailed deployment stepsreferences/DEPLOYMENT_WORKFLOWS.md
- Common issuesreferences/TROUBLESHOOTING.md