Skip to content
Development
Skill

/migrate-profile

Switch this repository from one nyann profile to another. TRIGGER ON: 'switch profile', 'migrate profile', 'change this repo profile', 'switch from X to Y', 'change profile to', 'migrate from', 'use a different profile', 'switch to nextjs', 'switch to python'. Computes a diff

From plugin
nyann
741 skills41 commands3 hooks

Claude Code

$ npx -y skills add thettwe/nyann --skill migrate-profile --agent claude-code

SKILL.md

migrate-profile.SKILL.md
name: migrate-profile
description: "Switch this repository from one nyann profile to another. TRIGGER ON: 'switch profile', 'migrate profile', 'change this repo profile', 'switch from X to Y', 'change profile to', 'migrate from', 'use a different profile', 'switch to nextjs', 'switch to python'. Computes a diff between source and target profiles, previews all hook/config/convention changes, and applies via bootstrap."

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:

  • Hooks added/removed per phase
  • Branching strategy change
  • Extras toggled
  • Convention changes
  • CI configuration changes

6. Highlight potentially destructive changes (hook removals, strategy changes).

Phase 3: Confirm and apply

7. Ask: "Apply this migration? This will regenerate CLAUDE.md and update hooks." 8. On confirmation, re-run with `--yes` (and without `--dry-run`). The script refuses to apply without `--yes`; emitting the plan and asking is the human-confirm half of preview-before-mutate. 9. Report what changed.

Phase 4: Post-migration

10. Suggest running `/nyann:doctor` to verify the new state. 11. Suggest committing the changes.

Key constraints

  • The script diffs two profiles — it doesn't modify the profile files themselves.
  • Bootstrap is re-run with the new profile to regenerate managed files.
  • User content outside nyann markers is always preserved.
  • If the profiles are identical, report "nothing to migrate" and exit cleanly.

When to hand off

  • "Check if the migration worked" → `doctor` skill.
  • "Regenerate CLAUDE.md" → `gen-claudemd` skill (if CLAUDE.md wasn't

refreshed during the migration).

  • "What does the new profile look like?" → `inspect-profile` skill.
  • "Undo the migration" → if not yet committed, restore individual

files with `git checkout -- <file>` for each changed file. If already committed, use the `undo` skill to revert the commit.

Read more
@thettwe
Ships withnyann

ငြမ်း is Burmese for scaffolding. Nyann is the Claude Code plugin that picks expert git defaults for your stack — branching, working hooks (Husky / pre-commit.com / lefthook), commits, releases, CI, docs — then keeps the repo on those rails through every PR

Stars on GitHub

Momentum

stars in total
7
Star history of thettwe/nyann on GitHub, a chart by star-history.com

Other skills on nyann.

add-team-source

add-team-source

Register a git URL as a team-profile source so nyann can periodically sync and expose its profiles under a namespace. TRIGGER…

@thettwe@thettweInstall Skill
bootstrap-project

bootstrap-project

Bootstrap a fresh or existing repo with nyann. TRIGGER when the user says "set up this project", "initialize git workflow",…

@thettwe@thettweInstall Skill
check-prereqs

check-prereqs

Survey the machine and report which nyann features are usable right now. TRIGGER when the user says "is my machine ready for…

@thettwe@thettweInstall Skill
cleanup-branches

cleanup-branches

Prune local branches whose work is already merged into the base. TRIGGER when the user says "clean up branches", "delete merged…

@thettwe@thettweInstall Skill
commit

commit

Generate a Conventional Commits message from the staged diff and create the commit after user confirmation. TRIGGER when the user…

@thettwe@thettweInstall Skill
diagnose

diagnose

Bundle a redacted, support-grade snapshot of the current nyann state for inclusion in a bug report or support request. Combines…

@thettwe@thettweInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about migrate-profile.

Which coding agents can use migrate-profile?
migrate-profile installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.