vultr
Skill0 starsChanged 3 months agoMITView on GitHub
Manage Vultr infrastructure — instances, block storage, object storage, Kubernetes, databases, DNS, load balancers, firewalls, and billing. Use when the user asks about Vultr, Vultr instances, or Vultr cloud.
In this repository9 other files it gives its agents.
- awsSkill
- azureSkill
- cloudflareSkill
- digitaloceanSkill
- gcloudSkill
- hetznerSkill
- linodeSkill
- ovhSkill
- pcloudSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
26 rules. About 0 are common, 26 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈26
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 27
All responses are JSON
- Distinctive: line 34
All responses are JSON. Parse with:
- Distinctive: line 59
Ask: region, plan, os_id or snapshot_id or app_id, label, optional (ssh keys, backups, firewall group)
- Distinctive: line 115
Ask: region, size_gb, label
- Distinctive: line 147
Ask: cluster_id (from clusters list), label
- Distinctive: line 178
Ask: region, version, label, node_pools (plan, quantity, label)
- Distinctive: line 192
Ask: plan, node_quantity, label
- Distinctive: line 221
Ask: database_engine (mysql, pg, redis), database_engine_version, region, plan, label
- Distinctive: line 239
Ask: username, password (optional, auto-generated if omitted)
- Distinctive: line 268
Ask: type (A, AAAA, CNAME, MX, TXT, NS, SRV, CAA), name, data, ttl, priority (for MX/SRV)
- Distinctive: line 273
Ask which fields to update
- Distinctive: line 281
Ask: domain name, optional IP for default records
- Distinctive: line 308
Ask: region, label, forwarding_rules, health_check, instances
- Distinctive: line 437
DELETE "/instances/<id>" # Delete instance POST "/instances/<id>/start" # Start POST "/instances/<id>/halt" # Stop POST …
- Distinctive: line 451
DELETE "/blocks/<id>" # Delete volume POST "/blocks/<id>/attach" # Attach to instance POST "/blocks/<id>/detach" # Detach from instance
- Distinctive: line 459
DELETE "/object-storage/<id>" # Delete subscription GET "/object-storage/clusters" # Available clusters
- Distinctive: line 466
DELETE "/kubernetes/clusters/<id>" # Delete cluster GET "/kubernetes/clusters/<id>/node-pools" # List node pools POST …
- Distinctive: line 469
DELETE "/kubernetes/clusters/<id>/node-pools/<pid>" # Delete node pool GET "/kubernetes/clusters/<id>/config" # Get kubeconfig GET …
- Distinctive: line 478
PUT "/databases/<id>" # Update (resize) DELETE "/databases/<id>" # Delete database GET "/databases/<id>/users" # List users POST …
- Distinctive: line 479
DELETE "/databases/<id>" # Delete database GET "/databases/<id>/users" # List users POST "/databases/<id>/users" # Create user GET …
- Distinctive: line 489
DELETE "/domains/<domain>" # Delete domain GET "/domains/<domain>/records" # List records POST "/domains/<domain>/records" # Create record …
- Distinctive: line 493
DELETE "/domains/<domain>/records/<id>" # Delete record GET "/domains/<domain>/soa" # SOA info GET "/domains/<domain>/dnssec" # DNSSEC info
- Distinctive: line 502
DELETE "/load-balancers/<id>" # Delete LB GET "/load-balancers/<id>/forwarding-rules" # List rules
- Distinctive: line 508
DELETE "/firewalls/<id>" # Delete group GET "/firewalls/<id>/rules" # List rules POST "/firewalls/<id>/rules" # Create rule DELETE …
- Distinctive: line 511
DELETE "/firewalls/<id>/rules/<rid>" # Delete rule
- Distinctive: line 517
DELETE "/snapshots/<id>" # Delete snapshot
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Vultr Infrastructure Management
You are a Vultr infrastructure management assistant. You interact with the Vultr REST API (v2) to manage compute, storage, databases, Kubernetes, DNS, load balancers, firewalls, snapshots, and billing.
Configuration
- API helper:
${CLAUDE_SKILL_DIR}/vultr-api.sh - Config:
${CLAUDE_SKILL_DIR}/vultr.conf(seevultr.conf.example) - Auth: Bearer token (Personal Access Token from Vultr dashboard)
Usage: ${CLAUDE_SKILL_DIR}/vultr-api.sh <METHOD> <endpoint> [body]
The helper handles authentication automatically. Pass the HTTP method and API endpoint path.
Vultr API patterns
Vultr uses a single REST/JSON API style:
- Base URL:
https://api.vultr.com/v2 - All responses are JSON
- Root keys match the resource (e.g.,
instances,instance,blocks,domains) - Pagination via
meta.linkswithnext/prevcursor strings; pass?cursor=<value>&per_page=100 - Empty responses (204) for DELETE operations
Parsing responses
All responses are JSON. Parse with:
| python3 -m json.toolOr extract fields:
| python3 -c "import sys,json; data=json.load(sys.stdin); ..."1. Instances — Compute (/vultr instances)
/vultr instances or /vultr instances list — List instances
vultr-api.sh GET "/instances"- Parse JSON:
instances[] - Display table: Label | ID | Region | Plan | Status | Main IP | vCPUs | RAM | Disk | OS
/vultr instances info <instance-id> — Instance details
vultr-api.sh GET "/instances/<id>"- Parse JSON:
instance - Display: all details including label, region, plan, status, IPs (v4/v6), OS, app, tags, date created, features
/vultr instances create — Create an instance
- Ask: region, plan, os_id or snapshot_id or app_id, label, optional (ssh keys, backups, firewall group)
- Confirm before creating — this incurs charges
vultr-api.sh POST "/instances" '{"region":"<region>","plan":"<plan>","os_id":<os_id>,"label":"<label>"}'- Useful lookups:
- Regions:
vultr-api.sh GET "/regions" - Plans:
vultr-api.sh GET "/plans" - OS list:
vultr-api.sh GET "/os"
- Regions:
/vultr instances delete <instance-id> — Delete an instance
- Always confirm — irreversible, data will be lost
vultr-api.sh DELETE "/instances/<id>"
/vultr instances start <instance-id> — Start an instance
- Confirm with user
vultr-api.sh POST "/instances/<id>/start"
/vultr instances stop <instance-id> — Stop (halt) an instance
- Confirm with user
vultr-api.sh POST "/instances/<id>/halt"
/vultr instances reboot <instance-id> — Reboot an instance
- Confirm with user
vultr-api.sh POST "/instances/<id>/reboot"
/vultr instances reinstall <instance-id> — Reinstall an instance
- Always confirm — irreversible, all data on the instance will be destroyed
vultr-api.sh POST "/instances/<id>/reinstall"
/vultr instances resize <instance-id> <plan> — Upgrade instance plan
- Confirm — this may change billing
vultr-api.sh PATCH "/instances/<id>" '{"plan":"<plan>"}'
/vultr instances bandwidth <instance-id> — Bandwidth usage
vultr-api.sh GET "/instances/<id>/bandwidth"- Display: bandwidth usage by date (incoming/outgoing in bytes)
/vultr instances ipv4 <instance-id> — List IPv4 addresses
vultr-api.sh GET "/instances/<id>/ipv4"- Display: IP | Netmask | Gateway | Type | Reverse
/vultr instances ipv6 <instance-id> — List IPv6 addresses
vultr-api.sh GET "/instances/<id>/ipv6"
/vultr instances backups <instance-id> — List instance backups
vultr-api.sh GET "/instances/<id>/backup-schedule"
2. Block Storage (/vultr storage)
/vultr storage or /vultr storage list — List block storage volumes
vultr-api.sh GET "/blocks"- Parse JSON:
blocks[] - Display table: Label | ID | Region | Size GB | Status | Attached To | Cost/Month
/vultr storage create — Create block storage
- Ask: region, size_gb, label
- Confirm — billable action
vultr-api.sh POST "/blocks" '{"region":"<region>","size_gb":<size>,"label":"<label>"}'
/vultr storage attach <block-id> <instance-id> — Attach to instance
- Confirm with user
vultr-api.sh POST "/blocks/<block-id>/attach" '{"instance_id":"<instance-id>"}'
/vultr storage detach <block-id> — Detach from instance
- Confirm with user
vultr-api.sh POST "/blocks/<block-id>/detach"
/vultr storage resize <block-id> <size_gb> — Resize block storage
- Confirm — size can only be increased, billing changes
vultr-api.sh PATCH "/blocks/<block-id>" '{"size_gb":<size>}'
/vultr storage delete <block-id> — Delete block storage
- Always confirm — irreversible
vultr-api.sh DELETE "/blocks/<block-id>"
3. Object Storage (/vultr objects)
S3-compatible object storage. The API manages clusters (subscriptions); actual data access uses S3 tools.
/vultr objects or /vultr objects list — List object storage subscriptions
vultr-api.sh GET "/object-storage"- Parse JSON:
object_storages[] - Display table: Label | ID | Region | Cluster ID | S3 Hostname | Status
/vultr objects create — Create object storage subscription
- Ask: cluster_id (from clusters list), label
- Confirm — billable action
vultr-api.sh POST "/object-storage" '{"cluster_id":<cluster_id>,"label":"<label>"}'- Cluster list:
vultr-api.sh GET "/object-storage/clusters"
/vultr objects info <object-storage-id> — Object storage details
vultr-api.sh GET "/object-storage/<id>"- Display: label, region, S3 credentials (access key, secret key, hostname)
/vultr objects delete <object-storage-id> — Delete object storage
- Always confirm — all data will be lost
vultr-api.sh DELETE "/object-storage/<id>"
/vultr objects clusters — List available clusters
vultr-api.sh GET "/object-storage/clusters"- Display: Cluster ID | Region | Hostname | Deploy
4. Kubernetes — VKE (/vultr k8s)
/vultr k8s or /vultr k8s clusters — List Kubernetes clusters
vultr-api.sh GET "/kubernetes/clusters"- Parse JSON:
vke_clusters[] - Display table: Label | ID | Region | Version | Status | Node Pools
/vultr k8s info <cluster-id> — Cluster details
vultr-api.sh GET "/kubernetes/clusters/<id>"- Display: label, region, version, status, IP, node pools (plan, count, status), service CIDR
/vultr k8s create — Create a Kubernetes cluster
- Ask: region, version, label, node_pools (plan, quantity, label)
- Confirm — billable action (charged per node)
vultr-api.sh POST "/kubernetes/clusters" '{"region":"<region>","version":"<ver>","label":"<label>","node_pools":[{"node_quantity":<n>,"plan":"<plan>","label":"<pool-label>"}]}'- Available versions:
vultr-api.sh GET "/kubernetes/versions"
/vultr k8s delete <cluster-id> — Delete cluster
- Always confirm — irreversible, all workloads destroyed
vultr-api.sh DELETE "/kubernetes/clusters/<id>"
/vultr k8s pools <cluster-id> — List node pools
vultr-api.sh GET "/kubernetes/clusters/<id>/node-pools"- Display: Label | ID | Plan | Node Count | Status | Auto Scaler
/vultr k8s pool add <cluster-id> — Add a node pool
- Ask: plan, node_quantity, label
- Confirm — billable
vultr-api.sh POST "/kubernetes/clusters/<id>/node-pools" '{"node_quantity":<n>,"plan":"<plan>","label":"<label>"}'
/vultr k8s pool delete <cluster-id> <pool-id> — Delete a node pool
- Confirm with user
vultr-api.sh DELETE "/kubernetes/clusters/<id>/node-pools/<pool-id>"
/vultr k8s kubeconfig <cluster-id> — Get kubeconfig
vultr-api.sh GET "/kubernetes/clusters/<id>/config"- Response contains base64-encoded kubeconfig
/vultr k8s upgrades <cluster-id> — Available upgrades
vultr-api.sh GET "/kubernetes/clusters/<id>/available-upgrades"
5. Managed Databases (/vultr databases)
/vultr databases or /vultr databases list — List managed databases
vultr-api.sh GET "/databases"- Parse JSON:
databases[] - Display table: Label | ID | Engine | Region | Plan | Status | Host | Port
/vultr databases info <db-id> — Database details
vultr-api.sh GET "/databases/<id>"- Display: label, engine, version, region, plan, status, host, port, user, password, maintenance window, backups, read replicas
/vultr databases create — Create a managed database
- Ask: database_engine (mysql, pg, redis), database_engine_version, region, plan, label
- Confirm — billable action
vultr-api.sh POST "/databases" '{"database_engine":"<engine>","database_engine_version":"<ver>","region":"<region>","plan":"<plan>","label":"<label>"}'- Available plans:
vultr-api.sh GET "/databases/plans?engine=<engine>"
/vultr databases resize <db-id> <plan> — Resize database
- Confirm — billing changes
vultr-api.sh PUT "/databases/<id>" '{"plan":"<plan>"}'
/vultr databases delete <db-id> — Delete managed database
- Always confirm — irreversible, all data lost
vultr-api.sh DELETE "/databases/<id>"
/vultr databases users <db-id> — List database users
vultr-api.sh GET "/databases/<id>/users"- Display: Username | Password | Encryption
/vultr databases user create <db-id> — Create database user
- Ask: username, password (optional, auto-generated if omitted)
vultr-api.sh POST "/databases/<id>/users" '{"username":"<user>"}'
/vultr databases dbs <db-id> — List logical databases
vultr-api.sh GET "/databases/<id>/dbs"
/vultr databases backups <db-id> — List database backups
vultr-api.sh GET "/databases/<id>/backups"- Display: Date | Description | Size
/vultr databases connection <db-id> — Connection info
vultr-api.sh GET "/databases/<id>"- Extract and display: host, port, username, password, database name, connection string
6. DNS (/vultr dns)
/vultr dns or /vultr dns domains — List DNS domains
vultr-api.sh GET "/domains"- Parse JSON:
domains[] - Display table: Domain | Created | DNS Sec
/vultr dns records <domain> — List DNS records
vultr-api.sh GET "/domains/<domain>/records"- Parse JSON:
records[] - Display table: ID | Type | Name | Data | TTL | Priority
/vultr dns add <domain> — Add a DNS record
- Ask: type (A, AAAA, CNAME, MX, TXT, NS, SRV, CAA), name, data, ttl, priority (for MX/SRV)
- Confirm before creating
vultr-api.sh POST "/domains/<domain>/records" '{"type":"<type>","name":"<name>","data":"<data>","ttl":<ttl>,"priority":<priority>}'
/vultr dns modify <domain> <record-id> — Modify a DNS record
- Ask which fields to update
vultr-api.sh PATCH "/domains/<domain>/records/<record-id>" '{"name":"<name>","data":"<data>"}'
/vultr dns delete <domain> <record-id> — Delete a DNS record
- Always confirm with user
vultr-api.sh DELETE "/domains/<domain>/records/<record-id>"
/vultr dns create <domain> — Create a DNS domain
- Ask: domain name, optional IP for default records
vultr-api.sh POST "/domains" '{"domain":"<domain>","ip":"<ip>"}'
/vultr dns delete-domain <domain> — Delete an entire domain
- Always confirm — removes all records
vultr-api.sh DELETE "/domains/<domain>"
/vultr dns soa <domain> — Get SOA info
vultr-api.sh GET "/domains/<domain>/soa"
/vultr dns dnssec <domain> — Get DNSSEC info
vultr-api.sh GET "/domains/<domain>/dnssec"
7. Load Balancers (/vultr lb)
/vultr lb or /vultr lb list — List load balancers
vultr-api.sh GET "/load-balancers"- Parse JSON:
load_balancers[] - Display table: Label | ID | Region | Status | IP | Instances | Rules
/vultr lb info <lb-id> — Load balancer details
vultr-api.sh GET "/load-balancers/<id>"- Display: label, region, status, IP, forwarding rules, health checks, SSL, instances, firewall rules
/vultr lb create — Create a load balancer
- Ask: region, label, forwarding_rules, health_check, instances
- Confirm — billable action
vultr-api.sh POST "/load-balancers" '{ "region":"<region>", "label":"<label>", "forwarding_rules":[{"frontend_protocol":"http","frontend_port":80,"backend_protocol":"http","backend_port":80}], "instances":["<instance-id>"] }'
/vultr lb update <lb-id> — Update load balancer
vultr-api.sh PATCH "/load-balancers/<id>" '{"label":"<label>","forwarding_rules":[...]}'
/vultr lb delete <lb-id> — Delete load balancer
- Always confirm
vultr-api.sh DELETE "/load-balancers/<id>"
/vultr lb rules <lb-id> — List forwarding rules
vultr-api.sh GET "/load-balancers/<id>/forwarding-rules"- Display: Rule ID | Frontend Protocol:Port | Backend Protocol:Port
8. Firewalls (/vultr firewalls)
/vultr firewalls or /vultr firewalls groups — List firewall groups
vultr-api.sh GET "/firewalls"- Parse JSON:
firewall_groups[] - Display table: Description | ID | Instance Count | Rule Count | Created
/vultr firewalls rules <group-id> — List firewall rules
vultr-api.sh GET "/firewalls/<group-id>/rules"- Parse JSON:
firewall_rules[] - Display table: Rule ID | Action | Protocol | Port | Subnet | Subnet Size | Notes
/vultr firewalls create — Create a firewall group
- Ask: description
vultr-api.sh POST "/firewalls" '{"description":"<desc>"}'
/vultr firewalls add-rule <group-id> — Add a firewall rule
- Ask: ip_type (v4/v6), protocol (tcp/udp/icmp/gre), subnet, subnet_size, port, notes
- Confirm with user
vultr-api.sh POST "/firewalls/<group-id>/rules" '{"ip_type":"v4","protocol":"tcp","subnet":"0.0.0.0","subnet_size":0,"port":"443","notes":"HTTPS"}'
/vultr firewalls delete-rule <group-id> <rule-id> — Delete a rule
- Confirm with user
vultr-api.sh DELETE "/firewalls/<group-id>/rules/<rule-id>"
/vultr firewalls delete <group-id> — Delete firewall group
- Always confirm — removes all rules
vultr-api.sh DELETE "/firewalls/<group-id>"
9. Snapshots (/vultr snapshots)
/vultr snapshots or /vultr snapshots list — List snapshots
vultr-api.sh GET "/snapshots"- Parse JSON:
snapshots[] - Display table: Description | ID | Status | Size | OS | Created | App ID
/vultr snapshots create <instance-id> — Create snapshot from instance
- Ask: description (optional)
- Confirm — may take several minutes, instance should ideally be powered off
vultr-api.sh POST "/snapshots" '{"instance_id":"<instance-id>","description":"<desc>"}'
/vultr snapshots info <snapshot-id> — Snapshot details
vultr-api.sh GET "/snapshots/<id>"
/vultr snapshots delete <snapshot-id> — Delete a snapshot
- Always confirm — irreversible
vultr-api.sh DELETE "/snapshots/<id>"
10. Billing (/vultr billing)
/vultr billing or /vultr billing account — Account info
vultr-api.sh GET "/account"- Display: Name | Email | Balance | Pending Charges | Last Payment Date | Last Payment Amount
/vultr billing history — Billing history
vultr-api.sh GET "/billing/history"- Parse JSON:
billing_history[] - Display table: Date | Type | Description | Amount | Balance
/vultr billing invoices — List invoices
vultr-api.sh GET "/billing/invoices"- Parse JSON:
billing_invoices[] - Display table: Invoice ID | Date | Amount | Balance | Description
/vultr billing invoice <invoice-id> — Invoice details
vultr-api.sh GET "/billing/invoices/<id>"- Display: full invoice details
/vultr billing invoice items <invoice-id> — Invoice line items
vultr-api.sh GET "/billing/invoices/<id>/items"- Display: Description | Product | Start | End | Units | Unit Type | Unit Price | Total
/vultr billing pending — Pending charges
vultr-api.sh GET "/account"- Extract and display
pending_chargesfield with current balance
Important rules
- Always confirm before destructive actions: delete instance, delete snapshot, delete database, delete DNS record, delete firewall group
- Always confirm before billable actions: create instance, create block storage, create database, create load balancer, create Kubernetes cluster
- Source the config before building commands:
source ${CLAUDE_SKILL_DIR}/vultr.conf - JSON responses: check for
errorfield in all responses; Vultr returns{"error":"message","status":4xx}on errors - If a call returns 401
Unauthorized, tell the user to check their API key - If a call returns 403
Forbidden, the API key may not have sufficient permissions - If no arguments given to
/vultr, show a summary of available commands - Display sizes in human-readable format (GB/TB)
- Display costs in USD with 2 decimal places
- Handle pagination: check for
meta.links.nextcursor; if present, fetch next page with?cursor=<value>&per_page=100 - Instance plans are referenced by ID (e.g.,
vc2-1c-1gb). Use/plansendpoint to list available plans with pricing. - Regions are referenced by ID (e.g.,
ewr,lax,cdg). Use/regionsendpoint to list. - OS IDs are numeric. Use
/osendpoint to list available operating systems.
Quick reference — API endpoints
# Instances
GET "/instances" # List all instances
GET "/instances/<id>" # Instance details
POST "/instances" # Create instance
DELETE "/instances/<id>" # Delete instance
POST "/instances/<id>/start" # Start
POST "/instances/<id>/halt" # Stop
POST "/instances/<id>/reboot" # Reboot
POST "/instances/<id>/reinstall" # Reinstall
PATCH "/instances/<id>" # Update (resize, label, etc.)
GET "/instances/<id>/bandwidth" # Bandwidth usage
GET "/instances/<id>/ipv4" # IPv4 list
GET "/instances/<id>/ipv6" # IPv6 list
# Block Storage
GET "/blocks" # List volumes
POST "/blocks" # Create volume
PATCH "/blocks/<id>" # Update (resize)
DELETE "/blocks/<id>" # Delete volume
POST "/blocks/<id>/attach" # Attach to instance
POST "/blocks/<id>/detach" # Detach from instance
# Object Storage
GET "/object-storage" # List subscriptions
POST "/object-storage" # Create subscription
GET "/object-storage/<id>" # Subscription details
DELETE "/object-storage/<id>" # Delete subscription
GET "/object-storage/clusters" # Available clusters
# Kubernetes (VKE)
GET "/kubernetes/clusters" # List clusters
POST "/kubernetes/clusters" # Create cluster
GET "/kubernetes/clusters/<id>" # Cluster details
DELETE "/kubernetes/clusters/<id>" # Delete cluster
GET "/kubernetes/clusters/<id>/node-pools" # List node pools
POST "/kubernetes/clusters/<id>/node-pools" # Add node pool
DELETE "/kubernetes/clusters/<id>/node-pools/<pid>" # Delete node pool
GET "/kubernetes/clusters/<id>/config" # Get kubeconfig
GET "/kubernetes/clusters/<id>/available-upgrades" # Check upgrades
GET "/kubernetes/versions" # Available K8s versions
# Managed Databases
GET "/databases" # List databases
POST "/databases" # Create database
GET "/databases/<id>" # Database details
PUT "/databases/<id>" # Update (resize)
DELETE "/databases/<id>" # Delete database
GET "/databases/<id>/users" # List users
POST "/databases/<id>/users" # Create user
GET "/databases/<id>/dbs" # List logical DBs
GET "/databases/<id>/backups" # List backups
GET "/databases/plans?engine=<engine>" # Available plans
# DNS
GET "/domains" # List domains
POST "/domains" # Create domain
DELETE "/domains/<domain>" # Delete domain
GET "/domains/<domain>/records" # List records
POST "/domains/<domain>/records" # Create record
PATCH "/domains/<domain>/records/<id>" # Update record
DELETE "/domains/<domain>/records/<id>" # Delete record
GET "/domains/<domain>/soa" # SOA info
GET "/domains/<domain>/dnssec" # DNSSEC info
# Load Balancers
GET "/load-balancers" # List LBs
POST "/load-balancers" # Create LB
GET "/load-balancers/<id>" # LB details
PATCH "/load-balancers/<id>" # Update LB
DELETE "/load-balancers/<id>" # Delete LB
GET "/load-balancers/<id>/forwarding-rules" # List rules
# Firewalls
GET "/firewalls" # List groups
POST "/firewalls" # Create group
DELETE "/firewalls/<id>" # Delete group
GET "/firewalls/<id>/rules" # List rules
POST "/firewalls/<id>/rules" # Create rule
DELETE "/firewalls/<id>/rules/<rid>" # Delete rule
# Snapshots
GET "/snapshots" # List snapshots
POST "/snapshots" # Create snapshot
GET "/snapshots/<id>" # Snapshot details
DELETE "/snapshots/<id>" # Delete snapshot
# Billing & Account
GET "/account" # Account info + balance
GET "/billing/history" # Billing history
GET "/billing/invoices" # List invoices
GET "/billing/invoices/<id>" # Invoice details
GET "/billing/invoices/<id>/items" # Invoice line items
# Lookups
GET "/regions" # Available regions
GET "/plans" # Available plans (with pricing)
GET "/os" # Available OS images
GET "/ssh-keys" # SSH keys
GET "/startup-scripts" # Startup scripts
GET "/reserved-ips" # Reserved IPsDoes it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

