migrate-from-v1

Completes NanoClaw v1 to v2 migration by seeding owners, cleaning configs, and porting customizations.

2|Updated Jan 14, 2026
One-click install
npx skills add https://github.com/RADHA0-max/selfhealbackend --skill migrate-from-v1-radha0-max
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: migrate-from-v1
Source: https://github.com/RADHA0-max/selfhealbackend/tree/main/nanoclaw/.claude/skills/migrate-from-v1
Command: npx skills add https://github.com/RADHA0-max/selfhealbackend --skill migrate-from-v1-radha0-max

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? After running the deterministic migrate-v2.sh script, a NanoClaw v1-to-v2 migration still has judgment-dependent leftovers: unseeded owner roles, bloated CLAUDE.local.md files full of v1 boilerplate, unreconciled container configs, and fork customizations that need porting. This Skill guides the AI through finishing that migration safely. ## Core Features & Use Cases - Smoke-test routing first: Verifies v2 actually answers real messages on live channels before deeper migration work, with v1 kept paused for easy rollback. - Owner and access setup: Seeds the owner role in the v2 database and configures the unknown_sender_policy (public, strict, or request_approval), optionally importing known senders from v1 message history. - CLAUDE.local.md cleanup: Diffs each group's file against its v1 template, strips stock boilerplate now handled by v2 fragments, and preserves genuine user customizations with user approval. - Fork customization porting: Detects commits ahead of upstream, copies portable items (skills, docs), and stashes non-portable source code as reference. - Use Case: You ran bash migrate-v2.sh on your NanoClaw install and now need to grant yourself owner access, tighten who can message the bot, and clean up the migrated group configs without losing your personal touches. ## Quick Start Finish my NanoClaw v1 to v2 migration now that migrate-v2.sh has completed.

Frequently Asked Questions about migrate-from-v1

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I finish a NanoClaw v1 to v2 migration?

Run bash migrate-v2.sh in your terminal first, then invoke this skill. It reads logs/setup-migration/handoff.json, smoke-tests message routing, seeds the owner role, cleans up CLAUDE.local.md files, and reconciles container configs.

How do I grant the owner role in NanoClaw v2?

Query the users table to find your user ID in the format channel_type:platform_handle, then call grantRole from src/modules/permissions/db/user-roles.ts with role 'owner' and a null agent_group_id. Check getUserRoles first so the operation stays re-runnable.

What is the unknown_sender_policy in NanoClaw v2?

It is a messaging_groups column controlling who can interact with the bot. It accepts three values: public (anyone), strict (owner, admin, or agent group members only), and request_approval (unknown senders trigger an owner approval request).

Can I run migrate-v2.sh from inside a Claude session?

No. The script needs an interactive shell for channel selection prompts, service switchover, Node/pnpm bootstrap, Docker, and a container build. Run it in your terminal first; this skill only handles the post-script judgment work.

What happens to my v1 fork customizations during migration?

The skill checks git log for commits ahead of upstream. Portable items like container skills and docs can be copied with v1-only references flagged, while source code under src/ is not portable and gets stashed to docs/v1-fork-reference/ with an explanatory README.

Why does the migration keep v1 running instead of deleting it?

v1 is paused, not modified, so reverting is a single service restart if v2 fails the smoke test. The v1 checkout is treated as read-only throughout the migration, and handoff.json serves as the recovery point if context is lost.