migrate-from-legacylisted
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