migrate-from-openclaw
Migrate from OpenClaw to NanoClaw v2. Detects an existing OpenClaw installation, extracts identity, channel credentials, scheduled tasks, and other config, then guides interactive migration. Triggers on "migrate from openclaw", "openclaw migration", "import from openclaw".
npx skills add nanocoai/nanoclaw --skill migrate-from-openclaw --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Guide the user through migrating their OpenClaw installation into NanoClaw v2. This is a conversational migration assistant that reads the OpenClaw state, discusses findings with the user, decides together what to bring over and where it belongs in v2's entity model, and shows proposed changes before applying.
Principle: Never silently copy data. Read it, explain it, place it, then apply. Credentials are masked when displayed (first 4 + ... + last 4). Make judgment calls about what's core vs. reference material.
UX: Use AskUserQuestion for multiple-choice only. Use plain text for free-form input. Don't dump raw data — summarize and explain conversationally.
How it works
- It integrates with NanoClaw entry points and copies a few files in (workspace markdown, OpenClaw skills, and its own transform module + test). It does not perform core code edits beyond the migration scaffolding. A
REMOVE.mdreverses every file copied. - It defines phases (Discovery, Phase 0–8) guiding through detecting an OpenClaw installation, mapping to v2 structures (entity model, containers, memory, credentials, access control, scheduled tasks), and generating a migration plan.
- It outputs a migration-state file (
migration-state.md) to track decisions and progress, updated throughout Phases, and deleted at Phase 8 unless the user opts to keep it. - It offers commands to run for discovery, registration, and credential extraction during the migration (e.g.,
pnpm exec tsx ${CLAUDE_SKILL_DIR}/scripts/discover-openclaw.ts,pnpm exec tsx scripts/init-first-agent.ts,pnpm exec tsx setup/index.ts --step register). - It handles credential masking and prompts for confirmation before applying changes to identities, memory, and group wiring.
When to use it
Use when migrating from an existing OpenClaw installation to NanoClaw v2, especially when the user wants a guided, interactive process rather than an automated batch copy.
What it can touch
- It references and orchestrates existing NanoClaw entry points and scripts (e.g.,
setup/index.ts,scripts/init-first-agent.ts,onecliCLI). - It copies or references files such as workspace markdown, OpenClaw skills, its transform module, and tests.
- It may copy OpenClaw-related skill data and creates a
migration-state.mdin the project root.
Caveats
- It does not perform silent data copying; all data is read, explained, and placed with user confirmation.
- The migration state is a Phase 0–8 artifact that may be deleted at Phase 8 unless kept.
- It uses masking for credentials in display (first 4 +
...+ last 4). - It relies on existing NanoClaw structures and does not edit core code directly; its integration is guarded by tests (
scripts/transform.test.ts).
# Migrate from OpenClaw Guide the user through migrating their OpenClaw installation into NanoClaw v2. This is a conversation, not a batch job. Read OpenClaw state, discuss it with the user, decide together what to bring over and where it belongs in v2's entity model, and show proposed changes before applying. **Principle:** Never silently copy data. Read it, explain it, place it, then apply. Credentials are masked when displayed (first 4 + `...` + last 4). Make judgment calls about what's core vs. reference material. **UX:** Use `AskUserQuestion` for multiple-choice only. Use plain text for free-form input. Don't dump raw data — summarize and explain conversationally. ## What this skill changes (conformance) This skill drives existing NanoClaw entry points (`setup/index.ts --step register`, `scripts/init-first-agent.ts`, the `onecli` CLI) and copies a few files in (workspace markdown, OpenClaw skills, and its own transform module + test). It makes no code-level reach-in into core. Its integration assumptions about v2 are guarded by `scripts/transform.test.ts`, which is copied into the project's `scripts/` test tree on apply (Phase 8) so vitest runs it against the composed install.
- What this skill changes (conformance)
- v2 architecture the migration targets
- Migration State File
- Phase 0: Discovery
- Phase 1: Agents, Groups, and Shared vs Separate
- Confirm the assistant name
- Seed the owner and the primary DM agent
- Register the remaining groups
- Phase 2: Settings from Config
- Timezone
- Container timeout
- Access control (sender policies)
- Phase 3: Identity and Memory
- IDENTITY.md / SOUL.md
pnpm exec tsx ${CLAUDE_SKILL_DIR}/scripts/discover-openclaw.ts
pnpm exec tsx scripts/init-first-agent.ts \
pnpm exec tsx setup/index.ts --step register -- \
ncl users create --id "<channel>:<handle>" --kind <channel> --display-name "<name>"
ncl members add --user "<channel>:<handle>" --group "<ag-id>"
cp -r <skill_source_dir> container/skills/<skill_name>
pnpm exec tsx ${CLAUDE_SKILL_DIR}/scripts/extract-channel-credentials.ts \
onecli secrets create --name Anthropic --type anthropic \
onecli secrets create --name OpenAI --type api_key \
ncl groups config add-mcp-server --id <agent-group-id> \What does the migrate-from-openclaw skill do?
Migrate from OpenClaw to NanoClaw v2. Detects an existing OpenClaw installation, extracts identity, channel credentials, scheduled tasks, and other config, then guides interactive migration. Triggers on "migrate from openclaw", "openclaw migration", "import from openclaw".
How do I install it?
Run `npx skills add nanocoai/nanoclaw --skill migrate-from-openclaw --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From nanocoai/nanoclaw, a repository with 30,426 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.