Migrate AXEL documents to latest format while preserving semantic integrity
Migrates AXEL documents to latest format while preserving semantic integrity.
/plugin marketplace add ahmetmeral/axel-marketplace/plugin install axel@axel-marketplace<document type="command" entry="cmd:main">
<enforcement>
<![CDATA[
- Read the `src`, `ref`, or `target` attribute from the document XML to locate referenced files
- ${CLAUDE_PLUGIN_ROOT} resolves to plugin installation directory
- Target document path comes from args.0
- Command only handles routing, agent handles migration logic
- RESUMABLE: On re-invoke, continue from last incomplete stage
- Run to completion - only user cancellation interrupts flow
]]>
</enforcement>
<objective>
Wrapper command that invokes agent-axel-migrator for document migration.
Passes target path and plugin root to the agent.
</objective>
<documents name="core" load="always" mode="context">
<read src="${CLAUDE_PLUGIN_ROOT}/AXEL-Bootstrap.md"/>
<understanding>
!! MANDATORY: READ → UNDERSTAND → APPLY !!
Bootstrap provides AXEL core rules for document execution.
</understanding>
</documents>
<variables>
<var name="target_path" from="args.0"/>
</variables>
<command id="cmd:main">
<goto when="${target_path} = ''" to="help"/>
<goto to="migrate"/>
</command>
<execution flow="staged">
<!-- help: Show usage -->
<stage id="help">
<print>
## /axel:migrate
Usage: `/axel:migrate {file-path}`
Example:
- `/axel:migrate plugins/axel/references/components/AXEL-Agent.md`
- `/axel:migrate .claude/skills/skill-review/SKILL.md`
</print>
<stop kind="end"/>
</stage>
<!-- migrate: Invoke the migrator agent -->
<stage id="migrate">
<print>
Invoking agent-axel-migrator...
</print>
<invoke name="Task" output="migration_result">
<param name="subagent_type">axel:agent-axel-migrator:agent-axel-migrator</param>
<param name="prompt"><![CDATA[
Migrate the following AXEL document to latest format:
target: ${target_path}
PLUGIN_ROOT: ${CLAUDE_PLUGIN_ROOT}
Execute the full 15-step migration process and apply approved changes.
]]></param>
</invoke>
<goto to="complete"/>
</stage>
<!-- complete: Show result -->
<stage id="complete">
<print>
## Migration Complete
${migration_result}
</print>
<stop kind="end"/>
</stage>
</execution>
<understanding/>
</document>