Nebula Claw Developer
Use the restricted OpenNebula control plane API to create, list, and terminate disposable virtual machines for isolated work.
Workflow
- Read
references/api.mdfor the API contract and request examples. - Check API health before taking action.
- List visible VMs and reuse an existing one only if it clearly matches the task.
- Prefer curated template names over numeric identifiers and use the configured template catalog descriptions to choose the right one.
- Create a fresh VM when isolation matters more than reuse.
- Record the VM name and guest IP in output when available so later access and cleanup are obvious.
- Terminate the VM when the task is complete unless the user explicitly asks to keep it.
Safety constraints
- Use only curated templates, images, and networks intentionally shared with the restricted OpenNebula user.
- Do not switch to broad administrative OpenNebula privileges for routine work.
- Do not assume arbitrary templates are safe to instantiate.
- Treat created VMs as disposable unless the user asks for persistence.
- If the API health check fails, stop and diagnose before attempting create or delete operations.
Naming guidance
Use short task-based names that make later cleanup obvious.
Recommended pattern:
<purpose>-<project>-<short-date>
Examples:
test-nebula-api-2026-04-10build-myapp-2026-04-10repro-login-bug-2026-04-10
Bundled resources
- Read
references/api.mdfor endpoints, payloads, and example responses. - Read
references/setup.mdwhen you need the OpenNebula-side restricted-user and curated-resource setup pattern. - Use
scripts/vm_api.shfor deterministic health, list, create, and delete calls against the restricted API.
Output expectations
When using this skill, report:
- the API endpoint used
- the VM name
- the template name
- the guest IP when the API exposes it
- the result of create, list, or delete operations
- whether the VM was left running or destroyed
Source
See more the source code and more documentation on GitHub