d1v — Claude Code skill: d1v.ai projects and containers
A skill that tells the agent how to drive d1v.ai projects and container workspaces from the CLI: auth, project binding, sync, deploys.
npx skills add d1vai/d1v-cli --skill d1v -a claude-codeWhat d1v does
The skill covers the installed d1v command: checking auth and project state, binding a local folder to a project, syncing a workspace with pull and push. Pass --format json when you need machine-readable output or scripted inspection.
It also carries a safety section and ready-made calls. Run pull --dry-run and push --dry-run before touching a local workspace, and judge results by the exit code — a submitted request does not prove success. Keys, tokens and environment values stay out of source files, logs and commits. When auth is missing, the skill asks the user to run d1v auth login instead of pasting a token into chat.
Production is gated: d1v deploy prod needs an interactive TTY and a clear confirmation from the user, and the CLI rejects non-interactive releases. Remote commands go through d1v exec with the argv after --; d1v shell opens an interactive terminal and cannot be combined with --format json. Shell access relies on a short-lived single-use ticket.
What it helps with
- bind a local folder to a d1v.ai project
- sync a workspace before editing it
- run a command in the container and read its exit code
- check deployment status and history
- ship a production release after confirmation
Example prompts for the agent
- Check whether I'm logged in to d1v and list my projects as JSON
- Bind this folder to the project and run
pull --dry-run - Create a preview deploy and tell me when the status is READY
How to install d1v
1Skills CLI (Vercel)
npx skills add d1vai/d1v-cli --skill d1v -a claude-code2Manually: put the files in place
~/.claude/skills/d1v/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/d1v/
1Skills CLI (Vercel)
npx skills add d1vai/d1v-cli --skill d1v -a codex2Manually: put the files in place
.agents/skills/d1v/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add d1vai/d1v-cli --skill d1v -a cursor2Manually: put the files in place
.cursor/skills/d1v/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install d1vai/d1v-cli d1v2Manually: put the files in place
.github/skills/d1v/SKILL.md1Skills CLI (Vercel)
npx skills add d1vai/d1v-cli --skill d1v -a gemini-cli2Platform CLI
gemini skills install https://github.com/d1vai/d1v-cli --path skills/d1vManually: put the files in place
.devin/skills/d1v/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add d1vai/d1v-cli --skill d1v -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about d1v
How do I install d1v in Claude Code?
Run npx skills add d1vai/d1v-cli --skill d1v -a claude-code. The skill lands at ~/.claude/skills/d1v/SKILL.md.
What does the d1v skill do?
It gives the agent instructions for d1v.ai projects and container workspaces: authentication, project binding, workspace sync, container commands, environment variables and deployments.
Can a production release run without confirmation?
No. d1v deploy prod requires an interactive TTY and explicit user confirmation, and non-interactive releases are rejected.
Source text
SKILL.md · MIT
--- name: d1v description: Operate d1v.ai projects and container workspaces with the d1v CLI. Use when a task involves D1V authentication, project binding, workspace synchronization, container commands, environment metadata, preview deployments, deployment status, or a user-confirmed production release. --- # d1v CLI Use the installed `d1v` command. For automation and structured inspection, use `--format json`; never mix JSON output with an interactive shell. ## Safety - Never print, log, commit, or add API keys, tokens, environment values, or shell tickets to source files, command output, or repository configuration. - Inspect authentication and project state before changing anything. Check the command exit code and query resulting state; a submitted request is not proof of success. - Run `pull --dry-run` or `push --dry-run` before changing a local workspace, then inspect repository instructions and local changes. - Treat preview and production as separate environments. A production release requires an interactive TTY and explicit user confirmation; do not attempt or imply a non-interactive production release. - If a deployment fails or times out, preserve its deployment/release ID and use `deploy status` or `deploy history` rather than blindly retrying. ## Authenticate and discover ```bash d1v auth status --format json d1v project list --format json d1v github status --format json ``` If authentication is missing, ask the user to run `d1v auth login`. Do not ask them to paste a token into chat or a command line. An API key supplied through a secure standard-input workflow can be used with `d1v auth login --api-key`. ## Bind a local workspace ```bash d1v project get <project_id> --format json d1v init . --project-id <project_id> d1v pull --dry-run --format json d1v pull d1v push --dry-run --format json d1v push ``` `d1v init` writes local workspace metadata. Do not use `--force` unless the user explicitly approves replacing an existing binding. ## Run commands in a workspace Use an interactive shell only when a person needs a terminal: ```bash d1v shell d1v shell <project_id> d1v shell --organization-id <organization_id> ``` - With no target, `d1v shell` opens the personal workspace root. - A project ID opens that project's directory. Do not combine it with `--organization-id`. - Interactive shells require a TTY and text output. Do not use `--format json` with `d1v shell`. For automation, Agent actions, CI, or captured exit status, use `d1v exec` and place the remote argv after `--`: ```bash d1v exec -- git status --short d1v exec --project-id <project_id> -- npm test d1v exec --organization-id <organization_id> -- pwd d1v --format json exec --project-id <project_id> -- sh -c 'printf ok; printf problem >&2; exit 7' ``` Read `stdout`, `stderr`, `cwd`, and `exit_code`; a non-zero remote exit is a failed action. Do not wrap commands in `sh -c` unless shell syntax is required. Shell access uses a short-lived, single-use ticket. Never print, persist, forward, or reconstruct terminal WebSocket URLs from that ticket. ## Environment metadata ```bash d1v env list --project <project_id> --format json d1v env set --project <project_id> KEY=VALUE --sensitive ``` The default list output keeps sensitive values redacted. Do not use `--reveal`, `env get --reveal`, or `env export` unless the user explicitly asks for the secret material and has provided a safe destination outside version control. ## Deployments Create a preview with the explicit command when a project ID is known: ```bash d1v deploy preview <project_id> --format json d1v deploy status <project_id> --format json d1v deploy history <project_id> --environment preview --format json ``` `d1v deploy preview` waits for the deployment's terminal state. Report success only when it returns READY, and use its `production_url` when present, otherwise its `vercel_url`. On failure, report the error and deployment ID without repeating the request automatically. `d1v --preview` (or `d1v --prev`) is the current-directory shortcut. It may prompt to select or create a project and write the resulting project binding; use it only when the user wants that local-directory workflow. For production, first explain the pending operation and then require a clear user confirmation in an interactive terminal: ```bash d1v deploy prod <project_id> ``` The CLI shows release preflight information, prompts for relevant environment decisions, creates an idempotent release, and waits for its terminal state. It rejects non-interactive production releases. On failure, report the release phase, error code, and message. The `d1v --prod` shortcut follows the same confirmation and release flow for the bound current directory. ## Local runtime ```bash d1v runtime doctor --format json d1v agent status --format json d1v agent pair d1v agent start ``` Do not silently switch a requested local runtime to cloud when it is unavailable. Explain the runtime status and ask the user how to proceed. ## References - https://github.com/d1vai/d1v-cli - https://www.d1v.ai/cli-install - https://www.d1v.ai/docs/cli - https://www.d1v.ai/openapi
© d1vai · MIT · d1vai/d1v-cli