Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Guidelines for creating, migrating, and registering models in front_end/models/. Covers BUILD.gn, devtools_grd_files.gni, and entrypoints.
.claude/skills/chromedevtools-devtools-model-management/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -12% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 12% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -50% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -10% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 21% | 0% |
This guide outlines the standard procedure for creating a new model or migrating an existing one to front_end/models/.
npm run test -- front_end/<old_location>grep -r "ClassName" front_end/front_end/models/<model_name>/ (must be lowercase).front_end/models/<model_name>/<model_name>.ts that exports the model's public API.<ClassName>.ts.<ClassName>.test.ts alongside the implementation.BUILD.gn)Every model requires a BUILD.gn file in its directory with three specific targets:
devtools_module("<model_name>"): Lists implementation source files (sources) and TypeScript dependencies (ts_deps). Non-TypeScript dependencies (e.g. CSS, assets) go into deps.<model_name>.ts) in sources.devtools_entrypoint("bundle"): Defines the barrel file (entrypoint = "<model_name>.ts").ts_deps = [ ":<model_name>" ].ts_library("unittests"): Lists test files and test-only dependencies.ts_deps = [ ":bundle" ].The build system does not auto-detect new modules. You must manually register them in config/gni/devtools_grd_files.gni:
front_end/models/<model_name>/<model_name>.js) to the grd_files_bundled_sources list.front_end/models/<model_name>/<ClassName>.js) to the grd_files_unbundled_sources list.models/<model_name>:unittests) to the deps list in front_end/BUILD.gn.import * as ModelName from '../../models/<model_name>/<model_name>.js';
front_end/panels/elements/elements.ts)../OtherClass.js), never via the model's own barrel file.autoninja -C out/Default (Ensures BUILD.gn and GRD files are correct).npm run lint (Checks style and formatting).npm run test -- front_end/models/<model_name> (New tests).npm run test -- front_end/<old_location> (Regression check for previous owner).front_end/BUILD.gn means tests exist but never run.files or exports allows old patterns to persist.devtools_module sources causes duplicate definition errors.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 22,583 | 14,121 | -37% | 1 | 1 | 0% | 3,392 | 2,990 | -12% | 0 | 0 | — |
case-02 | fail→pass | 20,864 | 16,044 | -23% | 1 | 1 | 0% | 2,863 | 3,204 | +12% | 0 | 0 | — |
case-08 | fail→pass | 26,225 | 9,179 | -65% | 1 | 1 | 0% | 3,410 | 1,697 | -50% | 0 | 0 | — |
case-03 | fail→pass | 25,375 | 15,763 | -38% | 1 | 1 | 0% | 3,419 | 3,075 | -10% | 0 | 0 | — |
case-04 | pass→pass | 22,419 | 13,211 | -41% | 1 | 1 | 0% | 2,765 | 2,501 | -10% | 0 | 0 | — |
case-05 | pass→pass | 21,719 | 20,056 | -8% | 1 | 1 | 0% | 3,119 | 3,691 | +18% | 0 | 0 | — |
case-06 | fail→pass | 19,024 | 15,479 | -19% | 1 | 1 | 0% | 2,357 | 2,846 | +21% | 0 | 0 | — |
case-07 | fail→pass | 13,955 | 9,766 | -30% | 1 | 1 | 0% | 1,591 | 1,916 | +20% | 0 | 0 | — |
case-09 | pass→pass | 16,554 | 10,021 | -39% | 1 | 1 | 0% | 1,878 | 1,980 | +5% | 0 | 0 | — |
case-10 | fail→pass | 14,842 | 8,352 | -44% | 1 | 1 | 0% | 1,690 | 1,612 | -5% | 0 | 0 | — |
case-11 | fail→pass | 19,357 | 8,509 | -56% | 1 | 1 | 0% | 2,636 | 1,657 | -37% | 0 | 0 | — |
case-12 | pass→pass | 11,127 | 8,328 | -25% | 1 | 1 | 0% | 968 | 1,597 | +65% | 0 | 0 | — |
case-13 | pass→pass | 12,176 | 9,588 | -21% | 1 | 1 | 0% | 1,207 | 1,752 | +45% | 0 | 0 | — |
case-14 | fail→pass | 12,952 | 7,216 | -44% | 1 | 1 | 0% | 1,228 | 1,332 | +8% | 0 | 0 | — |
case-15 | fail→pass | 15,299 | 10,220 | -33% | 1 | 1 | 0% | 1,753 | 1,803 | +3% | 0 | 0 | — |
case-16 | pass→pass | 16,674 | 8,973 | -46% | 1 | 1 | 0% | 2,066 | 1,646 | -20% | 0 | 0 | — |
case-17 | pass→pass | 14,720 | 7,962 | -46% | 1 | 1 | 0% | 1,580 | 1,469 | -7% | 0 | 0 | — |
case-18 | pass→pass | 12,270 | 6,414 | -48% | 1 | 1 | 0% | 1,218 | 1,237 | +2% | 0 | 0 | — |
case-19 | fail→pass | 16,702 | 6,865 | -59% | 1 | 1 | 0% | 2,050 | 1,225 | -40% | 0 | 0 | — |
case-20 | fail→pass | 16,464 | 7,949 | -52% | 1 | 1 | 0% | 2,100 | 1,508 | -28% | 0 | 0 | — |
case-21 | fail→pass | 12,225 | 9,060 | -26% | 1 | 1 | 0% | 1,185 | 1,784 | +51% | 0 | 0 | — |
case-22 | pass→pass | 13,830 | 8,868 | -36% | 1 | 1 | 0% | 1,550 | 1,724 | +11% | 0 | 0 | — |
case-23 | fail→pass | 15,393 | 8,697 | -44% | 1 | 1 | 0% | 1,794 | 1,692 | -6% | 0 | 0 | — |
case-24 | pass→pass | 9,756 | 6,976 | -28% | 1 | 1 | 0% | 803 | 1,326 | +65% | 0 | 0 | — |
case-25 | pass→pass | 21,360 | 8,501 | -60% | 1 | 1 | 0% | 2,896 | 1,540 | -47% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 25 cases were attempted. The headline lift of +56 percentage points is the difference between those two pass rates over the 25 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 8/10/2026 | +48% |
Other measured skills in the registry, with their headline benchmark lift.