Guide · Agent skill
How to use the Add Dial phone channel agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The add-dial skill connects a NanoClaw assistant to Dial (getdial.ai), giving it a real phone number for SMS and AI voice calls. This guide explains what the skill changes, how to install it from the ZIP or the Claude apps, what it needs, and the safety points to check before you run it. By the end you will know whether your setup qualifies and how to work through the install.
Quick start
- 1Confirm the prerequisites. Check that you have a NanoClaw git repository with src/channels and setup directories, Node.js, pnpm, and access to the nanocoai/nanoclaw channels branch.
- 2Install the skill. Download the ZIP from this page and unzip it into ~/.claude/skills/ or a project's .claude/skills/ folder, or upload it under Settings, Capabilities, Skills in the Claude apps.
- 3Ask the agent to apply the skill. Start the add-dial workflow in your NanoClaw project so the agent can copy the adapter, register it and add the import line.
- 4Build and run the registration test. Run pnpm run build, then pnpm exec vitest run src/channels/dial-registration.test.ts to confirm the channel is registered.
- 5Pin the dial CLI path. Run command -v dial and store the absolute path as DIAL_CLI_PATH in .env so the NanoClaw service can find the CLI.
- 6Sign in to Dial. Check your sign-in with dial doctor, then reuse or switch accounts. For a new account, enter your email and the 6-digit code Dial sends.
What the add-dial skill does
Add Dial is an installer for a messaging integration, not a standalone app. Once it has run, a NanoClaw assistant can send and receive text messages and handle AI voice calls through a real phone number provided by Dial.
The skill copies a native Dial channel adapter and its tests into your NanoClaw codebase, registers the adapter, installs a QR-code library, builds and tests the project, and walks you through signing in to a Dial account with the dial command-line tool. Native means there is no Chat SDK bridge: outbound messages go through dial message, and inbound messages arrive through the CLI's command-target daemon.
Install the add-dial skill from the ZIP or the Claude apps
Download the ZIP from this page and unzip it into a skills folder. For a personal install use ~/.claude/skills/. For a single project, use the .claude/skills/ folder inside that project.
If you use the Claude apps instead, upload the skill under Settings, then Capabilities, then Skills.
The package contains three files: SKILL.md, which holds the instructions the agent follows, apply-fixtures.json, and REMOVE.md, which describes how to undo the install.
- Personal install: ~/.claude/skills/
- Project install: .claude/skills/ inside your project
- Claude apps: Settings, then Capabilities, then Skills
Run the install steps and sign in to Dial
The mechanical steps are written so an agent can apply them, and every step is idempotent, so re-running the skill is safe. The Apply section copies the adapter files from the nanocoai/nanoclaw channels branch, appends one import line to src/channels/index.ts, and adds the pair-dial setup step to setup/index.ts if it is missing.
The skill then installs the qrcode package, runs the project build, and runs one integration test, src/channels/dial-registration.test.ts, which checks that the channel is registered. End-to-end SMS and voice are verified manually once the service runs.
For sign-in, the skill checks whether you are already signed in with dial doctor. If you are, you can reuse that account or switch. If you are not, you enter an email address, Dial sends a 6-digit one-time code, and you enter that code to verify it and provision your number.
- Copy the adapter, pairing helper and tests from the channels branch
- Append the import to src/channels/index.ts
- Install qrcode and run the build
- Run the registration test
- Sign in with the dial CLI and enter the one-time code
pnpm run build
pnpm exec vitest run src/channels/dial-registration.test.tsPin the dial CLI path so the service can find it
The NanoClaw service does not inherit your interactive shell's PATH. If dial lives in a version-manager bin directory, a bare dial command fails with ENOENT, the inbound command target is never registered, and the channel looks connected but receives nothing. The skill avoids this by writing the absolute path to DIAL_CLI_PATH in your .env file.
Run command -v dial to see the path. The skill uses that output as the value for DIAL_CLI_PATH. If inbound messages and calls do not arrive, check logs/nanoclaw.error.log.
command -v dialSafety notes: scripts and network access
This skill runs scripts and uses the network. It edits .env, changes source files, and runs builds. If the dial CLI is missing, the skill runs a remote install script from getdial.ai piped into bash. Read that script first if your policy requires it, or install the CLI yourself before you start.
Once the agent is reachable by SMS or phone, it will handle inbound messages and calls from strangers. That carries spam and misuse risk, so decide who may contact the assistant before you enable the channel.
- Runs shell commands and edits .env and source files
- Pipes a remote install script into bash if the dial CLI is missing
- Inbound messages and calls can come from anyone who has the number
Tips for a clean setup and a clean removal
Check the prerequisites first: a NanoClaw git repository with src/channels and setup directories, Node.js and pnpm, and access to the nanocoai/nanoclaw channels branch. The skill does not install Node.js or pnpm for you.
To remove the integration, follow REMOVE.md. It has you remove the import line, delete the adapter files, remove the DIAL_* overrides from .env, and rebuild and restart. The Dial account, its number and the dial listen daemon are managed by the dial CLI, so remove them separately.
- Pin DIAL_CLI_PATH before you expect inbound messages
- Re-running the skill is safe because each step is idempotent
- Account, number and listener are managed by the dial CLI, not NanoClaw
What people use it for
- Let a NanoClaw assistant answer inbound SMS sent to a dedicated Dial number
- Have an AI assistant place or answer voice calls on a number your team uses
- Send text messages from the assistant to contacts through dial message
Frequently asked questions
How do I install the add-dial skill?
Download the ZIP from this page and unzip it into ~/.claude/skills/ for a personal install or into a project's .claude/skills/ folder. In the Claude apps, upload it under Settings, then Capabilities, then Skills.
What do I need before I install add-dial?
You need a NanoClaw git repository with src/channels and setup directories, Node.js and pnpm, a Dial account with email verification, and access to the nanocoai/nanoclaw channels branch. The skill installs the dial CLI if it is missing.
Is add-dial free, and what is its licence?
The nanocoai/nanoclaw repository this skill comes from is listed under the MIT licence. This source does not state Dial's pricing, so check getdial.ai for the cost of numbers, SMS and calls.
Why are my inbound messages not arriving after setup?
The NanoClaw service may not see the dial CLI on its PATH, so the inbound command target never registers. Set DIAL_CLI_PATH in .env to the absolute path from command -v dial, then check logs/nanoclaw.error.log.
How is add-dial different from other channel integrations?
Add Dial is a native adapter with no Chat SDK bridge. It sends outbound messages with dial message and receives inbound messages through the CLI's command-target daemon.
How do I remove the add-dial integration?
Follow REMOVE.md: delete the import line and the adapter files, remove DIAL_* overrides from .env, then rebuild and restart. Remove the Dial account and number separately with the dial CLI.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Add Dial suits developers who already run their own NanoClaw install and are comfortable with command-line setup, config edits and builds, and who want the agent reachable by SMS or phone. It is a poor fit for non-technical users, for anyone unwilling to run a remote install script, or for anyone who does not want strangers able to contact their assistant.
Download the skill