← ClaudeAtlas

migrate-from-legacylisted

Migrate a Mycelium project from legacy install (npx-degit, framework files in .claude/) to plugin install (framework lives in plugin cache, .claude/ holds project state only). Detects current install form, walks the user through plugin installation, runs the migration script, and verifies project state survived. Idempotent — safe to invoke on already-migrated projects.
haabe/mycelium · ★ 27 · AI & Automation · score 85
Install: claude install-skill haabe/mycelium
# Migrate from legacy to plugin form When this skill runs, walk the user through moving from legacy install to plugin install. The migration is **non-destructive** to project state: canvas, diamonds, memory, decision log, evals, and active metrics are preserved. Only framework reference content (skills, hooks, engine, scripts, schemas, etc.) is removed from `.claude/` — that content now ships in the plugin cache. ## Step 1: Detect current install form Check the project's `.claude/` directory: ```bash test -d "$CLAUDE_PROJECT_DIR/.claude/skills" && echo "legacy framework files present" || echo "no legacy framework files" test -d "$CLAUDE_PROJECT_DIR/.claude/canvas" && echo "project state present" || echo "no project state" ``` Three states: - **Legacy install** (skills/ + canvas/ both present): proceed to Step 2. - **Already migrated** (canvas/ present, skills/ absent): tell the user "This project is already on plugin form. No migration needed." and exit. - **Empty** (neither present): tell the user "No Mycelium install detected. Run `/mycelium:start` to bootstrap a fresh plugin install." and exit. ## Step 2: Verify the plugin is installed Ask the user to confirm the plugin is installed before deleting legacy framework files. If they don't have the plugin yet, deleting framework files would leave them with no Mycelium at all. Tell them to run inside Claude Code: ``` /plugin marketplace add haabe/mycelium /plugin install mycelium@haabe-mycelium ``` Then ask: "Is the