Skip to content

Guide · Agent skill

How to use the Finish v1 to v2 Migration agent skill

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

The migrate-from-v1 skill is a guided checklist that an AI agent follows to finish upgrading a NanoClaw personal AI assistant from version 1 to version 2. It is for developers and self-hosters who have already run migrate-v2.sh on a NanoClaw v1 install and need to complete the switchover. After reading this guide you will know what the skill does, how to install it, how to trigger it, and what to check before and during the run.

Finish v1 to v2 Migrationnanocoai/nanoclaw · MIT

Quick start

  1. 1Run migrate-v2.sh. Run bash migrate-v2.sh in your regular terminal, not inside Claude, and let it complete.
  2. 2Install the skill. Unzip the downloaded ZIP and place the migrate-from-v1 folder in ~/.claude/skills/ or your project's .claude/skills/.
  3. 3Trigger the skill. Ask the agent to finish the v1 migration using a trigger phrase such as finish migration.
  4. 4Confirm the switchover. Stop v1's service, start v2's, and send a real test message to confirm the bot replies.
  5. 5Confirm the owner. Choose your user from the list the agent shows, and let it grant the owner role.
  6. 6Set the access policy. Pick public, known users only, or approval required for unknown senders.
  7. 7Finish memory and config. Run the shared-memory migration for each group and review the container configuration.

What is an agent skill and what does this one do?

An agent skill is a folder containing a SKILL.md file with instructions that an AI coding agent can load and follow for a specific task. This skill is named migrate-from-v1 and ships as a single SKILL.md file.

The script migrate-v2.sh has already copied most data and settings before this skill runs. The skill then has the agent check the migration log, confirm which user is the bot's owner, set who may message the bot, migrate legacy memory, reconcile configuration, and help port custom code changes. If the script has not run yet, the skill tells you to run it in your own terminal first.

  • Reads logs/setup-migration/handoff.json to see the status of each migration step.
  • Confirms the owner and grants the owner role in the v2 database.
  • Sets the unknown sender policy: public, known users only, or approval required.
  • Runs the shared-memory migration (/migrate-memory) for imported groups.
  • Reconciles container configuration and helps port custom v1 code.

Install the migrate-from-v1 skill

Download the ZIP from the directory page and unzip it. Then place the resulting migrate-from-v1 folder in one of these locations, depending on whether you want it for all projects or one project.

Alternatively, in the Claude apps go to Settings, then Capabilities, then Skills, and upload the ZIP there.

  • Personal, all projects: ~/.claude/skills/migrate-from-v1/
  • Single project: .claude/skills/migrate-from-v1/ inside your NanoClaw project folder
  • Claude apps: Settings → Capabilities → Skills → upload the ZIP
~/.claude/skills/

Before you start: requirements

The skill assumes a specific setup. It will not work on a generic project. You need NanoClaw v1 and v2 installation files, a completed run of migrate-v2.sh, and access to the v1 SQLite database at store/messages.db and the v2 central database.

The script itself is run in a regular terminal, not inside Claude. It needs Node with pnpm, Docker and OneCLI, because it performs bootstrap, OneCLI setup and a container build.

  • NanoClaw v1 and v2 installation files
  • A completed run of migrate-v2.sh, run in a regular terminal
  • Node and pnpm, Docker, and OneCLI
  • Access to store/messages.db (v1) and the v2 central database
  • Back up your v1 install first. The skill changes routing and access settings in a live database.

How to trigger the skill with natural requests

The skill is triggered by phrases that match its description. Use one of the trigger phrases in your request to the agent after migrate-v2.sh has finished. The skill first checks that logs/setup-migration/handoff.json exists. If it does not, the agent stops and asks you to run the script first.

  • "Migrate from v1"
  • "Finish migration"
  • "v1 migration"
  • Example: "I just ran migrate-v2.sh, finish the v1 migration with me."

Walk through the migration with the agent

The agent first confirms the switch is safe to test. It asks you to stop v1's service and start v2's, tail the host log for a clean boot, and send a real test message. Phase 0 confirms v2 routes real messages before deeper work begins. v1 is paused rather than modified, so reverting is one command.

Next the agent seeds the owner. It lists the users in the database and asks you to confirm which one is you. It then grants the owner role if it is not already present. Finally it discusses the access policy and runs the shared-memory migration for the groups.

  • Phase 0: confirm v2 answers a real test message.
  • Phase 1: confirm the owner and set access policy.
  • Phase 2: run /migrate-memory for imported groups.
  • Phase 3: container configuration.

Safety notes: scripts and network

This skill runs scripts. It executes TypeScript that opens the v2 central database and grants roles, and it can run SQL updates against the messaging_groups and users tables. Review the SKILL.md file and back up both databases before you let the agent proceed.

The skill does not use the network, according to its listing. Changes it makes are to local database rows and files. Mistakes can affect a running bot, so test with a copy of your data if you can.

  • Back up store/messages.db and the v2 central database before starting.
  • Do not run the skill on an install you have not backed up.
  • Check each AskUserQuestion answer before the agent writes to the database.

Tips for a smooth migration

Keep v1 available until v2 has answered real messages. The skill's own design depends on v1 being paused, not deleted.

If the access policy is strict, make sure the owner row exists first, or you may lock yourself out of the bot.

When you are unsure which sender is which, send a test message from that account and re-run the user query.

  • Read logs/nanoclaw.log when a test message gets no reply.
  • Use the skill's deselect step to avoid importing senders you do not recognise.
  • Record each group's memory migration result in the handoff file.

What people use it for

  • Finishing a switchover of a Telegram personal assistant from v1 to v2 after the script has run.
  • Setting up a Discord or Slack bot so only known members can trigger it.
  • Vetting new members of a WhatsApp group by requiring owner approval.
  • Moving legacy group memory into the v2 layout with /migrate-memory.

Frequently asked questions

How do I install the migrate-from-v1 skill?

Download the ZIP from the directory page and unzip it. Put the migrate-from-v1 folder in ~/.claude/skills/ for all projects, or in a project's .claude/skills/ folder. You can also upload the ZIP in the Claude apps under Settings, Capabilities, Skills.

What do I need before using this skill?

You need NanoClaw v1 and v2 installation files and a completed run of migrate-v2.sh. The script needs Node with pnpm, Docker and OneCLI, and should be run in a regular terminal. You also need access to the v1 database at store/messages.db and the v2 central database.

Is the migrate-from-v1 skill free?

The skill is listed under the MIT licence. The directory page does not list any price for it, so check the NanoClaw project for licence terms.

Does this skill work without NanoClaw?

No. The skill depends on NanoClaw's specific file layout, database tables and logs, so it is not meant for users who did not use NanoClaw.

What if the agent says handoff.json is missing?

It means migrate-v2.sh has not finished. Run bash migrate-v2.sh in your own terminal, not inside Claude. The skill will continue once the script hands control back.

Can I back out if the bot stops responding after the switch?

The skill says v1 is paused, not modified, and that reverting is one command. Check logs/nanoclaw.log for errors, and make sure you backed up your databases before starting.

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 a developer or self-hoster who already ran migrate-v2.sh on a NanoClaw v1 install and needs to finish the switchover with guided checks. Pick something else if you have not backed up your v1 install, or if you do not use NanoClaw, because the skill changes live routing and access settings and depends on NanoClaw's specific files.

Download the skill