Agent skill · Databases

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".

NanoCo30,389★ · +78/wk · 1 repos on radarProfile →
claude-codeships scriptsMIT
Install
npx skills add nanocoai/nanoclaw --skill migrate-from-openclaw --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 7
SKILL.md size: 23 KB
Bundled scripts: yes
Path: .claude/skills/migrate-from-openclaw/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 30,426 · +37 this week
Language: TypeScript
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

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.md reverses 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, onecli CLI).
  • 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.md in 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).
From the SKILL.md

# 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's inside
Steps it walks through
  1. What this skill changes (conformance)
  2. v2 architecture the migration targets
  3. Migration State File
  4. Phase 0: Discovery
  5. Phase 1: Agents, Groups, and Shared vs Separate
  6. Confirm the assistant name
  7. Seed the owner and the primary DM agent
  8. Register the remaining groups
  9. Phase 2: Settings from Config
  10. Timezone
  11. Container timeout
  12. Access control (sender policies)
  13. Phase 3: Identity and Memory
  14. IDENTITY.md / SOUL.md
Ships with 6 files
  • MIGRATE_CRONS.md
  • REMOVE.md
  • scripts/discover-openclaw.ts
  • scripts/extract-channel-credentials.ts
  • scripts/transform.test.ts
  • scripts/transform.ts
Commands it runs
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> \
More from nanoclaw
All skills →
About this skill
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.

Keep going