migrate
Skill4 starsChanged 5 days agoMITView on GitHub
Use when ~/.claude or ~/.codex symlinks look stale after this repo's layout changed, or when a project's .claude/ files (memory, tasks, sharp-review findings) were generated by an older cc-market plugin version. Brings both up to the latest format.
63 other projects use a version of this.
Adopted by
Most recently taken up by
- tuist/agent-plugintheir own version, first seen Nov 8, 2026
- dsifry/metaswarmtheir own version, first seen Nov 8, 2026
- codewithmukesh/dotnet-claude-kittheir own version, first seen Nov 8, 2026
- jwm-axoni/claude-workbenchtheir own version, first seen Nov 8, 2026
- AsiaOstrich/EngramGraphtheir own version, first seen Nov 8, 2026
- cykedev/vereinsheimtheir own version, first seen Nov 3, 2026
Used with
Projects with it also use incident, sdd and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
JkudjoSkillincident
Production incident response — structured triage, hypothesis tree, safe remediation, incident record
Also in 4 projects that use this
liatrio-labsSkillsdd
Execute the Liatrio Spec-Driven Development (SDD) workflow when explicitly invoked by the user. NOTE: this skill is NOT intended to be dynamically loaded or automatically triggered; it should only ever be explicitly called by the user.
Also in 4 projects that use this
BerryKuipersSkillscaffold
Detect project stack, apply architecture patterns, wire quality gates, and scaffold features. Use when bootstrapping a project, adding a vertical slice, wiring CI/CD, adding Docker compose, or setting up quality gates.
Also in 4 projects that use this
MicrosoftSkillinit
Also in 8 projects that use this
agenticnotetakingSkillupgrade
Apply plugin knowledge base updates to an existing generated system. Consults the Ars Contexta research graph for methodology improvements, proposes skill upgrades with research justification. Never auto-implements. Triggers on "/upgrade", "upgrade skills", "check for improvements", "update methodology".
Also in 3 projects that use this
genomewalkerSkillcheckpoint
Save a checkpoint of task status, decisions, active files, and next steps
Also in 5 projects that use this
Other versions63 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 63
- garrytan/gbrain★ 32ksame name
- tuist/tuist★ 5.9ksame name
- parcadei/Continuous-Claude★ 3.9ksame name
- parcadei/Continuous-Claude-v2★ 3.9ksame name
- parcadei/Continuous-Claude-v3★ 3.9ksame name
- codewithmukesh/dotnet-claude-kit★ 808same name
- dsifry/metaswarm★ 426same name
- pipecat-ai/gradient-bang★ 420same name
- govctl-org/govctl★ 276same name
- AsiaOstrich/universal-dev-standards★ 84same name
53 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 1 is distinctive, and 3 are very specific to this project.
0
Common
Most of the 50 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 20
Run this command from the directory of the project you want to migrate (its .claude/ is what step 2 acts on) — cwd is what matters, not …
- Very specific: line 45
Overwriting
.gitignoreis confirmed first: When any repo's .gitignore differs from the template, an interactive TTY run asks: [O]verwrite … - Distinctive: line 63
When running this skill for the user, dry-run first, show which repos would change, and confirm the mode before applying.
- Very specific: line 80
If a plugin's migration reports changed: true, read its summary lines — they describe exactly what was moved/rewritten.
“Common” is measured: kept by at least 6 in 10 of the 50 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
~/.claude/skills is itself a symlink into this repo's skills/ directory
(set up by setup.js), so the migration CLI is reachable from anywhere via a
home-relative path — no need to know where this repo is checked out:
node ~/.claude/skills/migrate/migrate.jsOn Windows (PowerShell): node "$env:USERPROFILE\.claude\skills\migrate\migrate.js"
Run this command from the directory of the project you want to migrate
(its .claude/ is what step 2 acts on) — cwd is what matters, not where
migrate.js itself lives. From within this config repo's own root, npm run
migrate is a shortcut for the same command.
This does the following, all idempotent (safe to re-run, no-op once current):
- Repo links — removes any
~/.claude/~/.codexsymlinks that point into this repo but no longer correspond to an entry inCLAUDE_LINKS/CODEX_LINKS(e.g. a renamed/removed skill or config), then re-runs the normal link-creation pass for the current layout. - Orphaned CLI aliases — removes wrapper files this repo wrote (recognised by their
marker comment) whose name is no longer in
WRAPPER_NAMES(scripts/setup/install-cli-wrappers.js). This is what stops a retired provider leaving<name>.cmdbehind after its<name>is gone. It sweeps the claude bin dir, so on a Codex-only host it is a no-op. Gitignore hygiene — across the current repo and every nested git repo: (a) normalizes
.gitignoreto the depth-agnostic.claude/template this skill owns (CLAUDE_GITIGNORE_TEMPLATE— base**/.claude/**exclusion plus theagents/skills/commands/workflows/settings/output-styles/rules/memory/docsre-includes, withMEMORY.md+_meta.jsonignored last), preserving all unrelated lines; (b) untracks (viagit rm --cached, keeping files on disk) anything the refreshed rules now ignore but is still committed; (c) deletes stray.gitignorefiles nested inside a.claude/tree. This skill is the single writer of the template; rem only ensures ignores for the two files it generates (MEMORY.md,_meta.json).Overwriting
.gitignoreis confirmed first. When any repo's.gitignorediffers from the template, an interactive TTY run asks: [O]verwrite (default) / [A]I edit (script writes nothing — you hand-merge afterward) / [S]kip. Choose AI edit / Skip for third-party projects whose.claude/holds content outside the template's allowlist (e.g.hooks/,settings.local.json), since overwrite + untrack would stop tracking it. Pass--gitignore=overwrite|skip|aito set it non-interactively.AI edit vs. Skip differ only in your follow-up — the script's file behavior is identical (it leaves
.gitignoreuntouched, untracking only per existing rules). Skip abandons the repo. AI edit obligates you to finish the job: the run prints anAI-EDIT REQUIREDblock listing the template lines and each target.gitignore. After the run, for every listed file: Read it, splice the template block in as one contiguous group, drop superseded managed lines, keep the repo's own rules, write it back with Edit, thengit rm --cachedany now-ignored tracked files in that repo. Do not end the turn with the merge undone — an unactioned AI edit is just a Skip.When running this skill for the user, dry-run first, show which repos would change, and confirm the mode before applying.
- Project
.claude/— for every cc-market plugin that provides amigrations/migrate.mjs(e.g. rem's memory/frontmatter normalization, sharp-review's legacy finding-file consolidation), runs it against the current project.
Preview repo-link changes only, without touching anything:
node ~/.claude/skills/migrate/migrate.js --dry-run(--dry-run covers steps 1–3 fully — it prints which links, wrappers and files would be
removed/untracked, without touching them; for step 4 it lists which plugins have migrations
but does not run them, since they are write-only and self-detecting.)
If a plugin's migration reports changed: true, read its summary lines —
they describe exactly what was moved/rewritten.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

