From navaris-cli
Drives Navaris CLI to manage sandboxes: create/start/stop, exec commands, snapshots, attach terminals, manage projects. Checks environment and routes to task skills.
npx claudepluginhub erans/navaris --plugin navaris-cliThis skill uses the workspace's default tool permissions.
Navaris is a sandbox control plane with two backends (Incus containers, Firecracker microVMs) and one CLI (`navaris`). This skill pack teaches Claude Code how to drive that CLI on a user's behalf.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Builds production-ready Apache Airflow DAGs with patterns for operators, sensors, testing, and deployment. For data pipelines, workflow orchestration, and batch jobs.
Share bugs, ideas, or general feedback.
Navaris is a sandbox control plane with two backends (Incus containers, Firecracker microVMs) and one CLI (navaris). This skill pack teaches Claude Code how to drive that CLI on a user's behalf.
Announce at start: "I'm using the using-navaris-cli skill to drive navaris."
If the user is driving navaris from an autonomous agent loop with no human in the chair, prefer the MCP server instead. See docs/mcp.md in the navaris repo. This pack is for human-in-the-loop CLI work in Claude Code — it goes through Bash, one command at a time, with user approval on destructive steps.
NAVARIS_API_URL — required. If unset, ask the user. Common default: http://localhost:8080.NAVARIS_TOKEN — required when the daemon was started with --auth-token.NAVARIS_PROJECT — optional, but highly recommended to set once so sandbox commands don't need --project on every call.navaris project list --quiet --output json >/dev/null. Classify failure:
command not found → CLI not installed → route to navaris-getting-started.navaris-getting-started.connection refused / dial tcp → daemon down → surface to user before proceeding.Match the user's intent to one of the task skills and invoke it via the Skill tool:
| User intent | Skill |
|---|---|
| Install CLI, set up env, "where do I start" | navaris-getting-started |
| Create/list/start/stop/destroy a sandbox; manage projects/ports; pick a backend | navaris-managing-sandboxes |
| Run a command in a sandbox; attach a terminal; manage sessions | navaris-running-commands |
| Snapshot, restore, promote to image, wait on async operations | navaris-snapshots-images-async |
If the user's question spans two skills, start with the one that matches the verb they used (e.g. "snapshot the sandbox and then destroy it" → navaris-snapshots-images-async first).
Pass --quiet (-q) on operation commands so they print only the resulting ID — useful for xargs, shell variables, and scripted pipelines. For list commands, use --output json | jq -r '.[].SandboxID' (or the corresponding Pascal-case ID field: SessionID, SnapshotID, ProjectID, ImageID) since --quiet does not strip the table on lists.
--auth-token directly to navarisd in a shared shell history. Use an env file or a secret manager.sandbox destroy without confirming the sandbox ID with the user first.navaris <cmd> --help if unsure.If the user asks for something not covered by the four task skills (e.g. web UI config, daemon operator tasks, SDK usage) say so and point them at README.md and docs/mcp.md.