| name | meta-migration-assistant |
| description | Use this meta-skill instead of answering directly when the user needs a concrete migration plan that benefits from multi-skill orchestration across migration classification, authoritative guide lookup, optional repo diff inspection, and step-by-step validation planning. |
| kind | meta |
| meta_priority | 50 |
| always | false |
| final_text_mode | step:write_plan |
| triggers | ["migration plan","migration checklist","practical migration checklist","migrate from","migrate","upgrade from","CommonJS to native ESM","CommonJS to ESM","CJS to ESM","native ESM","rollout risks","升级指南","迁移方案","迁移步骤"] |
| provenance | {"origin":"opensquilla-original","license":"Apache-2.0"} |
| composition | {"steps":[{"id":"migration_intake","kind":"llm_chat","with":"[Truncated]"},{"id":"migration_clarify","kind":"user_input","depends_on":"[Truncated]","when":"'NEEDS_CLARIFICATION: yes' in outputs.migration_intake","clarify":"[Truncated]"},{"id":"classify","kind":"llm_classify","depends_on":"[Truncated]","output_choices":"[Truncated]","with":"[Truncated]"},{"id":"fetch_guide","kind":"skill_exec","skill":"multi-search-engine","depends_on":"[Truncated]","with":"[Truncated]"},{"id":"repo_context","kind":"skill_exec","skill":"git-diff","depends_on":"[Truncated]","when":"(\n 'current diff' in (inputs.user_message | lower)\n or 'this diff' in (inputs.user_message | lower)\n or 'current branch' in (inputs.user_message | lower)\n or 'pull request' in (inputs.user_message | lower)\n or 'merge request' in (inputs.user_message | lower)\n or 'already changed' in (inputs.user_message | lower)\n or 'worktree' in (inputs.user_message | lower)\n or '当前 diff' in inputs.user_message\n or '当前分支' in inputs.user_message\n)\n","with":"[Truncated]"},{"id":"write_plan","kind":"llm_chat","depends_on":"[Truncated]","with":"[Truncated]"}]} |
Migration Assistant (Meta-Skill)
Take a "help me migrate X → Y" request and produce a concrete, runnable
checklist. The pipeline does four things:
-
classify the migration kind via an LLM tag (one of six tokens).
-
fetch_guide the most authoritative source for THAT migration:
| Classifier verdict | Best source | Routed skill |
|---|
OPENAI_V0_TO_V1 | repo release notes | github |
PY2_TO_PY3 | framework migration doc | multi-search-engine |
VUE2_TO_VUE3 | framework migration doc | multi-search-engine |
REACT_CLASS_TO_HOOKS | framework migration doc | multi-search-engine |
CJS_TO_ESM | (fuzzy, synthesize) | multi-search-engine |
OTHER (default) | (synthesize) | deep-research |
-
repo_context optionally inspects the current repo diff only when the
prompt indicates that local repository context should shape the migration.
-
write_plan uses a constrained llm_chat renderer so explicit source
and target terms in the user request remain authoritative even when
repository context or retrieved guide text is noisy.
Fallback
If the orchestration fails: ask the user to specify the migration tag
manually, run the matching skill yourself, then write the checklist.