CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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

Quality

86%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

77%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A dense, well-sequenced interactive migration guide with genuinely executable commands, strong validation loops, and a state-file recovery mechanism. Its main defects are two broken references (MIGRATE_CRONS.md, REMOVE.md) that leave Phase 5 under-specified and reversal undocumented, plus a monolithic 548-line body that underuses reference files.

Suggestions

Ship the missing MIGRATE_CRONS.md (v2 task model, mapCronToRecurrence field mapping, schedule_task creation) or inline the cron mapping steps into Phase 5 — currently the phase has no actionable content of its own.

Add the missing REMOVE.md documenting exactly which files the skill copies into the project (openclaw-transform.ts/.test.ts, container/skills/*) and how to reverse them, since the body references it three times as the reversal authority.

Move the v2 architecture section and the OneCLI vault caveats into a reference file to slim the SKILL.md body, and trim historical justification like the retired /use-native-credential-proxy aside.

DimensionReasoningScore

Conciseness

The body's explanations are almost entirely product-specific (v2 entity model, vault routing, container isolation) that Claude cannot know, and commands are given without preamble. A few historical asides could be trimmed, e.g. 'the retired /use-native-credential-proxy skill would be denied at every spawn', which is background justification rather than instruction.

4 / 5

Actionability

Nearly every phase gives copy-paste-ready commands with full flags ('pnpm exec tsx scripts/init-first-agent.ts --channel <channel> --user-id ...', the vault-registration bash block with mktemp/trap/error handling, 'ncl groups config add-mcp-server ...'). The main gap: Phase 5 delegates the entire cron mapping ('read ${CLAUDE_SKILL_DIR}/MIGRATE_CRONS.md for the v2 task model, the mapCronToRecurrence transform, the full field mapping') to a file that is not present in the bundle.

4 / 5

Workflow Clarity

Phases 0-8 are explicitly sequenced with a persistent 'migration-state.md' checklist ('Re-read it before starting any phase'), validation checkpoints ('Sanity-check the output', Phase 8 'Run the shipped test' via vitest, 'confirm with onecli secrets list', 'Check WRITTEN_TO / WRITTEN_COUNT'), and a Troubleshooting section with error-recovery feedback loops. This matches the anchor for clear sequence with explicit validation, feedback loops, and checklists.

5 / 5

Progressive Disclosure

Structure and script references are clear (all four ${CLAUDE_SKILL_DIR}/scripts/* files exist), but two referenced documents — ${CLAUDE_SKILL_DIR}/MIGRATE_CRONS.md and REMOVE.md — do not exist anywhere in the bundle, breaking navigation for Phase 5 and the cleanup/reversal instructions. At 548 lines the body also inlines substantial detail (full v2 architecture section, credential caveats) that could live in reference files.

3 / 5

Total

16

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: third-person voice, concrete action list, and explicit trigger phrases that name the exact migration users would ask for. The only weakness is slightly narrow trigger coverage — a few natural phrasings ('move', 'port', 'switch to nanoclaw') are absent.

DimensionReasoningScore

Specificity

'Detects an existing OpenClaw installation, extracts identity, channel credentials, scheduled tasks, and other config, then guides interactive migration' lists five-plus concrete actions that comprehensively cover the skill's actual phases. This is a clear match for the multiple-specific-actions anchor, not the minor-gaps anchor below it.

5 / 5

Completeness

It explicitly answers both questions: what ('Migrate from OpenClaw to NanoClaw v2. Detects... extracts... guides interactive migration') and when, with concrete trigger phrases ('Triggers on "migrate from openclaw"...'). This matches the top anchor exactly; the anchor below would require a weaker or implicit 'when'.

5 / 5

Trigger Term Quality

'Triggers on "migrate from openclaw", "openclaw migration", "import from openclaw"' provides three natural synonym phrases users would actually say. It misses common variants like 'move from openclaw', 'port from openclaw', 'switch to nanoclaw', so coverage is good but not comprehensive.

4 / 5

Distinctiveness Conflict Risk

Both source and target products are named and every trigger phrase contains 'openclaw', giving the skill a clear niche with minimal risk of firing for unrelated migration or config skills.

5 / 5

Total

19

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (549 lines); consider splitting into references/ and linking

Warning

referenced_paths_exist

Referenced path issues: 8 missing

Warning

Total

14

/

16

Passed

Repository

nanocoai/nanoclaw

Path

.claude/skills/migrate-from-openclaw/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.