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.md for 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-10
build-myapp-2026-04-10
repro-login-bug-2026-04-10
Bundled resources#
- Read
references/api.md for endpoints, payloads, and example responses.
- Read
references/setup.md when you need the OpenNebula-side restricted-user and curated-resource setup pattern.
- Use
scripts/vm_api.sh for 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