CtrlK
BlogDocsLog inGet started
Tessl Logo

migrate-intellij-util

Optimize memory usage, consistency, and performance by migrating standard Java/Kotlin classes to IntelliJ's specialized com.intellij.util implementations.

60

Quality

70%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.agents/skills/migrate-intellij-util/SKILL.md
SKILL.md
Quality
Evals
Security

Skill: API Migration to use com.intellij.util.* classes and methods

You are tasked with optimizing memory usage, consistency, and performance by migrating standard Java/Kotlin classes to IntelliJ's specialized com.intellij.util implementations.

Objective

Go read https://javadoc.jetbrains.net/teamcity/openapi/current/com/intellij/util/package-summary.html, and then optimize memory usage, consistency, and performance by migrating standard Java/Kotlin classes to IntelliJ's specialized com.intellij.util implementations.

Candidates for Migration

  • ArrayList -> SmartList (for potentially empty/small lists)
  • HashMap / ConcurrentHashMap -> ContainerUtil maps
  • String manipulation -> StringUtil (e.g., isEmpty, join, notNullize)
  • Path / File string manipulation -> PathUtil
  • javax.swing.Timer -> Alarm (for UI-related callbacks/debouncing)
  • Null checks -> ObjectUtils (e.g., doIfNotNull, coalesce)
  • Array resizing/merging -> ArrayUtil

Workflow Instructions

1. Baseline

  • Run ./gradlew testClasses, ./gradlew test, and ./gradlew verifyPlugin to ensure project is in a good state.

2. Select Target

  • Identify a single migration opportunity within a single package.

3. Constraint

  • Keep the change extremely small (max 50 lines of code change).

4. Migrate

  • Replace standard API with the com.intellij.util equivalent.

5. Verify

  • Run ./gradlew testClasses to ensure migration didn't break test compilation.
  • Run ./gradlew test and ./gradlew verifyPlugin to ensure no regressions.
  • Suggest manual test steps: Check code changes made and write test steps for a user to execute that will trigger changed code paths. If needed, add logging statements to verify code paths have successfully run.

6. Report & Review

  • Summarize the migration.
  • Test Location: Explicitly state where in the IDE user should go to test changed functionality (e.g., "Go to Preferences > Languages & Frameworks > Flutter").
  • Action: Ask user to review changes closely.
  • Do not commit or push.
  • Provide a suggested Git commit message (e.g., "Migrate code to use StringUtil in [Class Name]").
Repository
flutter/flutter-intellij
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.