Install any skill in seconds. Free to start, no credit card required.
Get Started Free →High-level orchestrator for managing multi-pass migration of Chrome DevTools legacy components to the modern UI engineering vision (UI.Widget & Lit-html).
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 77% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 81% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 93% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 114% | 0% |
| case-01 | ✓→✗ | ▼ Worse | -3% | 0% |
This meta-skill acts as the central coordinator for modernizing legacy Chrome DevTools views into declarative UI.Widget components based on lit-html, managing a multi-pass sequential CL pipeline to ensure each code modification is small, testable, and highly reviewable.
Refer to ui_engineering.md for general principles.
orchestrator must first generate a structured migration_plan.md listing the exact transformations, file targets, and subskills allocated for each pass.
the migration plan to the user. No code modification, subskill loading, or CL staging can occur until the user explicitly accepts the plan.
file matches older patterns or generic examples. Always perform a structure analysis of the active file first and adapt the plan to the actual, current code.
different states of modernization (e.g., one partially migrated class and one fully legacy class). If the file being migrated contains several classes, the migration needs to be done separately for each class, starting with the leaves and going up the dependency chain. Propose modifications only for classes with actual violations.
files, parent panel files) where the target class is instantiated to see if there are any direct .element or .contentElement couplings. If found, include the decoupling of these references in the plan.
the same archetype (e.g., DOMStorageItemsView.ts or KeyValueStorageItemsView.ts for storage-like components) to find proven patterns for toolbar and data-grid configurations.
single responsibility per CL. Do not combine technology migrations (e.g., converting imperative DOM to Lit-html) with base class refactoring in the same diff.
and all tests must pass after each step. You MUST update usages if you change APIs.
(verifying presenter interactions and state updates) and screenshot tests (verifying layout/styling) exist before rewriting code. If coverage is missing, scaffold it first.
underspecified or ambiguous. If so, point this out and ask for clarifications before proceeding.
beforehand. Aim for intermediate steps that involve changing or adding roughly 300 lines of code. If a step is predicted to be too complex, break it down into smaller substeps. The agent must stop and report back after each step or substep to allow verification.
clean and focused on high-level orchestration, prefer delegating intense execution tasks (like running tests, debugging compilations, or processing independent classes in parallel) to specialized subagents.
clarifications first.
(e.g., ReportView, ToolbarButton, DataGrid, TreeOutline), and actual class inheritance. Deconstruct the file mentally (or in the plan) into Business Logic (state, event handlers) and Rendering Logic (DOM creation, CSS classes). Reference code elements by Name (not line numbers) to ensure the plan remains valid as the codebase evolves. Check if the class dependencies have been migrated to the ui eng vision or not. If the file contains multiple classes, plan the migration separately for each class, starting with the leaves and going up the dependency chain.
this file is being used.
Consolidation first or Local lit-html rendering first:
complex, nested state model or highly coupled event-handlers. Consolidating the state variables and defining the ViewInput interface first provides a clean data contract, making the subsequent template conversion highly deterministic.
relatively simple state flow but massive, deeply nested imperative DOM construction. Converting the layout to declarative Lit templates first (using temporary inline or local state) makes it much easier to isolate and group the remaining state updates afterward.
migration_plan.md using the Structured Plan Template below.Wait for user approval.
The plan you generate MUST follow this structure:
markdown# Migration Plan: [FileName.ts] ## 📊 Current State - **Hybrid File**: [Yes/No] - **Classes Found**: [ClassA, ClassB] - **Strategy Selection**: [Option A (Logic First) | Option B (Tech First)] ## 🛠️ Passes Checklist - [ ] **Pass 0: Baseline & Safety Scaffolding** - Assigned to: `ui-eng-vision-test-scaffolder` - [ ] **Pass 1: Logic Consolidation** - Assigned to: `ui-eng-vision-logic-consolidator` - [ ] **Pass 2: Lit-HTML Rendering** - Assigned to: `ui-eng-vision-local-lit-renderer` - [ ] **Pass 3: Widget Promotion** - Assigned to: `ui-eng-vision-widget-promoter`
equivalent.
ui-eng-vision-test-scaffolder (Delegate to a subagent to encapsulate verbose test logs)for interactions and screenshot tests for visual validation to avoid regressions.
staged).
ui-eng-vision-logic-consolidator (Delegate to a subagent to maintain focus)updates into private update helper methods with structured state-passing.
ui-eng-vision-local-lit-renderer (Delegate to a subagent for isolated template generation)mapping rules defined inside the subskill) and render them locally within the existing view.
staged.
ui-eng-vision-widget-promoter (Delegate to a subagent for final architectural cleanup)UI.Widget classes, hook upperformUpdate() delegates, export the default view layout, and clean up legacy wrappers.
Other measured skills in the registry, with their headline benchmark lift.