Agent skill

Customize NanoClaw

by nanocoai in nanocoai/nanoclaw

Interactive helper for changing a NanoClaw install: it asks what you want, points to a dedicated skill when one exists, then edits the right layer and says how to verify.

MITAuto-check: notesAgent Workflows

Install Customize NanoClaw

skills CLI
$ npx skills add nanocoai/nanoclaw --skill customize -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install nanocoai/nanoclaw customize --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/nanocoai/nanoclaw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/customize .claude/skills/customize && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
customize
GitHub stars
31k
Token cost
~1.7k tokens
SKILL.md length
790 words
Files
1
Skills in repo
59
Repo updated
First seen
Licence
MIT

At a glance

Interactive helper for changing a NanoClaw install: it asks what you want, points to a dedicated skill when one exists, then edits the right layer and says how to verify.

  • Works in 5 steps: Understand the request — Ask clarifying… → Prefer a dedicated skill — If a skill… → Plan the changes — Identify the v2… → …
  • Adding a new messaging channel or changing how the agent is triggered
  • SKILL.md covers Workflow, Entity Model, Key Files and Common Customization Patterns, plus 2 more sections
  • Calls pnpm

What it does

Questions come first, then a check for a dedicated skill that already covers the request, such as the add-channel skills for Telegram, Slack, Discord, WhatsApp, Signal or iMessage, manage-channels for wiring, manage-mounts for directory access, and skills for alternative agent providers or MCP tools. Only when none fits does the agent plan and make the change itself and describe how to test it.

Every change is framed in terms of the v2 entity model: users, messaging groups, agent groups and sessions, joined by wirings that carry trigger rules. The ncl admin CLI inspects and edits that model, and a table of key files names the entry point, router, delivery loop, session manager, container runner, channel adapters, config and central database.

When your agent uses it

  • Adding a new messaging channel or changing how the agent is triggered
  • Modifying how inbound messages are routed to agents
  • Not sure which NanoClaw skill or file covers a requested change

Example prompts

  • “Add Telegram as a channel and make the agent answer only when its name is mentioned.”
  • “Change how NanoClaw routes messages from my Slack workspace to the support agent.”

Requirements

  • A NanoClaw checkout

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Understand the request — Ask clarifying questions.
  2. Prefer a dedicated skill — If a skill covers the request, invoke it instead of editing core by hand
  3. Plan the changes — Identify the v2 surface the change belongs to (entity model in the central DB, per-agent-group container config…
  4. Implement — Make the change on the right surface.
  5. Test guidance — Tell the user how to verify.

What it can do on your machine

Read from SKILL.md and the folder at commit 66f0823. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pnpm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Customize NanoClaw loads about 1.7k tokens when it runs. Until then it costs about 75 tokens; SKILL.md has 790 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~75
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:37
    istant name, paths, timeouts) read from `.env` |
  • NoteMentions a .env fileSKILL.md:98
    2. Update paths in `.env` / config.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from nanocoai/nanoclaw at commit 66f0823, republished under its MIT licence (© nanocoai). 790 words, ~1,675 tokens.

