About devops
devops is a skill for operating remote infrastructure, with provider-specific skills handling provisioning and deployment tasks. It requires an admin profile, uses shared admin scripts for secrets and logging, and routes local machine work elsewhere.
Key features
- 01Mandatory admin profile check
- 02Server inventory from profile
- 03Secret retrieval with fallback
- 04Required operation logging
- 05Routing to provider skills
Use cases
- 01Checking remote server inventory
- 02Coordinating provider-specific provisioning
- 03Retrieving infrastructure API credentials
- 04Logging infrastructure operations
MCP support
Tasks involving local OS, MCP, or skills are routed to the admin skill; remote infrastructure tasks are handled here.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ evolv3-ai/ vibe-skills --skill devopsAfter installing, type/devopsin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
assets/agent-devops.env.templatedevops-registry.jsonenv-spec.txtenv-templateprovider-infrastructure-templatereferences/DEPLOYMENT_WORKFLOWS.mdEXAMPLE_INVENTORY.mdINVENTORY_FORMAT.mdprofile-gate.mdPROVIDER_DISCOVERY.mdTROUBLESHOOTING.mdDetails
From the project READMEAdmin DevOps - Remote Infrastructure (Alpha)
Script path resolution: When Claude Code loads this file, it provides the full
path. Derive SKILL_DIR from this file's directory. Admin scripts (profile gate,
logging, secrets) live in the sibling admin skill at ${SKILL_DIR}/../admin/scripts/.
CRITICAL: Secrets and .env
- NEVER store live
.envfiles or credentials inside any skill folder. .env.templatefiles belong only inassets/within a skill.- Store live secrets in
~/.admin/.envand reference from there.
Secrets Management
Three backends available, configured via ADMIN_SECRETS_BACKEND in ~/.admin/.env:
| Backend | Storage | Best For |
|---|---|---|
infisical | Infisical Cloud | Multi-device, audit trail |
vault (default) | $ADMIN_ROOT/vault.age | Single device, offline |
env | $ADMIN_ROOT/.env | Legacy |
Fallback chain: infisical → vault → env. If the primary backend is unavailable, scripts automatically try the next.
CLI: Use the admin skill's secrets script to retrieve provider API keys:
# Retrieve a single provider token
HCLOUD_TOKEN=$(${SKILL_DIR}/../admin/scripts/secrets HCLOUD_TOKEN)
# Or if secrets is on PATH
export HCLOUD_TOKEN=$(secrets HCLOUD_TOKEN)
Provider Secrets Map
| Secret Key | Infisical URI | Provider | Used By |
|---|---|---|---|
HCLOUD_TOKEN | infisical://admin-operator/prod/providers/hetzner/HCLOUD_TOKEN | Hetzner | hcloud CLI auth |
DIGITALOCEAN_ACCESS_TOKEN | infisical://admin-operator/prod/providers/digitalocean/ACCESS_TOKEN | DigitalOcean | doctl auth |
CNTB_OAUTH2_CLIENT_SECRET | infisical://admin-operator/prod/providers/contabo/CLIENT_SECRET | Contabo | cntb config |
CNTB_OAUTH2_PASS | infisical://admin-operator/prod/providers/contabo/OAUTH_PASS | Contabo | cntb config |
LINODE_API_TOKEN | infisical://admin-operator/prod/providers/linode/API_TOKEN | Linode | linode-cli |
VULTR_API_KEY | infisical://admin-operator/prod/providers/vultr/API_KEY | Vultr | vultr-cli |
CF_API_TOKEN | infisical://admin-operator/prod/network/cloudflare/API_TOKEN | Cloudflare | Tunnel setup |
Retrieval (v4.0+):
# URI-based (recommended)
HCLOUD_TOKEN=$(resolve-secret-ref.sh "infisical://admin-operator/prod/providers/hetzner/HCLOUD_TOKEN")
# Multi-project secrets CLI
HCLOUD_TOKEN=$(secrets --project admin-operator --path /providers/hetzner HCLOUD_TOKEN)
# Legacy (still works via fallback chain)
HCLOUD_TOKEN=$(secrets HCLOUD_TOKEN)
Guides: references/secrets-architecture.md (full 4-layer model), references/infisical.md (Infisical setup), references/vault-guide.md (age vault fallback)
Profile Gate (MANDATORY First Step)
Check for a profile before any operation. No profile means no server inventory, no preferences, no logging path.
${SKILL_DIR}/../admin/scripts/test-admin-profile.sh
Returns JSON: {"exists":true|false,"path":"...","device":"...","platform":"..."}
If exists: false — stop and hand off to admin skill for /setup-profile. Do not proceed without a profile.
Full details: references/profile-gate.md
Task Qualification (MANDATORY)
- If the task is local OS/MCP/skills, stop and hand off to admin.
- If the task is remote infrastructure, continue.
- If ambiguous, ask a clarifying question before proceeding.
Task Routing
| Task | Reference |
|---|---|
| Server inventory | Server Operations (use profile.servers) |
| OCI provisioning | → Use oci skill |
| Hetzner provisioning | → Use hetzner skill |
| Linode provisioning | → Use linode skill |
| DigitalOcean provisioning | → Use digital-ocean skill |
| Contabo provisioning | → Use contabo skill |
| Coolify deployment | → Use coolify skill |
| KASM deployment | → Use kasm skill |
| Secrets / Infisical setup | → Use admin skill |
| Local machine tasks | → Use admin skill |
Server Operations
Use profile.servers[] for inventory; do not maintain a separate list. Profile is the source of truth.
Provisioning Workflow (5 Steps)
- Choose provider
- Load secrets via
secretsCLI (provider API key) - Run provider workflow (use the dedicated provider skill)
- Update
profile.servers[]andprofile.deployments{} - Log the operation via
log_admin_event
Logging (MANDATORY)
Log every operation. Logging scripts live in the admin sibling skill.
source "${SKILL_DIR}/../admin/scripts/log-admin-event.sh"
log_admin_event "Provisioned Hetzner server hzn-01-203-42" "OK"
log_admin_event "OCI provisioning failed: OUT_OF_HOST_CAPACITY" "ERROR"
Levels: OK (success), INFO, WARN, ERROR
Architecture
Relationship to Admin
devops is a satellite of admin. It depends on admin for:
- Profile gate (
test-admin-profile.sh) — mandatory first step - Logging (
log-admin-event.sh) — mandatory operation logging - Secrets (
secretsCLI) — provider API key retrieval with fallback chain - Profile data (
profile.servers[],profile.deployments{}) — server inventory
Sibling Skill Resolution
plugins/admin-devops/
skills/
admin/ ← core (scripts, secrets, logging live here)
devops/ ← this skill (references admin scripts via ../admin/)
oci/ ← provider skill
hetzner/ ← provider skill
...
Agent Roster
| Agent | Model | Role |
|---|---|---|
| server-provisioner | sonnet | Cloud VM provisioning via provider CLIs |
| deployment-coordinator | sonnet | End-to-end app deployment (Coolify/KASM) |
Both agents run the profile gate as their first step.
Scripts / References
- Provider skills: sibling skills under this plugin (oci, hetzner, coolify, etc.)
- Inventory format spec:
references/INVENTORY_FORMAT.md - Deployment workflows:
references/DEPLOYMENT_WORKFLOWS.md - Troubleshooting:
references/TROUBLESHOOTING.md