Claude Skill MartBrowse skillsQuick linesLearn by videoTerminal guideWhat 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 & CodingAdvanced30,47112,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 Claude 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.