mcpField
D
devops

devops

github.com/evolv3-aiCloud & DevOps140 installsUpdated 14w ago
Repository

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

  1. 01Mandatory admin profile check
  2. 02Server inventory from profile
  3. 03Secret retrieval with fallback
  4. 04Required operation logging
  5. 05Routing to provider skills

Use cases

  1. 01Checking remote server inventory
  2. 02Coordinating provider-specific provisioning
  3. 03Retrieving infrastructure API credentials
  4. 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 devops

After installing, type/devopsin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

assets/
agent-devops.env.template
devops-registry.json
env-spec.txt
env-template
provider-infrastructure-template
references/
DEPLOYMENT_WORKFLOWS.md
EXAMPLE_INVENTORY.md
INVENTORY_FORMAT.md
profile-gate.md
PROVIDER_DISCOVERY.md
TROUBLESHOOTING.md

Details

From the project README

Admin 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 .env files or credentials inside any skill folder.
  • .env.template files belong only in assets/ within a skill.
  • Store live secrets in ~/.admin/.env and reference from there.

Secrets Management

Three backends available, configured via ADMIN_SECRETS_BACKEND in ~/.admin/.env:

BackendStorageBest For
infisicalInfisical CloudMulti-device, audit trail
vault (default)$ADMIN_ROOT/vault.ageSingle device, offline
env$ADMIN_ROOT/.envLegacy

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 KeyInfisical URIProviderUsed By
HCLOUD_TOKENinfisical://admin-operator/prod/providers/hetzner/HCLOUD_TOKENHetznerhcloud CLI auth
DIGITALOCEAN_ACCESS_TOKENinfisical://admin-operator/prod/providers/digitalocean/ACCESS_TOKENDigitalOceandoctl auth
CNTB_OAUTH2_CLIENT_SECRETinfisical://admin-operator/prod/providers/contabo/CLIENT_SECRETContabocntb config
CNTB_OAUTH2_PASSinfisical://admin-operator/prod/providers/contabo/OAUTH_PASSContabocntb config
LINODE_API_TOKENinfisical://admin-operator/prod/providers/linode/API_TOKENLinodelinode-cli
VULTR_API_KEYinfisical://admin-operator/prod/providers/vultr/API_KEYVultrvultr-cli
CF_API_TOKENinfisical://admin-operator/prod/network/cloudflare/API_TOKENCloudflareTunnel 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

TaskReference
Server inventoryServer 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)

  1. Choose provider
  2. Load secrets via secrets CLI (provider API key)
  3. Run provider workflow (use the dedicated provider skill)
  4. Update profile.servers[] and profile.deployments{}
  5. 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 (secrets CLI) — 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
AgentModelRole
server-provisionersonnetCloud VM provisioning via provider CLIs
deployment-coordinatorsonnetEnd-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

Comments

Markdown supported