Download SKILL.mdSave it as .claude/skills/customize/SKILL.md (or your agent's skills folder).
name
customize
description
Add new capabilities or modify NanoClaw behavior. Use when user wants to add channels (Telegram, Slack, email input), change triggers, add integrations, modify the router, or make any other customizations. This is an interactive skill that asks questions to understand what the user wants.

NanoClaw Customization

This skill helps users add capabilities or modify behavior. Use AskUserQuestion to understand what they want before making changes.

Workflow

  1. Understand the request — Ask clarifying questions.
  2. Prefer a dedicated skill — If a skill covers the request, invoke it instead of editing core by hand:
    • Channels: /add-telegram, /add-slack, /add-discord, /add-whatsapp, /add-signal, /add-imessage, and the rest of the /add-<channel> family.
    • Wiring channels to agents and isolation levels: /manage-channels.
    • Container directory access: /manage-mounts.
    • Agent providers (non-default): /add-opencode, /add-codex, /add-ollama-provider.
    • MCP tools: /add-ollama-tool, /add-atomic-chat-tool.
  3. Plan the changes — Identify the v2 surface the change belongs to (entity model in the central DB, per-agent-group container config, per-group CLAUDE.md, or core code).
  4. Implement — Make the change on the right surface.
  5. Test guidance — Tell the user how to verify.

Entity Model

Customizations route through the v2 entity model: users → messaging groups → agent groups → sessions. A messaging group is one chat/channel on one platform; an agent group holds the workspace, personality, and container config; a wiring links a messaging group to an agent group with a session mode and trigger rules. Inspect and edit all of this with the ncl admin CLI. See docs/isolation-model.md for the three isolation levels.

Key Files

FilePurpose
src/index.tsEntry point: init DB, migrations, channel adapters, delivery polls, sweep, shutdown
src/router.tsInbound routing: messaging group → agent group → session → inbound.db → wake
src/delivery.tsPolls outbound.db, delivers via adapter, handles system actions
src/session-manager.tsResolves sessions; opens inbound.db / outbound.db; heartbeat path
src/container-runner.tsSpawns per-agent-group containers with session DB + outbox mounts, OneCLI ensureAgent
src/channels/Channel adapter infra (registry, Chat SDK bridge); specific adapters install from the channels branch
src/config.tsProcess-level config (assistant name, paths, timeouts) read from .env
data/v2.dbCentral DB: users, roles, agent_groups, messaging_groups, wirings, container_configs
data/v2-sessions/<session>/Per-session inbound.db (host→container) + outbound.db (container→host)
groups/<folder>/CLAUDE.mdPer-agent-group memory/persona and instructions

For ad-hoc DB queries, use pnpm exec tsx scripts/q.ts <db> "<sql>".

Common Customization Patterns

Adding a New Input Channel (e.g., Telegram, Slack, Email)

Questions to ask:

  • Which channel? (Telegram, Slack, Discord, WhatsApp, Signal, email, etc.)
  • Should this channel reach an existing agent group or a new one?
  • What isolation level — share an agent group with other channels, or keep it separate?
  • Same trigger rules as other channels on that agent group, or different?

Implementation:

  1. Run the matching install skill (/add-telegram, /add-slack, …). It fetches the adapter from the channels branch, wires the registration import, installs the pinned package, and builds.
  2. Run /manage-channels (or use ncl messaging-groups + ncl wirings) to create the messaging group, choose the isolation level, and wire it to an agent group with a session mode and trigger rules.
Show full SKILL.md (362 more words)Show less
Adding a New MCP Integration

Questions to ask:

  • What service? (Calendar, Notion, database, etc.)
  • What operations are needed? (read, write, both)
  • Which agent group should have access?

Implementation:

  • If a dedicated /add-<service>-tool skill exists, run it — it wires the MCP server and routes credentials through OneCLI so no raw keys reach the container.
  • Otherwise wire the MCP server into the agent group's container config with either --command <cmd> [--args <json-array>] [--env <json-object>] for stdio or --url <url> for Streamable HTTP (HTTPS, or plain HTTP for localhost / host.docker.internal): ncl groups config add-mcp-server --id <group-id> --name <name> .... Then run ncl groups restart --id <group-id> to take effect. From inside a container the agent uses the add_mcp_server self-mod tool, which requires one admin approval.
Changing Assistant Behavior

Questions to ask:

  • What aspect? (persona, response style, instructions)
  • Apply to one agent group or several?

Implementation:

  • Persona, instructions, and personality live per agent group in groups/<folder>/CLAUDE.md — edit that file for the target group.
  • Container runtime behavior (provider, model, packages, MCP servers) lives in the container_configs table: ncl groups config get/update --id <group-id>.
Adding New Commands

Questions to ask:

  • What should the command do?
  • Which agent group(s)?
  • Does it need new MCP tools?

Implementation:

  • The agent interprets requests naturally — add instructions to the agent group's groups/<folder>/CLAUDE.md.
  • For routing or trigger changes (which messages wake which agent group), update the wiring's trigger rules: ncl wirings update --id <wiring-id> ....
Changing Deployment

Questions to ask:

  • Target platform? (Linux server, different Mac)
  • Service manager? (launchd, systemd)

Implementation:

  1. Create the appropriate service files.
  2. Update paths in .env / config.
  3. Provide setup instructions.

After Changes

Always tell the user.

Run from your NanoClaw project root:

bash
# Rebuild and restart
pnpm run build
source setup/lib/install-slug.sh
# macOS:
launchctl unload ~/Library/LaunchAgents/$(launchd_label).plist
launchctl load ~/Library/LaunchAgents/$(launchd_label).plist
# Linux:
# systemctl --user restart $(systemd_unit)

Example Interaction

User: "Add Telegram as an input channel"

  1. Run /add-telegram to install the adapter, wire its registration, and build.
  2. Ask: "Should Telegram reach an existing agent group, or a new one?"
  3. Ask: "Share an agent group with your other channels, or keep Telegram separate?"
  4. Run /manage-channels (or ncl messaging-groups create + ncl wirings create) to create the messaging group and wire it to the chosen agent group with a session mode and trigger rules.
  5. Tell the user how to authenticate and test.

© nanocoai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/customize of nanocoai/nanoclaw.

Open the folder on GitHubat commit 66f0823

Compare with similar skills

Customize NanoClaw next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Customize NanoClaw compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Customize NanoClaw this skillnanocoai/nanoclaw31k—~1.7kAutomated safety check: NotesMIT
Chat SDKdatabuddy-analytics/Databuddy1.2k—~2.6kAutomated safety check: PassAGPL-3.0
Traul Message Searchdandaka/traul113—~3.9kAutomated safety check: NotesAGPL-3.0
Message Push0xranx/golembot323—~984Automated safety check: PassMIT
Im Adapter0xranx/golembot323—~1.4kAutomated safety check: PassMIT
Ak Dev New Messaging Integrationyaalalabs/agent-kernel191—~4.2kAutomated safety check: PassApache-2.0

Similar skills

  • Chat SDK

    databuddy-analytics/Databuddy

    Build multi-platform chat bots with Chat SDK (chat npm package).

    1.2k GitHub stars~2.6k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Drives the traul CLI to sync, search and monitor messages from Slack, Telegram, Discord, Linear, Gmail, WhatsApp, Claude Code sessions and Markdown files.

    113 GitHub stars~3.9k tokensUpdated 5 mo ago
    Productivity & AutomationAuto-check: notes
  • Message Push

    0xranx/golembot

    Send proactive messages to IM groups or individual users via the gateway Send API.

    323 GitHub stars~984 tokensUpdated 8 days ago
    Productivity & AutomationAuto-check passed
  • Im Adapter

    0xranx/golembot

    Format responses for instant messaging platforms such as Lark, DingTalk, WeCom, Slack, and Telegram.

    323 GitHub stars~1.4k tokensUpdated 8 days ago
    Productivity & AutomationAuto-check passed
  • Ak Dev New Messaging Integration

    yaalalabs/agent-kernel

    Step-by-step guide for adding a new messaging platform integration to Agent Kernel.

    191 GitHub stars~4.2k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Skill Publish Notify

    ZJU-REAL/Easel

    发布通知推送:内容发布成功/失败后,把结果推送到飞书/钉钉/企业微信群机器人、 Telegram、Slack 或任意 webhook。当用户说"发布通知""发到飞书群""通知钉钉""推送到企微" "发布成功提醒""webhook 通知""发布完通知我""群机器人"时使用。纯脚本无第三方依赖。

    3.2k GitHub stars~467 tokensUpdated 2 days ago
    Backend & APIsAuto-check: notes

More from nanocoai/nanoclaw

All 59 skills in this repo
  • Installs or refreshes Iron Proxy and its Iron Control web console for NanoClaw, with a local Docker setup, database, credentials and a human approval bridge.

    31k GitHub stars~4.6k tokensUpdated yesterday
    Auto-check: notes
  • Agent Browser

    nanocoai/nanoclaw

    Drives a web browser from the shell with the agent-browser CLI: open pages, read an element snapshot, click and fill by reference, grab text and screenshots.

    31k GitHub starsUsed in 3 repos~1.6k tokens
    Auto-check passed
  • Installs or refreshes OneCLI as the gateway provider for NanoClaw, copying the adapter files, registering the provider and running the setup script.

    31k GitHub stars~1.1k tokensUpdated yesterday
    Auto-check: notes
  • Guides a conversational migration from an OpenClaw install to NanoClaw v2, carrying over identity, channel credentials, scheduled tasks and workspace files.

    31k GitHub stars~6k tokensUpdated yesterday
    Auto-check: notes
  • Wires up an additional phone number onto an already-installed Dial channel, so one NanoClaw install answers SMS and AI voice calls on more than one line.

    31k GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check passed
  • NanoClaw LLM Wiki Setup

    nanocoai/nanoclaw

    Adds a persistent wiki knowledge base to a NanoClaw group following Karpathy's LLM Wiki pattern, with folders, a tailored container skill and a CLAUDE.md section.

    31k GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed

Works with

Questions about Customize NanoClaw

What does Customize NanoClaw do?

Interactive helper for changing a NanoClaw install: it asks what you want, points to a dedicated skill when one exists, then edits the right layer and says how to verify. Questions come first, then a check for a dedicated skill that already covers the request, such as the add-channel skills for Telegram, Slack, Discord, WhatsApp, Signal or iMessage, manage-channels for wiring, manage-mounts for directory access, and skills for alternative agent providers or MCP tools. Only when none fits does the agent plan and make the change itself and describe how to test it.

When should I use Customize NanoClaw?

Customize NanoClaw fits situations like: adding a new messaging channel or changing how the agent is triggered; modifying how inbound messages are routed to agents; not sure which NanoClaw skill or file covers a requested change.

How do I install Customize NanoClaw in Claude Code?

Run `npx skills add nanocoai/nanoclaw --skill customize -a claude-code`. Or copy the skill folder (.claude/skills/customize in nanocoai/nanoclaw) into .claude/skills/customize in your project. Claude Code loads it when a task matches its description.

How do I install Customize NanoClaw in Codex?

Run `npx skills add nanocoai/nanoclaw --skill customize -a codex`. Or copy the skill folder (.claude/skills/customize in nanocoai/nanoclaw) into .agents/skills/customize in your project. Codex loads it when a task matches its description.

Can I use Customize NanoClaw in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nanocoai/nanoclaw --skill customize -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/customize, .gemini/skills/customize, .github/skills/customize and .opencode/skills/customize in your project.

What does Customize NanoClaw need to run?

Going by SKILL.md and its folder, Customize NanoClaw needs the command-line tools its instructions call (pnpm). Our summary lists: A NanoClaw checkout.

Does Customize NanoClaw access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Customize NanoClaw safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Customize NanoClaw use?

Customize NanoClaw is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Customize NanoClaw use?

About 1.7k tokens (SKILL.md is roughly 6.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Customize NanoClaw?

Skills that share tags, products or a category with Customize NanoClaw: Chat SDK (databuddy-analytics/Databuddy, 1.2k stars), Traul Message Search (dandaka/traul, 113 stars), Message Push (0xranx/golembot, 323 stars) and Im Adapter (0xranx/golembot, 323 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Customize NanoClaw?

nanocoai (a GitHub organization) maintains it in nanocoai/nanoclaw, which has 30,883 GitHub stars. The repository holds 59 skills in this directory. The repository was last updated on October 6, 2026.

Source: nanocoai/nanoclaw on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.