google-agents-cli-scaffold
Project scaffolding, deployment configuration, and CI/CD setup for Google ADK agents.
admin-infra-contabo
Deploys infrastructure on Contabo using Cloud VPS and Object Storage. Focuses on cost‑effective provisioning and Contabo-specific CLI/API quirks. Use when: provisioning Contabo Cloud VPS, configuring Object Storage, or troubleshooting Contabo-specific issues. Keywords: contabo, cntb, VPS, cloud...
Full skill instructions
Status: Production Ready | Dependencies: cntb CLI, SSH key pair
references/OPERATIONS.mdSTOP. Before ANY deployment commands, collect ALL parameters from the user.
Copy this checklist and confirm each item:
Required Parameters:
- [ ] SERVER_NAME - Unique name for this server
- [ ] CONTABO_REGION - Region (EU, US-central, US-east, US-west, SIN, JPN, AUS)
- [ ] CONTABO_PRODUCT_ID - Product/plan ID (see profiles below)
- [ ] SSH_KEY_PATH - Path to SSH private key (default: ~/.ssh/id_rsa)
Deployment Purpose (determines recommended profile):
- [ ] Purpose: coolify / kasm / both / custom
coolify → V39 (Cloud VPS 10 SP, €5/mo)
kasm → V45 (Cloud VPS 20 SP, €8/mo)
both → V46 (Cloud VPS 30, €14/mo)
custom → Ask for specific product ID
Recommended profiles by purpose:
| Purpose | Product ID | Plan | vCPU | RAM | Monthly |
|---|---|---|---|---|---|
| coolify | V39 | Cloud VPS 10 SP | 4 | 8GB | €5 |
| kasm | V45 | Cloud VPS 20 SP | 6 | 18GB | €8 |
| both | V46 | Cloud VPS 30 | 8 | 24GB | €14 |
DO NOT proceed to Prerequisites until ALL parameters are confirmed.
Before using this skill, verify the following:
cntb --version
If missing, install with:
# Download from GitHub releases
# Linux
curl -sL https://github.com/contabo/cntb/releases/latest/download/cntb_linux_amd64.tar.gz | tar xz
sudo mv cntb /usr/local/bin/
# macOS
curl -sL https://github.com/contabo/cntb/releases/latest/download/cntb_darwin_amd64.tar.gz | tar xz
sudo mv cntb /usr/local/bin/
# Windows (PowerShell)
Invoke-WebRequest -Uri "https://github.com/contabo/cntb/releases/latest/download/cntb_windows_amd64.zip" -OutFile cntb.zip
Expand-Archive cntb.zip -DestinationPath .
If you don't have a Contabo account:
Sign up at: https://contabo.com/?ref=YOUR_REFERRAL_CODE
Disclosure: This is a referral link from the CJ Affiliate program. The skill author may receive $25-$250 commission. Using this link helps support the development of these skills.
Get API Credentials: https://my.contabo.com/api/details
You need:
cntb get instances
If it shows an error, configure with:
# Set via environment variables
export CNTB_OAUTH2_CLIENT_ID="your_client_id"
export CNTB_OAUTH2_CLIENT_SECRET="your_client_secret"
export CNTB_OAUTH2_USER="your_api_user"
export CNTB_OAUTH2_PASS="your_api_password"
# Or configure interactively
cntb config set-credentials
ls ~/.ssh/id_rsa.pub
If missing, generate with:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""
Unlike other providers, Contabo requires you to specify the SSH key during instance creation via the --sshKeys parameter with the actual public key content.
cat ~/.ssh/id_rsa.pub
cntb get datacenters
If this fails: Credentials may be incorrect. Verify at https://my.contabo.com/api/details
| Profile | Plan | vCPU | RAM | Disk | Monthly Cost |
|---|---|---|---|---|---|
coolify | Cloud VPS 10 SP | 4 | 8GB | 100GB | €5 |
kasm | Cloud VPS 20 SP | 6 | 18GB | 150GB | €8 |
both | Cloud VPS 30 | 8 | 24GB | 200GB | €14 |
| Profile | Plan | vCPU | RAM | Disk | Monthly Cost |
|---|---|---|---|---|---|
standard-small | Cloud VPS S | 4 | 8GB | 200GB SSD | €8 |
standard-medium | Cloud VPS M | 6 | 16GB | 400GB SSD | €14 |
standard-large | Cloud VPS L | 8 | 30GB | 800GB SSD | €26 |
standard-xl | Cloud VPS XL | 10 | 60GB | 1600GB SSD | €39 |
| Provider | 6 vCPU, 16-18GB RAM | Monthly Cost |
|---|---|---|
| Contabo VPS 20 SP | 6 vCPU, 18GB | €8 |
| Hetzner CX42 | 8 vCPU, 16GB | €20 |
| DigitalOcean | 8 vCPU, 16GB | $96 |
| Vultr | 6 vCPU, 16GB | $96 |
| Linode | 6 vCPU, 16GB | $96 |
Contabo offers 5-10x better value than most competitors.
</details>
export CONTABO_REGION="EU" # EU, US-central, US-east, US-west, SIN, JPN, AUS
export CONTABO_PRODUCT_ID="V48" # See product IDs below (V48 verified working)
export SERVER_NAME="my-server"
<details>
<summary><strong>Region options</strong></summary>
| Code | Location | Region |
|---|---|---|
EU | Germany (Nuremberg) | Europe |
US-central | St. Louis, MO | US Central |
US-east | New York | US East |
US-west | Seattle | US West |
SIN | Singapore | Asia |
JPN | Tokyo | Japan |
AUS | Sydney | Australia |
Run cntb get datacenters for full list.
</details>
<details> <summary><strong>Product ID reference</strong></summary>| Product ID | Plan | vCPU | RAM | Disk | Price | Status |
|---|---|---|---|---|---|---|
| V12 | VPS S NVMe | 4 | 8GB | 100GB | €5 | ✅ Verified |
| V48 | VPS M (Cloud VPS 2 SSD) | 6 | 16GB | 400GB | €14 | ✅ Verified |
| V35 | Cloud VPS 1 | 4 | 6GB | 100GB | €4.50 | Untested |
| V39 | Cloud VPS 10 SP | 4 | 8GB | 100GB NVMe | €5 | Untested |
| V45 | Cloud VPS 20 SP | 6 | 18GB | 150GB NVMe | €8 | ⚠️ May not work |
| V46 | Cloud VPS 30 | 8 | 24GB | 200GB | €14 | Untested |
| V47 | Cloud VPS S | 4 | 8GB | 200GB SSD | €8 | Untested |
| V49 | Cloud VPS L | 8 | 30GB | 800GB SSD | €26 | Untested |
| V50 | Cloud VPS XL | 10 | 60GB | 1600GB SSD | €39 | Untested |
Important: Some product IDs from Contabo documentation may be outdated. V48 and V12 are verified working. Run cntb get products --productType vps for current list.
</details>
# Get the SSH public key content
SSH_KEY_CONTENT=$(cat ~/.ssh/id_rsa.pub)
# Create instance
cntb create instance \
--productId "$CONTABO_PRODUCT_ID" \
--region "$CONTABO_REGION" \
--displayName "$SERVER_NAME" \
--imageId "ubuntu-22.04" \
--sshKeys "$SSH_KEY_CONTENT"
# List instances to get the ID
INSTANCE_ID=$(cntb get instances --output json | jq -r '.[] | select(.displayName=="'"$SERVER_NAME"'") | .instanceId')
echo "Instance ID: $INSTANCE_ID"
# Get instance details
cntb get instance "$INSTANCE_ID"
# Get IP address
SERVER_IP=$(cntb get instance "$INSTANCE_ID" --output json | jq -r '.ipConfig.v4.ip')
echo "SERVER_IP=$SERVER_IP"
# Wait for instance to be running
echo "Waiting for instance to be running..."
while [ "$(cntb get instance "$INSTANCE_ID" --output json | jq -r '.status')" != "running" ]; do
sleep 10
done
echo "Instance is running!"
# Wait for SSH to be available (typically 2-5 minutes for Contabo)
echo "Waiting for SSH to be available..."
until ssh -o ConnectTimeout=5 -o StrictHostKeyChecking=no root@$SERVER_IP "echo connected" 2>/dev/null; do
sleep 10
done
echo "Server is ready!"
ssh root@$SERVER_IP "uname -a && free -h && df -h /"
# Contabo only offers x86 architecture
SERVER_ARCH="amd64"
# Save to .env.local for downstream skills
echo "SERVER_IP=$SERVER_IP" >> .env.local
echo "SSH_USER=root" >> .env.local
echo "SSH_KEY_PATH=~/.ssh/id_rsa" >> .env.local
echo "SERVER_ARCH=$SERVER_ARCH" >> .env.local
echo "COOLIFY_SERVER_IP=$SERVER_IP" >> .env.local
echo "KASM_SERVER_IP=$SERVER_IP" >> .env.local
echo ""
echo "Instance deployed successfully!"
echo " IP: $SERVER_IP"
echo " Arch: $SERVER_ARCH"
echo " SSH: ssh root@$SERVER_IP"
ssh root@$SERVER_IP "echo 'Contabo instance connected successfully'"
Contabo supports auto-scaling limits for object storage to control costs.
# Create object storage bucket
cntb create objectStorage \
--region "$CONTABO_REGION" \
--displayName "my-storage" \
--totalPurchasedSpaceTB 0.5 \
--autoScaling.state enabled \
--autoScaling.sizeLimitTB 2
This allows storage to automatically grow up to 2TB as needed.
Warning: This is destructive and cannot be undone.
# Cancel instance (Contabo uses "cancel" not "delete")
cntb cancel instance "$INSTANCE_ID"
# Note: Cancellation may take effect at end of billing period
# For immediate deletion, contact Contabo support
Troubleshooting, best practices, configuration variables, and cost snapshots are in references/OPERATIONS.md.
When performing infrastructure operations, log to the centralized system:
# After provisioning
log_admin "SUCCESS" "operation" "Provisioned Contabo VPS" "id=$INSTANCE_ID provider=Contabo"
# After destroying
log_admin "SUCCESS" "operation" "Cancelled Contabo VPS" "id=$INSTANCE_ID"
# On error
log_admin "ERROR" "operation" "Contabo deployment failed" "error=$ERROR_MSG"
See admin skill's references/logging.md for full logging documentation.
Project scaffolding, deployment configuration, and CI/CD setup for Google ADK agents.
Set up tracing, logging, and monitoring for deployed ADK agents across Cloud Trace, BigQuery, and third-party platforms.
Enterprise Azure infrastructure architect generating Bicep or Terraform from workload descriptions.
Plan and configure production-ready Azure Kubernetes Service clusters with Day-0 and Day-1 best practices.
Raw mechanical interfaces fusing Swiss typographic print with military terminal aesthetics. Rigid grids, extreme type scale contrast, utilitarian color, analog degradation effects. For data-heavy dashboards, portfolios, or editorial sites that need to feel like declassified blueprints.
Web search, scraping, extraction, crawling, and monitoring via ScrapeGraph AI CLI.
Skill for working with Firebase Hosting (Classic). Use this when you want to deploy static web apps, Single Page Apps (SPAs), or simple microservices. Do NOT use for Firebase App Hosting.
Deploy and manage web apps with Firebase App Hosting. Use this skill when deploying Next.js/Angular apps with backends.
Deploy applications and websites to Vercel. Use when the user requests deployment actions like "deploy my app", "deploy and give me the link", "push this live", or "create a preview deployment".
Build SEO-optimized pages at scale using templates, data, and proven playbook patterns.
Design and build isolated, reusable Convex backend components with clear boundaries and app-facing wrappers.
Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. "deploy to vercel", "set up vercel", "add environment variables to vercel".
Opus.ai: Revolutionize Your Web Experience
Build a no-code AI app in minutes.
An IDE for code migration from legacy to modern frameworks through coding agents.
Automate CGI animation in live-action scenes
Branded artistic QR-code concepts
Launch a website in seconds with AI.
Streamline Your Coding Experience with AI Code Helper
Convert any screenshot or design to clean code.