setup — community nanoclaw, community, ide skills

v1.0.0

À propos de ce Skill

Parfait pour les agents IA nécessitant une configuration et une installation simplifiées des dépendances et des temps d'exécution de conteneurs. Run initial NanoClaw setup. Use when user wants to install dependencies, authenticate Telegram, register their main channel, or start the background services. Triggers on setup, install, configure nanoclaw, or first-time setup requests.

chrisfrantz chrisfrantz
[0]
[0]
Updated: 3/12/2026

Killer-Skills Review

Decision support comes first. Repository text comes second.

Reference-Only Page Review Score: 7/11

This page remains useful for operators, but Killer-Skills treats it as reference material instead of a primary organic landing page.

Original recommendation layer Concrete use-case guidance Explicit limitations and caution
Review Score
7/11
Quality Score
42
Canonical Locale
en
Detected Body Locale
en

Parfait pour les agents IA nécessitant une configuration et une installation simplifiées des dépendances et des temps d'exécution de conteneurs. Run initial NanoClaw setup. Use when user wants to install dependencies, authenticate Telegram, register their main channel, or start the background services. Triggers on setup, install, configure nanoclaw, or first-time setup requests.

Pourquoi utiliser cette compétence

Permet aux agents d'automatiser l'installation des dépendances à l'aide de npm install et configure les temps d'exécution de conteneurs tels que Docker, offrant une expérience fluide avec la détection de plate-forme et l'exécution de commandes.

Meilleur pour

Parfait pour les agents IA nécessitant une configuration et une installation simplifiées des dépendances et des temps d'exécution de conteneurs.

Cas d'utilisation exploitables for setup

Automatiser l'installation des dépendances pour les projets d'IA
Configurer les temps d'exécution de conteneurs pour la compatibilité entre les plateformes
Optimiser les flux de travail de développement en suspendant l'action de l'utilisateur uniquement lorsque cela est nécessaire

! Sécurité et Limitations

  • Nécessite l'installation de npm et du temps d'exécution du conteneur
  • Nécessite l'action de l'utilisateur pour créer des jetons de bot et envoyer des messages de test
  • La détection de plate-forme est limitée aux systèmes basés sur Unix utilisant uname -s

Why this page is reference-only

  • - Current locale does not satisfy the locale-governance contract.
  • - The underlying skill quality score is below the review floor.

Source Boundary

The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.

After The Review

Decide The Next Action Before You Keep Reading Repository Material

Killer-Skills should not stop at opening repository instructions. It should help you decide whether to install this skill, when to cross-check against trusted collections, and when to move into workflow rollout.

Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is setup?

Parfait pour les agents IA nécessitant une configuration et une installation simplifiées des dépendances et des temps d'exécution de conteneurs. Run initial NanoClaw setup. Use when user wants to install dependencies, authenticate Telegram, register their main channel, or start the background services. Triggers on setup, install, configure nanoclaw, or first-time setup requests.

How do I install setup?

Run the command: npx killer-skills add chrisfrantz/nanoclaw/setup. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for setup?

Key use cases include: Automatiser l'installation des dépendances pour les projets d'IA, Configurer les temps d'exécution de conteneurs pour la compatibilité entre les plateformes, Optimiser les flux de travail de développement en suspendant l'action de l'utilisateur uniquement lorsque cela est nécessaire.

Which IDEs are compatible with setup?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for setup?

Nécessite l'installation de npm et du temps d'exécution du conteneur. Nécessite l'action de l'utilisateur pour créer des jetons de bot et envoyer des messages de test. La détection de plate-forme est limitée aux systèmes basés sur Unix utilisant uname -s.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add chrisfrantz/nanoclaw/setup. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use setup immediately in the current project.

! Reference-Only Mode

This page remains useful for installation and reference, but Killer-Skills no longer treats it as a primary indexable landing page. Read the review above before relying on the upstream repository instructions.

Upstream Repository Material

The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.

Upstream Source

