AI Skill MartBrowse skillsPromptsProgramsLearnWhat is a Skill?
← Back to list

Finish NanoClaw v1 → v2 Migration

Walks Claude through the human-judgment half of a NanoClaw v1→v2 upgrade: owner seeding, legacy memory, container config, and fork triage.

Dev & CodingAdvanced★ 30,471⑂ 12,865AI score 8/10Last updated: Aug 9, 2026

What it does

  • Reads logs/setup-migration/handoff.json first to triage per-step results and follow-ups from the deterministic migrate-v2.sh run.
  • Has a hard preflight: if the handoff file is missing, it refuses to simulate or resume and tells the user to run bash migrate-v2.sh in a real terminal.
  • Phase 0 proves v2 actually routes a real message (non-destructive switchover, v1 only paused). Phase 1 queries users, confirms the owner ID format (telegram:<id>, whatsapp:<phone>@s.whatsapp.net, …), grants the owner role idempotently via getUserRoles/grantRole, then sets unknown_sender_policy and optionally imports known senders from v1's store/messages.db.
  • Phases 2–4: run /migrate-memory per group, validate additionalMounts host paths in container.json, and triage fork commits (copy portable skills/docs, stash src/* to docs/v1-fork-reference/).
  • Wraps up with pnpm exec tsx setup/index.ts --step verify and an install-slug-derived systemd/launchd restart.

Who it's for

  • Operators running NanoClaw v1 who need to move to v2.
  • Anyone with a customized v1 fork (extra skills, docs, container mounts).
  • Admins tightening bot access policy across Telegram/Discord/WhatsApp/Slack.

Examples

  1. "Finish migration" → reads handoff.json, fixes only routing blockers, then confirms via a live test message.
  2. "Make me the owner" → lists the users table, confirms which row is you, grants the global owner role without duplicates.
  3. "What about my v1 patches?" → shows git log upstream/main..HEAD, copies portable items and greps them for v1-only paths like /workspace/group/ or registered_groups.

· · · Install guide · · ·

Try it now, no install

Paste this into Claude to use the skill without installing anything.

Read the instructions in this file and follow them to help me:
https://raw.githubusercontent.com/nanocoai/nanoclaw/HEAD/.claude/skills/migrate-from-v1/SKILL.md

What I want: (describe your task here)

If Claude can't open the link, open it yourself and paste the contents instead.

↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.

Install in the Claude app (no terminal)
  1. Download the ZIP with the button below.
  2. In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
  3. Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
↓ Download ZIP
Install in Claude Code

Let Claude do it — paste this into Claude Code

Install the skill I found on AI Skill Mart.
Copy the .claude/skills/migrate-from-v1 folder from the GitHub repo nanocoai/nanoclaw into my ~/.claude/skills/migrate-from-v1/.
When it's done, tell me in one line what this skill can do.

Install with a command instead

git clone https://github.com/nanocoai/nanoclaw.git && mkdir -p ~/.claude/skills && cp -r nanoclaw/.claude/skills/migrate-from-v1 ~/.claude/skills/

⚠ This is a third-party skill. Check the source repository before installing.

  1. Open a terminal.
  2. Clone the repo: git clone https://github.com/nanocoai/nanoclaw.git
  3. If you already work inside a NanoClaw v2 checkout, the skill ships at .claude/skills/migrate-from-v1 — nothing to install.
  4. For global availability: mkdir -p ~/.claude/skills && cp -r nanoclaw/.claude/skills/migrate-from-v1 ~/.claude/skills/
  5. Important: run bash migrate-v2.sh in your terminal first — it needs interactive prompts, Docker, and a pnpm bootstrap.
  6. When the script hands off, start Claude Code in the project directory and say "finish v1 migration".
  7. Back up data/ and .env beforehand, since this skill writes to the v2 database and restarts your service.