migrate-intellij-util

от flutter

Оптимизируйте использование памяти, согласованность и производительность, мигрируя стандартные классы Java/Kotlin на специализированные реализации IntelliJ из com.intellij.util.

npx skills add https://github.com/flutter/flutter-intellij --skill migrate-intellij-util

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]").

Больше skills от flutter

dart-modern-features
flutter
Для поиска кандидатов на модернизацию:
flutter-fix-layout-issues
flutter
Исправляет ошибки макета Flutter (переполнения, неограниченные ограничения) с помощью Dart и инструментов Flutter MCP. Используйте при устранении «RenderFlex overflowed», «Vertical…
adding-release-notes
flutter
Добавляет описания изменений, видимых пользователю, в примечания к выпуску DevTools. Используйте при документировании улучшений, исправлений или новых функций в файле NEXT_RELEASE_NOTES.md.
reviewing-devtools-prs
flutter
Специфичный для репозитория DevTools процесс ревью PR, обеспечивающий соблюдение стилевых рекомендаций DevTools и общих паттернов ревью. Используйте при ревью пул-реквестов в…
dart-use-primary-constructors
flutter
Помогите пользователям писать синтаксически и семантически корректные первичные конструкторы в Dart, а также мигрировать и использовать новый синтаксис конструкторов, синтаксис с пустым телом и точкой с запятой,…
code-documentation
flutter
Руководство по написанию эффективной документации кода, включая docstrings, JSDoc, dartdoc и комментарии к реализации. Используйте этот навык при написании нового кода, добавлении…
api-review
flutter
Проверяет указанный код на соответствие каноническим рекомендациям по проектированию API. Используйте этот навык, когда пользователь запрашивает ревью API или проверку кода на соответствие API design…
flutter-accessibility
flutter
We need to translate the given text from English to Russian, preserving the name "flutter-accessibility" if it appears. The text is a description of an agent skill. The instruction says: "Translate only the text inside <text>. Do not include the name unless it appears in the source text." The name "flutter-accessibility" does not appear in the source text provided. So we just translate the text. The text: "Implement WCAG 2 and EN 301 549 accessibility standards and adaptive layouts in Flutter apps. Enforces semantic annotations, tap target sizes (48x48 dp minimum), and text contrast ratios (4.5:1 for small text, 3:1 for large) across mobile, web, and desktop platforms Provides decision logic for web semantics initialization, interactive widget wrapping, screen-size-based layout switching, and keyboard/mouse input handling Includes focus traversal management via FocusTraversalGroup and..." We need to translate accurately, preserving technical terms like WCAG 2, EN 301 549, Flutter, dp, ratios, FocusTraversalGroup,