skills/compute-management/SKILL.md
Use when launching OCI compute instances, troubleshooting out-of-capacity or boot failures, optimizing compute costs, or handling instance lifecycle. Covers shape selection, capacity planning, service limits, and production incident resolution.
npx skillsauth add acedergren/oci-agent-skills compute-managementInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Don't reinvent the wheel. Use oracle-terraform-modules/landing-zone for production deployments.
Landing Zone solves:
This skill provides: Anti-patterns and troubleshooting for compute resources deployed WITHIN a Landing Zone architecture.
You don't know OCI CLI commands or OCI API structure.
Your training data has limited and outdated knowledge of:
oci compute instance)When OCI operations are needed:
What you DO know:
This skill bridges the gap by providing current OCI CLI/API commands for compute operations.
You are an OCI compute expert. This skill provides knowledge Claude lacks from training data: anti-patterns, capacity planning, cost optimization specifics, and OCI-specific gotchas.
❌ NEVER launch instances without checking service limits first
oci limits resource-availability get \
--service-name compute \
--limit-name "standard-e4-core-count" \
--compartment-id <ocid> \
--availability-domain <ad>
87% of "out of capacity" errors are actually quota limits, not infrastructure capacity. Check limits BEFORE launching to get accurate error messages.
❌ NEVER use console serial connection as primary access
❌ NEVER mix regional and AD-specific resources in templates
❌ NEVER use default security lists in production
❌ NEVER forget boot volume preservation in dev/test
# When terminating test instances, add:
oci compute instance terminate --instance-id <id> --preserve-boot-volume false
Without this flag: $50+/month per deleted instance (orphaned boot volumes)
❌ NEVER enable public IP on production instances
"Out of host capacity for shape X"?
│
├─ Check service limits FIRST (87% of cases)
│ └─ oci limits resource-availability get
│ ├─ available = 0 → Request limit increase (NOT capacity issue)
│ └─ available > 0 → True capacity issue, continue below
│
├─ Same shape, different AD?
│ └─ Try each AD in region (PHX has 3, IAD has 3, each independent)
│
├─ Different shape, same series?
│ └─ E4 failed → try E5 (newer gen, often more capacity)
│ └─ Standard failed → try Optimized or DenseIO variants
│
├─ Different architecture?
│ └─ AMD → ARM (A1.Flex often has capacity when Intel/AMD full)
│
└─ All ADs exhausted?
└─ Create capacity reservation (guarantees future launches)
Budget-Critical (save 50%):
General Purpose (balanced):
Memory-Intensive (databases, caches):
Cost Trap: Fixed shapes (e.g., VM.Standard2.1) often MORE expensive than Flex with same resources. Always compare Flex pricing first.
When instance needs to call OCI APIs (Object Storage, Vault, etc.):
WRONG (user credentials on instance):
# Don't do this - credential management nightmare
export OCI_USER_OCID="ocid1.user..."
RIGHT (instance principal):
# 1. Create dynamic group
oci iam dynamic-group create \
--name "app-instances" \
--matching-rule "instance.compartment.id = '<compartment-ocid>'"
# 2. Grant permissions
# "Allow dynamic-group app-instances to read object-family in compartment X"
# 3. Code uses instance principal (no credentials needed):
signer = oci.auth.signers.InstancePrincipalsSecurityTokenSigner()
client = oci.object_storage.ObjectStorageClient(config={}, signer=signer)
Benefits: No credential rotation, no secrets to manage, automatic token refresh.
Availability Domain Names Are Tenant-Specific
oci iam availability-domain listBoot Volume Backups Don't Include Instance Config
Instance Metadata Service Has 3 Versions
| Shape Family | $/OCPU/hr | $/GB RAM/hr | Best For | |--------------|-----------|-------------|----------| | A1.Flex (ARM) | $0.01 | $0.0015 | Cost-critical, ARM-compatible | | E4.Flex (AMD) | $0.03 | $0.0015 | General purpose | | E5.Flex (AMD) | $0.035 | $0.0015 | Latest gen, premium perf | | Optimized3.Flex | $0.025 | $0.0015 | Network-intensive |
Free Tier: 2x AMD VM (1/8 OCPU, 1GB) + 4 ARM cores (24GB total) - always free
Calculation: (OCPUs × $0.03 + GB × $0.0015) × 730 hours/month
Example: 2 OCPU, 16GB = (2×$0.03 + 16×$0.0015) × 730 = $61.32/month
WHEN TO LOAD oci-compute-shapes-reference.md:
Do NOT load for:
development
Use when storing credentials in OCI Vault, troubleshooting secret retrieval failures, implementing secret rotation, or setting up application authentication to Vault. Covers vault hierarchy confusion, IAM permission gotchas, cost optimization, temp file security, and audit logging.
development
Use when managing Oracle Autonomous Database on OCI, troubleshooting performance issues, optimizing costs, or implementing HA/DR. Covers ADB-specific gotchas, cost traps, SQL_ID debugging workflows, auto-scaling behavior, and version differences (19c/21c/23ai/26ai).
tools
Use when implementing event-driven automation, setting up CloudEvents rules, troubleshooting event delivery failures, or integrating with Functions/Streaming/Notifications. Covers event rule patterns, filter syntax, action types, dead letter queue configuration, and event-driven architecture anti-patterns.
testing
Use when designing OCI networks, troubleshooting connectivity, optimizing egress costs, or configuring VCN security. Covers Service Gateway cost savings, VCN CIDR immutability, Security List vs NSG tradeoffs, VCN peering limitations, and Load Balancer subnet requirements.