From admin-devops
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
npx claudepluginhub joshuarweaver/cascade-code-devops-misc-1 --plugin evolv3-ai-vibe-skillsThis skill uses the workspace's default tool permissions.
**Status**: Production Ready | **Dependencies**: OCI CLI, SSH key pair
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Status: Production Ready | Dependencies: OCI CLI, SSH key pair
references/OPERATIONS.mdreferences/STOP. 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
- [ ] OCI_REGION - Region (us-ashburn-1, us-phoenix-1, ca-toronto-1, etc.)
- [ ] OCI_SHAPE - Instance shape (see profiles below)
- [ ] OCI_OCPUS - Number of OCPUs (1-4 for Always Free)
- [ ] OCI_MEMORY_GB - Memory in GB (1-24 for Always Free)
- [ ] SSH_KEY_PATH - Path to SSH public key (default: ~/.ssh/id_rsa.pub)
Deployment Purpose (determines recommended profile):
- [ ] Purpose: coolify / kasm / both / custom
coolify → 2 OCPU, 12GB RAM (Always Free eligible)
kasm → 4 OCPU, 24GB RAM (Always Free eligible)
both → 4 OCPU, 24GB RAM (Always Free eligible)
Always Free Tier Limits:
- Shape: VM.Standard.A1.Flex (ARM64)
- Max: 4 OCPUs, 24GB RAM total (can split across instances)
Recommended profiles by purpose:
| Purpose | OCPUs | RAM | Shape | Cost |
|---|---|---|---|---|
| coolify | 2 | 12GB | VM.Standard.A1.Flex | FREE |
| kasm | 4 | 24GB | VM.Standard.A1.Flex | FREE |
| both | 4 | 24GB | VM.Standard.A1.Flex | FREE |
DO NOT proceed to Prerequisites until ALL parameters are confirmed.
Before using this skill, verify the following:
oci --version
If missing, install with:
bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)" -- --accept-all-defaults
source ~/.bashrc # or restart terminal
ls ~/.oci/config
If missing, configure with:
oci setup config
You'll need:
ls ~/.ssh/id_rsa.pub
If missing, generate with:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""
stat -c %a ~/.ssh/id_rsa # Should be 600
If wrong, fix with:
chmod 600 ~/.ssh/id_rsa
oci iam availability-domain list
If this fails: API key may not be uploaded to OCI Console → Profile → API Keys
Script path resolution: When Claude Code loads this file, it provides the full
path. All scripts/ references below are relative to this file's directory.
Derive SKILL_DIR from this file's path and prepend it when running scripts.
OCI Always Free ARM instances are highly demanded. Always check before deploying:
scripts/check-oci-capacity.sh
# Check specific region
scripts/check-oci-capacity.sh us-ashburn-1
# Use different OCI profile
scripts/check-oci-capacity.sh --profile PRODUCTION
# Check multiple regions
for region in us-ashburn-1 us-phoenix-1 ca-toronto-1; do
echo "=== $region ==="
scripts/check-oci-capacity.sh "$region"
done
No capacity? Use automated monitoring:
scripts/monitor-and-deploy.sh --stack-id <STACK_OCID>
# Configure environment
cp scripts/.env.example scripts/.env
# Edit scripts/.env with your values
# Deploy
scripts/oci-infrastructure-setup.sh
| Script | Purpose | Usage |
|---|---|---|
check-oci-capacity.sh | Check ARM instance availability | scripts/check-oci-capacity.sh [region] |
oci-infrastructure-setup.sh | Full infrastructure deployment | scripts/oci-infrastructure-setup.sh |
monitor-and-deploy.sh | Auto-deploy when capacity available | scripts/monitor-and-deploy.sh --stack-id <ID> |
cleanup-compartment.sh | Delete all resources | scripts/cleanup-compartment.sh <COMPARTMENT_OCID> |
Checks VM.Standard.A1.Flex availability across availability domains.
scripts/check-oci-capacity.sh # Home region
scripts/check-oci-capacity.sh us-ashburn-1 # Specific region
scripts/check-oci-capacity.sh --profile DANIEL # With profile
Tests 4 OCPU / 24GB RAM (full free tier), falls back to 2/12 if unavailable.
Continuously monitors and auto-deploys when capacity found.
scripts/monitor-and-deploy.sh \
--stack-id <STACK_OCID> \
--profile DANIEL \
--interval 300 \
--max-attempts 100
Creates complete infrastructure: compartment → VCN → subnet → IGW → security list → instance.
Requires .env file with OCI credentials and configuration.
Safely deletes compartment and all resources (requires confirmation).
scripts/cleanup-compartment.sh ocid1.compartment.oc1..xxx
Common issues, best practices, configuration variables, and cleanup ordering are in references/OPERATIONS.md.
When performing infrastructure operations, log to the centralized system:
# After provisioning
log_admin "SUCCESS" "operation" "Provisioned OCI instance" "id=$INSTANCE_ID provider=OCI"
# After destroying
log_admin "SUCCESS" "operation" "Terminated OCI instance" "id=$INSTANCE_ID"
# On error
log_admin "ERROR" "operation" "OCI deployment failed" "error=OUT_OF_HOST_CAPACITY"
See admin skill's references/logging.md for full logging documentation.