xojo-migrate

Migrate Xojo desktop projects from API 1.0 to API 2.0 with confidence-tiered conversion rules.

8|Updated Aug 12, 2026
One-click install
npx skills add https://github.com/scannedinc/xojo-tools --skill xojo-migrate-scannedinc
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: xojo-migrate
Source: https://github.com/scannedinc/xojo-tools/tree/main/plugins/xojo/skills/xojo-migrate
Command: npx skills add https://github.com/scannedinc/xojo-tools --skill xojo-migrate-scannedinc

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Migrating a Xojo desktop project from API 1.0 to API 2.0 is not a simple rename: functions like InStr change their not-found sentinel, Mid changes index base, and Date shifts its epoch by 66 years, so a rename that compiles can still be wrong. This Skill provides a rule-driven, confidence-tiered migration workflow that fixes semantics before names and commits one category at a time. ## Core Features & Use Cases - Deprecation matrix and conversion rules: Covers more than a thousand deprecated and removed symbols with hundreds of vetted find/replace rules, caveats, and worked examples. - IDE-driven and scanner-based inventory: Joins Xojo IDE Analyze Project output to the rules via worklist.py, with scan.py as a fallback and cross-platform closing check. - Checkpointed, reversible workflow: Each category ends with an IDE analyze checkpoint, a diff against the previous checkpoint, and a single git commit, so any over-matching rule can be reverted alone. - Use Case: Ask the agent to migrate your text-format Xojo project on a clean git branch; it inventories deprecated symbols, applies high-confidence rules, hand-converts Date and error-handling code, and reports falling warning counts at every checkpoint. ## Quick Start Run /xojo:xojo-migrate in Claude Code (or write $xojo-migrate in Codex) with your Xojo project on a clean git branch to start the guided API 2.0 migration.

Frequently Asked Questions about xojo-migrate

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate a Xojo project from API 1.0 to API 2.0?

Invoke the xojo-migrate skill explicitly (/xojo:xojo-migrate in Claude Code, $xojo-migrate in Codex) with your project on a clean git branch. The agent inventories deprecated symbols, applies conversion rules category by category, and commits after each IDE analyze checkpoint.

Why is renaming deprecated Xojo functions not enough?

Several API 1.0 functions changed semantics, not just names: InStr's not-found sentinel moves from 0 to -1, Mid changes from 1-based to 0-based indexing, and Date's epoch shifts 66 years. A rename that compiles can still behave incorrectly at runtime.

What Xojo versions and project formats are supported?

The skill covers desktop projects saved in text format and built with Xojo 2021r3 or later, when the Desktop* classes arrived. Binary and XML projects must be re-saved as text first, and iOS, Web, and Android surfaces are out of scope.

Does the Xojo API migration require the Xojo IDE?

Yes. Only the Xojo IDE compiles Xojo, so every category checkpoint is an IDE Analyze Project run, driven through the xojo-ide skill when a running IDE is reachable or performed by the user otherwise. The IDE's Update Controls to API 2.0 converter is also a prerequisite step.

Can the migration be undone if a conversion rule goes wrong?

Yes. The skill requires a git repository with a clean tree and commits one category at a time, so a rule that over-matched can be reverted with git revert on a single commit. Starting outside git is a hard stop.

What are the limitations of automated Xojo API conversion?

Member renames are type-blind, so receiver types must be resolved before renaming, and no rule is approved for blind project-wide replace. Calls with literal or parenthesized-expression receivers cannot be converted mechanically and are left with a #Pragma Warning marker.