setup

Install setup, an AI agent skill for AI agent workflows and automation. Review the use cases, limitations, and setup path before rollout.

SKILL.md
Readonly
Upstream Repository Material
The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.
Supporting Evidence

NanoClaw Setup

Run all commands automatically. Only pause when user action is required (creating bot tokens, sending a test message).

1. Install Dependencies

bash
1npm install

2. Install Container Runtime

First, detect the platform and check what's available:

bash
1echo "Platform: $(uname -s)" 2which container && echo "Apple Container: installed" || echo "Apple Container: not installed" 3which docker && docker info >/dev/null 2>&1 && echo "Docker: installed and running" || echo "Docker: not installed or not running"

If NOT on macOS (Linux, etc.)

Apple Container is macOS-only. Use Docker instead.

Tell the user:

You're on Linux, so we'll use Docker for container isolation. Let me set that up now.

Use the /convert-to-docker skill to convert the codebase to Docker, then continue to Section 3.

If on macOS

If Apple Container is already installed: Continue to Section 3.

If Apple Container is NOT installed: Ask the user:

NanoClaw needs a container runtime for isolated agent execution. You have two options:

  1. Apple Container (default) - macOS-native, lightweight, designed for Apple silicon
  2. Docker - Cross-platform, widely used, works on macOS and Linux

Which would you prefer?

Option A: Apple Container

Tell the user:

Apple Container is required for running agents in isolated environments.

  1. Download the latest .pkg from https://github.com/apple/container/releases
  2. Double-click to install
  3. Run container system start to start the service

Let me know when you've completed these steps.

Wait for user confirmation, then verify:

bash
1container system start 2container --version

Note: NanoClaw automatically starts the Apple Container system when it launches, so you don't need to start it manually after reboots.

Option B: Docker

Tell the user:

You've chosen Docker. Let me set that up now.

Use the /convert-to-docker skill to convert the codebase to Docker, then continue to Section 3.

3. Configure Codex Authentication

Ask the user if they want to use Codex OAuth (preferred) or an API key.

Verify the user is logged in with Codex CLI and copy the auth file into the main session:

bash
1codex login status || true 2mkdir -p data/sessions/main/.codex 3cp ~/.codex/auth.json data/sessions/main/.codex/auth.json 4chmod 600 data/sessions/main/.codex/auth.json

Option B: API key

Create .env and set the key:

bash
1echo 'CODEX_API_KEY=' > .env

Then verify:

bash
1KEY=$(grep "^CODEX_API_KEY=" .env | cut -d= -f2) 2[ -n "$KEY" ] && echo "API key configured: ${KEY:0:10}...${KEY: -4}" || echo "Missing"

4. Build Container Image

Build the NanoClaw agent container:

bash
1./container/build.sh

This creates the nanoclaw-agent:latest image with Node.js, Chromium, Codex CLI, and agent-browser.

