V3 CLI Invocation Migration
Use this skill to update V2-era uloop CLI option syntax to V3
syntax in agent-facing docs and automation.
Workflow
- Read
references/first-party-v2-to-v3.mdbefore editing. - Search the repository for
uloopinvocations and the V2 names listed in the reference. - Inspect nearby context before every edit. Search hits are candidates, not proof.
- Edit only files that clearly contain V2
uloopoption syntax. - Repeat the searches after editing and report any remaining V2 candidates with the reason each one was left unchanged.
- After every Required Search Pass reports zero remaining V2 candidates,
tell the user this temporary skill has finished its job and can be
removed with
uloop skills uninstall-v3-migration --<target>(for example--claudeor--codex). Do not uninstall the skill yourself.
Prefer rg for searches when available. If rg is unavailable, use the best available project search tool. Candidate discovery should be repository search plus context inspection, not a generated candidate list.
Validation Rules
- Verify this migration with targeted search passes and a focused diff review.
- Do not run Markdownlint as required validation for this migration.
- If Markdownlint runs anyway and fails, ignore that result for this task. Do not stop, revert, or withhold completion solely because Markdownlint reports existing or unrelated Markdown formatting violations.
- Do not fix Markdownlint findings as part of this migration unless the
finding is directly caused by changing a
uloopoption token.
Editing Rules
- Only change option tokens inside confirmed
uloopcommand invocations. - Convert V2 boolean arguments from
--flag trueor--flag=falsesyntax to V3 flag syntax. - For third-party tools, check the tool's current schema or documentation
before deciding whether
falsemeans removal, a--no-*flag, or a renamed option. - For first-party tools, use the reference table.
compile,run-tests,get-hierarchy, andreplay-inputhave special renamed negative flags. record-inputis removed. Direct users to create recordings in Window > Unity CLI Loop > Recordings instead of translating its options.- For first-party boolean options that are not in the reference tables, run
uloop <command> --helpand apply the boolean rules to the printed default:default: enabledmeans the V3 default is true, anddefault: disabledmeans it is false. - Some option names are valid V3 syntax on one command and V2 leftovers on
another. Match every hit to its
uloopcommand before editing; the reference lists the known same-name collisions. - A valid edit is limited to replacing, adding, or removing a
uloopoption token and the boolean value attached to that option in the same invocation. - Preserve surrounding Markdown, shell, and PowerShell formatting. Do not reflow prose, wrap lines, reorder arguments, normalize unrelated whitespace, trim unrelated trailing spaces, or change indentation.
- If removing an option leaves extra spaces in that same
uloopinvocation, collapse only the spaces created by that removal. - Do not rename commands, replace removed commands, or rewrite command structure unless the user explicitly asks for command migration.
- Do not change non-
uloopcommand options, even when they have V2-looking boolean syntax. - Do not edit generated installed skills under
.agents,.claude,.codex,.cursor,.gemini,.windsurf,.agent, or similar target folders unless the user explicitly asks to migrate installed copies. - Do not edit Markdown C# snippets, enum/member references, ordinary
DTO/property access, regex match properties, or non-
uloopJSON. - Do not change protocol versions, release versions, package names, assembly names, or public extension identifiers as part of this migration.
Required Search Passes
uloopcommand lines and examples.- Boolean-looking CLI options:
--* true,--*=true,--* false,--*=false. - First-party renamed options from the reference, including bare flags.
- Removed or renamed commands:
get-project-info,get-version,record-input,unity-search,execute-menu-item,get-menu-items,get-unity-search-providers,get-provider-details, andcapture-window(renamed toscreenshot). Report these as out-of-scope command migration candidates unless the user explicitly asked to migrate removed commands.