Skip to content

Guide · Agent skill

How to use the Init First Agent agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

Init First Agent is an agent skill for NanoClaw, a personal AI agent setup that talks to you through chat apps. It walks you through connecting your first agent to a channel such as Discord, Slack, Telegram or WhatsApp. After following this guide you will know how to install the skill, trigger it with a plain request, and confirm that the agent can send you a welcome direct message end to end.

Init First Agentnanocoai/nanoclaw · MIT

Quick start

  1. 1Install the NanoClaw prerequisites. Make sure NanoClaw is installed, the service is running, and channel credentials are in .env with the adapter enabled in src/channels/index.ts.
  2. 2Download and unzip 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.
  3. 3Ask for the setup in plain language. Tell the agent you want to wire your first NanoClaw agent to a DM channel after credentials are configured and the service is running.
  4. 4Pick your channel. Choose one of the enabled channels the skill lists, such as Discord, Slack or Telegram.
  5. 5Resolve your DM identity. Provide your user ID and display name, then either send one DM to the bot or use the Telegram pair-code path.
  6. 6Select or create the agent group. Choose an existing agent group or let the init script create a new one.
  7. 7Confirm the welcome DM. Wait for the welcome message, then tell the skill whether it arrived. If not, let it check the outbound database.

What the skill makes the agent do

The skill is for the first-time setup of a NanoClaw agent. It resolves your user ID on the chat channel, lets you pick or create an agent group, and then has the agent send you a welcome DM through the normal delivery path. Sending that DM is the proof that messages can get through in both directions.

The source describes every step as idempotent, so rerunning the skill is safe.

  • Finds your user ID on the target channel
  • Lets you select an existing agent group or create a new one
  • Runs an init script that wires the agent to a DM messaging group
  • Sends a welcome DM to confirm delivery

Install the skill from the ZIP

Download the ZIP for this skill from this page. The skill package contains a single file, SKILL.md.

You have two options. For a personal install, unzip the file into ~/.claude/skills/. For a project-specific install, unzip it into the .claude/skills/ folder inside your project. You can also upload the ZIP in the Claude apps under Settings → Capabilities → Skills.

  • Personal: unzip into ~/.claude/skills/
  • Project: unzip into .claude/skills/ inside your project
  • Claude apps: Settings → Capabilities → Skills, then upload the ZIP

Check the prerequisites before you start

The skill assumes NanoClaw is already installed and running. It will fail or stall if the basics are missing, so check these first.

The service should be running under launchd on macOS or systemd on Linux. Channel credentials must be in .env, and the channel adapter must be enabled in src/channels/index.ts. You also need pnpm and npx/tsx for the included scripts, plus access to the NanoClaw admin CLI (ncl) and the local SQLite database at data/v2.db.

  • NanoClaw installed with the service running (launchd on macOS or systemd on Linux)
  • Channel credentials in .env and the channel adapter enabled in src/channels/index.ts
  • pnpm and npx/tsx available to run the included scripts
  • Access to the ncl admin CLI and data/v2.db

Trigger the skill with a natural request

Once credentials are configured and the service is running, ask your agent in plain language to wire up your first NanoClaw agent to a DM channel. The skill's description says to use it after channel credentials are configured and the service is running, so mention those conditions if you are unsure.

The skill then walks you through its steps: picking the channel, providing your identity, choosing or creating the agent, running the init script and verifying the welcome DM.

  • Example request: "Set up my first NanoClaw agent on Discord and send me a welcome DM."
  • Example request: "Wire my NanoClaw agent to Telegram and check that messages get through."

Understand the steps the skill follows

The skill asks you to pick one of the enabled channels. For channels that allow direct addressing, such as Telegram, WhatsApp, iMessage, Matrix and Resend, your user handle is used as the DM chat ID. For channels that need resolution, such as Discord, Slack, Teams, Webex and Google Chat, you first send any single message to the bot from your account so the router records a DM messaging group. The skill then has you confirm which platform ID is yours.

For Telegram there is also a pair-code path if you prefer not to DM the bot first. The skill shows you a code to send in the Telegram chat to complete pairing.

  • Pick the channel from the enabled list
  • Provide your user ID, display name and agent persona name
  • Resolve the DM platform ID (direct or by sending one DM to the bot)
  • Pick or create the agent group
  • Run the init script and verify the welcome message

Verify delivery and what to do if it fails

After the script runs, the welcome DM is queued right away. The main delay is container cold start, which the source puts at about 60 seconds on first launch. The skill asks you to confirm when the message arrives, and waits for your reply rather than polling the logs.

If the message does not arrive within two minutes, tell the skill. It will then check the session outbound database directly. For Discord, Slack and similar channels, the source notes that unknown_sender entries in logs/nanoclaw.log can indicate that inbound messages were rejected because of a connection or permission problem.

  • Expect up to about 60 seconds on first launch for the container to start
  • Check logs/nanoclaw.log for unknown_sender drops if no DM group appears
  • Confirm the service is running before retrying

Safety notes: scripts and network access

This skill runs scripts and uses the network. It executes the included init script with tsx, queries the local SQLite database at data/v2.db, and talks to your chat channel through the adapter. Review the commands in SKILL.md before running them, and only run the skill on an installation you control.

Credentials stay in your .env file. The skill reads them to check the channel is configured, but the source does not describe it sending them anywhere other than the channel adapter.

  • Runs scripts: yes (tsx scripts and setup steps)
  • Uses network: yes (the channel adapter sends the welcome DM)
  • Reads and writes local data under data/

What people use it for

  • Setting up a first NanoClaw agent on Discord after installing the channel and its credentials
  • Checking that Telegram delivers messages end to end after adding the adapter
  • Verifying a new channel adapter a developer is building delivers welcome DMs correctly
  • Creating a second agent group that wires to a DM with the operator

Frequently asked questions

How do I install the init-first-agent skill?

Download the ZIP from this page and unzip it into ~/.claude/skills/ for a personal install, or into .claude/skills/ inside a project. You can also upload the ZIP in the Claude apps under Settings → Capabilities → Skills.

What do I need before using this skill?

NanoClaw must be installed with its service running under launchd on macOS or systemd on Linux. Channel credentials must be in .env, the adapter must be enabled in src/channels/index.ts, and you need pnpm, npx/tsx and access to ncl and data/v2.db.

Is the init-first-agent skill free?

The skill is listed under the MIT licence. Check the repository licence file for the full terms.

Which chat channels does it support?

The skill's steps cover channels including Discord, Slack, Telegram, WhatsApp, Webex, Teams, Google Chat, Matrix, iMessage and Resend, as long as the channel is enabled and configured.

Why didn't my welcome DM arrive?

Confirm the service is running and check logs/nanoclaw.log for unknown_sender drops, which can mean inbound messages were rejected. Then let the skill check the outbound database to see whether the message was queued and sent.

Is this skill a general chat assistant?

No. It only performs NanoClaw setup and wiring. It is not meant for people who only want a general assistant, and it will not work until channel credentials and the service are in place.

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

Use this skill if you are setting up NanoClaw for the first time and already have a chat channel and its credentials configured. Developers who want a guided check that a new channel adapter delivers messages will also find it useful. If you have not configured credentials or started the service, or you just want a general chat assistant, pick something else.

Download the skill