Verify the build succeeded by running a simple test (this auto-detects which runtime you're using):

bash
1if which docker >/dev/null 2>&1 && docker info >/dev/null 2>&1; then 2 echo '{}' | docker run -i --entrypoint /bin/echo nanoclaw-agent:latest "Container OK" || echo "Container build failed" 3else 4 echo '{}' | container run -i --entrypoint /bin/echo nanoclaw-agent:latest "Container OK" || echo "Container build failed" 5fi

5. Telegram Bot Setup

USER ACTION REQUIRED

Ask the user to create a Telegram bot with @BotFather and provide the bot token.

Store the token in .env:

bash
1echo "TELEGRAM_BOT_TOKEN=${TOKEN}" >> .env

Validate the token:

bash
1TOKEN=$(grep "^TELEGRAM_BOT_TOKEN=" .env | cut -d= -f2) 2curl -s "https://api.telegram.org/bot${TOKEN}/getMe"

Optional: If the user wants to restrict access, set allowlists:

bash
1echo "TELEGRAM_ALLOWED_USER_IDS=123456789" >> .env 2echo "TELEGRAM_ALLOWED_USERNAMES=yourusername" >> .env

6. Configure Assistant Name

Ask the user:

What trigger word do you want to use? (default: Andy)

Messages starting with @TriggerWord will be sent to Codex.

If they choose something other than Andy, update it in these places:

  1. groups/MEMORY.md - Change "# Andy" and "You are Andy" to the new name
  2. groups/main/MEMORY.md - Same changes at the top
  3. data/registered_groups.json - Use @NewName as the trigger when registering groups

Store their choice - you'll use it when creating the registered_groups.json and when telling them how to test.

7. Register Main Channel

For Telegram, the first private DM can auto-register as the main channel.

Start the app briefly and ask the user to send a DM to the bot while it's running:

bash
1timeout 15 npm run dev || true

If auto-registration is disabled (TELEGRAM_AUTO_REGISTER=false), manually register the chat by querying the DB and writing data/registered_groups.json:

bash
1sqlite3 store/messages.db "SELECT DISTINCT chat_jid FROM messages WHERE chat_jid LIKE 'telegram:%' ORDER BY timestamp DESC LIMIT 5"

Then update data/registered_groups.json:

json
1{ 2 "telegram:CHAT_ID": { 3 "name": "main", 4 "folder": "main", 5 "trigger": "@ASSISTANT_NAME", 6 "added_at": "CURRENT_ISO_TIMESTAMP" 7 } 8}

Ensure the groups folder exists:

bash
1mkdir -p groups/main/logs

8. Configure External Directory Access (Mount Allowlist)

Ask the user:

Do you want the agent to be able to access any directories outside the NanoClaw project?

Examples: Git repositories, project folders, documents you want Codex to work on.

Note: This is optional. Without configuration, agents can only access their own group folders.

If no, create an empty allowlist to make this explicit:

bash
1mkdir -p ~/.config/nanoclaw 2cat > ~/.config/nanoclaw/mount-allowlist.json << 'EOF' 3{ 4 "allowedRoots": [], 5 "blockedPatterns": [], 6 "nonMainReadOnly": true 7} 8EOF 9echo "Mount allowlist created - no external directories allowed"

Skip to the next step.

If yes, ask follow-up questions:

8a. Collect Directory Paths

Ask the user:

Which directories do you want to allow access to?

You can specify:

  • A parent folder like ~/projects (allows access to anything inside)
  • Specific paths like ~/repos/my-app

List them one per line, or give me a comma-separated list.

For each directory they provide, ask:

Should [directory] be read-write (agents can modify files) or read-only?

Read-write is needed for: code changes, creating files, git commits Read-only is safer for: reference docs, config examples, templates

8b. Configure Non-Main Group Access

Ask the user:

Should non-main groups (other Telegram chats you add later) be restricted to read-only access even if read-write is allowed for the directory?

Recommended: Yes - this prevents other groups from modifying files even if you grant them access to a directory.

8c. Create the Allowlist

Create the allowlist file based on their answers:

bash
1mkdir -p ~/.config/nanoclaw

Then write the JSON file. Example for a user who wants ~/projects (read-write) and ~/docs (read-only) with non-main read-only:

bash
1cat > ~/.config/nanoclaw/mount-allowlist.json << 'EOF' 2{ 3 "allowedRoots": [ 4 { 5 "path": "~/projects", 6 "allowReadWrite": true, 7 "description": "Development projects" 8 }, 9 { 10 "path": "~/docs", 11 "allowReadWrite": false, 12 "description": "Reference documents" 13 } 14 ], 15 "blockedPatterns": [], 16 "nonMainReadOnly": true 17} 18EOF

Verify the file:

bash
1cat ~/.config/nanoclaw/mount-allowlist.json

Tell the user:

Mount allowlist configured. The following directories are now accessible:

  • ~/projects (read-write)
  • ~/docs (read-only)

Security notes:

  • Sensitive paths (.ssh, .gnupg, .aws, credentials) are always blocked
  • This config file is stored outside the project, so agents cannot modify it
  • Changes require restarting the NanoClaw service

To grant a group access to a directory, add it to their config in data/registered_groups.json:

json
1"containerConfig": { 2 "additionalMounts": [ 3 { "hostPath": "~/projects/my-app", "containerPath": "my-app", "readonly": false } 4 ] 5}

9. Configure launchd Service

Generate the plist file with correct paths automatically:

bash
1NODE_PATH=$(which node) 2PROJECT_PATH=$(pwd) 3HOME_PATH=$HOME 4 5cat > ~/Library/LaunchAgents/com.nanoclaw.plist << EOF 6<?xml version="1.0" encoding="UTF-8"?> 7<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 8<plist version="1.0"> 9<dict> 10 <key>Label</key> 11 <string>com.nanoclaw</string> 12 <key>ProgramArguments</key> 13 <array> 14 <string>${NODE_PATH}</string> 15 <string>${PROJECT_PATH}/dist/index.js</string> 16 </array> 17 <key>WorkingDirectory</key> 18 <string>${PROJECT_PATH}</string> 19 <key>RunAtLoad</key> 20 <true/> 21 <key>KeepAlive</key> 22 <true/> 23 <key>EnvironmentVariables</key> 24 <dict> 25 <key>PATH</key> 26 <string>/usr/local/bin:/usr/bin:/bin:${HOME_PATH}/.local/bin</string> 27 <key>HOME</key> 28 <string>${HOME_PATH}</string> 29 </dict> 30 <key>StandardOutPath</key> 31 <string>${PROJECT_PATH}/logs/nanoclaw.log</string> 32 <key>StandardErrorPath</key> 33 <string>${PROJECT_PATH}/logs/nanoclaw.error.log</string> 34</dict> 35</plist> 36EOF 37 38echo "Created launchd plist with:" 39echo " Node: ${NODE_PATH}" 40echo " Project: ${PROJECT_PATH}"

Build and start the service:

bash
1npm run build 2mkdir -p logs 3launchctl load ~/Library/LaunchAgents/com.nanoclaw.plist

Verify it's running:

bash
1launchctl list | grep nanoclaw

11. Test

Tell the user (using the assistant name they configured):

Send @ASSISTANT_NAME hello in your registered chat.

Check the logs:

bash
1tail -f logs/nanoclaw.log

The user should receive a response in Telegram.

Troubleshooting

Service not starting: Check logs/nanoclaw.error.log

Container agent fails with "Codex CLI process exited with code 1":

  • Ensure the container runtime is running:
    • Apple Container: container system start
    • Docker: docker info (start Docker Desktop on macOS, or sudo systemctl start docker on Linux)
  • Check container logs: cat groups/main/logs/container-*.log | tail -50

No response to messages:

  • Verify the trigger pattern matches (e.g., @AssistantName at start of message)
  • Check that the chat JID is in data/registered_groups.json
  • Check logs/nanoclaw.log for errors

Telegram bot not responding:

  • Verify TELEGRAM_BOT_TOKEN is correct
  • Check logs/nanoclaw.log for errors
  • Restart the service: launchctl kickstart -k gui/$(id -u)/com.nanoclaw

Unload service:

bash
1launchctl unload ~/Library/LaunchAgents/com.nanoclaw.plist

Compétences associées

Looking for an alternative to setup or another community skill for your workflow? Explore these related open-source skills.

Voir tout

openclaw-release-maintainer

Logo of openclaw
openclaw

Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

widget-generator

Logo of f
f

Générez des plugins de widgets personnalisables pour le système de flux prompts.chat

flags

Logo of vercel
vercel

Le Cadre de Réaction

138.4k
0
Navigateur

pr-review

Logo of pytorch
pytorch

Tenseurs et réseaux neuronaux dynamiques en Python avec une forte accélération GPU

98.6k
0
Développeur