Skip to content

feat: Prompt to remove the temporary V3 migration skill after docs are migrated#1711

Merged
hatayama merged 2 commits into
v3-betafrom
feat/pr10-temporary-skill-removal-prompt
Jul 12, 2026
Merged

feat: Prompt to remove the temporary V3 migration skill after docs are migrated#1711
hatayama merged 2 commits into
v3-betafrom
feat/pr10-temporary-skill-removal-prompt

Conversation

@hatayama

@hatayama hatayama commented Jul 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • After the temporary v3-cli-invocation-migration skill finishes its job, agents are instructed to tell the user how to uninstall it (never uninstall automatically).
  • The Custom Tool Migration wizard shows a one-line temporary-skill note under the skill action while the skill is installed.

User Impact

  • Before: The temporary migration skill could stay installed in .claude/ / .agents/ forever with no in-product reminder, and only a manual Remove action existed without guidance after use.
  • After: Agents report the uninstall command when every Required Search Pass finds zero V2 candidates, and the wizard shows a short note while the skill remains installed so users know it is temporary.

Changes

  • Skill workflow step: when V2 candidates are zero, report uloop skills uninstall-v3-migration --<target> and do not uninstall automatically.
  • Wizard: ShouldShowTemporarySkillNote(SkillInstallState) pure rule + constant copy under the skill button row when state is not Missing.
  • Tests for the pure visibility rule.

Verification

  • dist/darwin-arm64/uloop compile → Success, 0 errors / 0 warnings
  • dist/darwin-arm64/uloop run-tests --filter-type regex --filter-value "ShouldShowTemporarySkillNote|ThirdPartyToolMigrationWizardWindowTests" → 58 passed
  • Real machine:
    • uloop skills install-v3-migration --claude → generated .claude/skills/v3-cli-invocation-migration/SKILL.md contains the uninstall guidance step
    • Wizard with skill installed: note visible (installState=Installed; noteVisible=True), screenshot: .uloop/outputs/Screenshots/Unity CLI Loop Migration_20260712_114203_179.png
    • After uloop skills uninstall-v3-migration --claude: installState=Missing; noteVisible=False

The temporary skill can linger in agent folders after docs and scripts are
migrated. Auto-removal is unsafe because C# scan results do not mean the
skill is finished, so guide removal instead: the skill workflow reports the
uninstall command when searches find zero V2 candidates, and the migration
wizard shows a temporary-skill note while it is installed.
@coderabbitai

coderabbitai Bot commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 3d878887-74e0-434b-a4c9-5700af70f3e9

📥 Commits

Reviewing files that changed from the base of the PR and between 3bbf888 and 80a647c.

📒 Files selected for processing (1)
  • Assets/Tests/Editor/ThirdPartyToolMigrationWizardWindowTests.cs

📝 Walkthrough

Walkthrough

The migration wizard now displays a temporary AI migration skill note for all installation states except Missing. The note text and visibility rule are tested, and the skill workflow documents removal after migration completion.

Changes

Temporary migration skill note

Layer / File(s) Summary
Visibility rule and migration guidance
Packages/src/Editor/Presentation/Setup/ThirdPartyToolMigrationWizardStateRules.cs, Packages/src/Editor/Presentation/Setup/ThirdPartyToolMigrationWizardText.cs, Assets/Tests/Editor/ThirdPartyToolMigrationWizardWindowTests.cs, Packages/src/TemporarySkills~/v3-cli-invocation-migration/Skill/SKILL.md
Adds state-based visibility logic, temporary-note text, parameterized coverage for installation states, and workflow instructions for removing the skill after migration.
Wizard note rendering
Packages/src/Editor/Presentation/Setup/ThirdPartyToolMigrationWizardView.cs
Creates and wires the temporary note field, initializes it hidden, and updates visibility from the installation state rule.

Estimated code review effort: 2 (Simple) | ~10 minutes

Sequence Diagram(s)

sequenceDiagram
  participant ThirdPartyToolMigrationWizardView
  participant ThirdPartyToolMigrationWizardStateRules
  participant temporaryNoteTextField
  ThirdPartyToolMigrationWizardView->>ThirdPartyToolMigrationWizardStateRules: evaluate installState
  ThirdPartyToolMigrationStateRules-->>ThirdPartyToolMigrationWizardView: return visibility decision
  ThirdPartyToolMigrationWizardView->>temporaryNoteTextField: set visible state
Loading
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: prompting removal of the temporary V3 migration skill after migration work is done.
Description check ✅ Passed The description is directly related to the changeset and accurately describes the skill workflow and wizard note updates.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/pr10-temporary-skill-removal-prompt

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@Packages/src/Editor/Presentation/Setup/ThirdPartyToolMigrationWizardStateRules.cs`:
- Around line 106-111: Update the test covering ShouldShowTemporarySkillNote to
include SkillInstallState.Checking and assert the transitional UI behavior where
the temporary note is shown alongside the Install Migration Skill button text.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 66d7c6ec-79b5-4c70-ac33-8914f4fce69b

📥 Commits

Reviewing files that changed from the base of the PR and between b4fbb0d and 3bbf888.

📒 Files selected for processing (5)
  • Assets/Tests/Editor/ThirdPartyToolMigrationWizardWindowTests.cs
  • Packages/src/Editor/Presentation/Setup/ThirdPartyToolMigrationWizardStateRules.cs
  • Packages/src/Editor/Presentation/Setup/ThirdPartyToolMigrationWizardText.cs
  • Packages/src/Editor/Presentation/Setup/ThirdPartyToolMigrationWizardView.cs
  • Packages/src/TemporarySkills~/v3-cli-invocation-migration/Skill/SKILL.md

CodeRabbit noted that ShouldShowTemporarySkillNote returns true for
Checking while the button still shows Install. Lock that transitional
behavior with an explicit test case.
@hatayama hatayama merged commit a6eff6e into v3-beta Jul 12, 2026
10 checks passed
@hatayama hatayama deleted the feat/pr10-temporary-skill-removal-prompt branch July 12, 2026 02:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant