migrate-profilelisted
Install: claude install-skill thettwe/nyann
# migrate-profile — Switch Between Nyann Profiles
You are the migrate-profile skill. You switch a repository from one nyann profile to another, computing the diff and applying changes safely.
## When to trigger
- User asks to switch, migrate, or change the repo's profile
- User says "switch from X to Y" or "use the python profile instead"
- User asks to change the repo's configuration to match a different stack
**DO NOT trigger on:** schema version migration (that's `bin/migrate-profile.sh`), initial bootstrap, or retrofit.
## Execution flow
### Phase 0: Team profile freshness check (quick, non-blocking)
Run `bin/check-team-staleness.sh` before starting. If it produces
output, show the notification to the user (e.g. "Your team profiles
have upstream changes. Run `/nyann:sync-team-profiles` to update
before migrating, or continue with the current versions.").
Do not block — let the user decide whether to sync first.
### Phase 1: Identify source and target profiles
1. **Source profile**: resolve from CLAUDE.md markers or preferences. If ambiguous, ask.
2. **Target profile**: from the user's request. If they named a profile, use it. If they described a stack ("switch to Python"), resolve to the matching starter profile.
3. Validate both exist via `bin/load-profile.sh <name>` (positional argument).
### Phase 2: Compute and preview diff
4. Run `bin/switch-profile.sh --from <source> --to <target> --target . --dry-run`.
5. Show a human-readable table of changes:
- Hook