[elements-sk] Rewrite all imports using a bespoke Go program.

This CL is the result of:
 - Running the rewrite_imports.go program at https://skia-review.googlesource.com/c/buildbot/+/654405/2/rewrite_imports/rewrite_imports.go
 - Running "make gazelle".

Success criteria: This CL should not cause any Gold diffs.

I removed the rewrite_imports.go program in a subsequent patchset as it is a one-off utility. This program does the following things:
 - Rewrites all common-sk imports to use modules in the buildbot repo.
 - Same for elements-sk, but with the following special cases.
 - It moves any elements-sk style imports from TypeScript sources into the corresponding Sass sources.
 - Style import paths are rewritten from e.g. elements-sk/styles/button/button.scss to elements-sk/modules/styles/button.
 - Icon imports are rewritten from elements-sk/icon/some-icon-sk to elements-sk/modules/icons/some-icon-sk.

Bug: skia:14161
Change-Id: I9d319b894df1dff01f8300233104097f680493be
Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/654405
Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
diff --git a/am/modules/BUILD.bazel b/am/modules/BUILD.bazel
index 37d7443..bb467a5 100644
--- a/am/modules/BUILD.bazel
+++ b/am/modules/BUILD.bazel
@@ -18,7 +18,7 @@
     visibility = ["//visibility:public"],
     deps = [
         "//am/modules/json:index_ts_lib",
-        "@npm//common-sk",
+        "//infra-sk/modules:human_ts_lib",
         "@npm//lit-html",
     ],
 )
diff --git a/am/modules/alert-manager-sk/BUILD.bazel b/am/modules/alert-manager-sk/BUILD.bazel
index 3051b4f..450a41f 100644
--- a/am/modules/alert-manager-sk/BUILD.bazel
+++ b/am/modules/alert-manager-sk/BUILD.bazel
@@ -4,6 +4,7 @@
     name = "alert-manager-sk",
     sass_deps = [
         "//am/modules/themes:themes_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
     ],
     sass_srcs = ["alert-manager-sk.scss"],
     sk_element_deps = [
@@ -12,15 +13,30 @@
         "//am/modules/incident-sk",
         "//am/modules/silence-sk",
         "//infra-sk/modules/theme-chooser-sk",
+        "//elements-sk/modules/checkbox-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/alarm-off-icon-sk",
+        "//elements-sk/modules/icons/comment-icon-sk",
+        "//elements-sk/modules/icons/notifications-icon-sk",
+        "//elements-sk/modules/icons/person-icon-sk",
+        "//elements-sk/modules/spinner-sk",
+        "//elements-sk/modules/tabs-panel-sk",
+        "//elements-sk/modules/tabs-sk",
+        "//elements-sk/modules/toast-sk",
     ],
     ts_deps = [
         "//am/modules/json:index_ts_lib",
         "//am/modules/paramset:index_ts_lib",
         "//am/modules:am_ts_lib",
         "//infra-sk/modules:login_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:hintable_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "alert-manager-sk.ts",
diff --git a/am/modules/alert-manager-sk/alert-manager-sk.scss b/am/modules/alert-manager-sk/alert-manager-sk.scss
index 73c83fe..5d0476b 100644
--- a/am/modules/alert-manager-sk/alert-manager-sk.scss
+++ b/am/modules/alert-manager-sk/alert-manager-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../themes/themes.scss';
 
 alert-manager-sk {
diff --git a/am/modules/alert-manager-sk/alert-manager-sk.ts b/am/modules/alert-manager-sk/alert-manager-sk.ts
index b22fa3d..230bc0a 100644
--- a/am/modules/alert-manager-sk/alert-manager-sk.ts
+++ b/am/modules/alert-manager-sk/alert-manager-sk.ts
@@ -5,33 +5,32 @@
  *   The main application element for am.skia.org.
  *
  */
-import { define } from 'elements-sk/define';
-import 'elements-sk/checkbox-sk';
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/icon/alarm-off-icon-sk';
-import 'elements-sk/icon/comment-icon-sk';
-import 'elements-sk/icon/notifications-icon-sk';
-import 'elements-sk/icon/person-icon-sk';
-import 'elements-sk/spinner-sk';
-import 'elements-sk/styles/buttons';
-import 'elements-sk/tabs-panel-sk';
-import 'elements-sk/tabs-sk';
-import 'elements-sk/toast-sk';
+import { define } from '../../../elements-sk/modules/define';
+import '../../../elements-sk/modules/checkbox-sk';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/icons/alarm-off-icon-sk';
+import '../../../elements-sk/modules/icons/comment-icon-sk';
+import '../../../elements-sk/modules/icons/notifications-icon-sk';
+import '../../../elements-sk/modules/icons/person-icon-sk';
+import '../../../elements-sk/modules/spinner-sk';
+import '../../../elements-sk/modules/tabs-panel-sk';
+import '../../../elements-sk/modules/tabs-sk';
+import '../../../elements-sk/modules/toast-sk';
 
 import '../incident-sk';
 import '../bot-chooser-sk';
 import '../email-chooser-sk';
 import '../silence-sk';
 
-import { diffDate } from 'common-sk/modules/human';
-import { CheckOrRadio } from 'elements-sk/checkbox-sk/checkbox-sk';
-import { HintableObject } from 'common-sk/modules/hintable';
-import { $, $$ } from 'common-sk/modules/dom';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { diffDate } from '../../../infra-sk/modules/human';
+import { CheckOrRadio } from '../../../elements-sk/modules/checkbox-sk/checkbox-sk';
+import { HintableObject } from '../../../infra-sk/modules/hintable';
+import { $, $$ } from '../../../infra-sk/modules/dom';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html, render, TemplateResult } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { stateReflector } from 'common-sk/modules/stateReflector';
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
 import { Login } from '../../../infra-sk/modules/login';
 import { BotChooserSk } from '../bot-chooser-sk/bot-chooser-sk';
 import { EmailChooserSk } from '../email-chooser-sk/email-chooser-sk';
diff --git a/am/modules/am.ts b/am/modules/am.ts
index 7a1c5c8..7c58b80 100644
--- a/am/modules/am.ts
+++ b/am/modules/am.ts
@@ -1,5 +1,5 @@
 // Functions used by more than one element.
-import { diffDate } from 'common-sk/modules/human';
+import { diffDate } from '../../infra-sk/modules/human';
 import { unsafeHTML } from 'lit-html/directives/unsafe-html';
 import { TemplateResult, html, Part } from 'lit-html';
 import { Note, ParamSet } from './json';
diff --git a/am/modules/bot-chooser-sk/BUILD.bazel b/am/modules/bot-chooser-sk/BUILD.bazel
index 8ea2ba3..a275580 100644
--- a/am/modules/bot-chooser-sk/BUILD.bazel
+++ b/am/modules/bot-chooser-sk/BUILD.bazel
@@ -3,14 +3,16 @@
 sk_element(
     name = "bot-chooser-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules/styles:select_sass_lib",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["bot-chooser-sk.scss"],
     ts_deps = [
         "//am/modules/json:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "bot-chooser-sk.ts",
diff --git a/am/modules/bot-chooser-sk/bot-chooser-sk.scss b/am/modules/bot-chooser-sk/bot-chooser-sk.scss
index 83dceaf..a9ea65e 100644
--- a/am/modules/bot-chooser-sk/bot-chooser-sk.scss
+++ b/am/modules/bot-chooser-sk/bot-chooser-sk.scss
@@ -1,4 +1,6 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/styles/select';
+@import '../../../elements-sk/modules/styles/buttons';
+@import '../../../elements-sk/modules/colors';
 
 bot-chooser-sk {
   dialog-sk {
diff --git a/am/modules/bot-chooser-sk/bot-chooser-sk.ts b/am/modules/bot-chooser-sk/bot-chooser-sk.ts
index b7a8064..ad137ae 100644
--- a/am/modules/bot-chooser-sk/bot-chooser-sk.ts
+++ b/am/modules/bot-chooser-sk/bot-chooser-sk.ts
@@ -9,12 +9,10 @@
  * </p>
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, render, TemplateResult } from 'lit-html';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 
-import 'elements-sk/styles/buttons';
-import 'elements-sk/styles/select';
 import { Incident } from '../json';
 
 export class BotChooserSk extends HTMLElement {
diff --git a/am/modules/email-chooser-sk/BUILD.bazel b/am/modules/email-chooser-sk/BUILD.bazel
index 6e5c3cc..ee974a9 100644
--- a/am/modules/email-chooser-sk/BUILD.bazel
+++ b/am/modules/email-chooser-sk/BUILD.bazel
@@ -7,12 +7,16 @@
 
 sk_element(
     name = "email-chooser-sk",
-    sass_deps = ["@npm//:node_modules/elements-sk/colors.scss"],
+    sass_deps = [
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules/styles:select_sass_lib",
+        "//elements-sk/modules:colors_sass_lib",
+    ],
     sass_srcs = ["email-chooser-sk.scss"],
     ts_deps = [
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "email-chooser-sk.ts",
diff --git a/am/modules/email-chooser-sk/email-chooser-sk.scss b/am/modules/email-chooser-sk/email-chooser-sk.scss
index beeee76..a756ec5 100644
--- a/am/modules/email-chooser-sk/email-chooser-sk.scss
+++ b/am/modules/email-chooser-sk/email-chooser-sk.scss
@@ -1,4 +1,6 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/styles/select';
+@import '../../../elements-sk/modules/styles/buttons';
+@import '../../../elements-sk/modules/colors';
 
 email-chooser-sk {
   dialog-sk {
diff --git a/am/modules/email-chooser-sk/email-chooser-sk.ts b/am/modules/email-chooser-sk/email-chooser-sk.ts
index 526279f..04a81de 100644
--- a/am/modules/email-chooser-sk/email-chooser-sk.ts
+++ b/am/modules/email-chooser-sk/email-chooser-sk.ts
@@ -9,12 +9,10 @@
  * </p>
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, render, TemplateResult } from 'lit-html';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 
-import 'elements-sk/styles/buttons';
-import 'elements-sk/styles/select';
 
 export class EmailChooserSk extends HTMLElement {
   private dialog: HTMLDialogElement | null = null;
diff --git a/am/modules/incident-sk/BUILD.bazel b/am/modules/incident-sk/BUILD.bazel
index eb03451..65d69cf 100644
--- a/am/modules/incident-sk/BUILD.bazel
+++ b/am/modules/incident-sk/BUILD.bazel
@@ -9,14 +9,20 @@
     sk_element_deps = [
         "//am/modules/silence-sk",
         "//infra-sk/modules/clipboard-sk",
+        "//elements-sk/modules/icons/alarm-off-icon-sk",
+        "//elements-sk/modules/icons/delete-icon-sk",
+        "//elements-sk/modules/icons/thumbs-up-down-icon-sk",
     ],
     ts_deps = [
         "//am/modules/json:index_ts_lib",
         "//am/modules/paramset:index_ts_lib",
         "//am/modules:am_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "incident-sk.ts",
diff --git a/am/modules/incident-sk/incident-sk.ts b/am/modules/incident-sk/incident-sk.ts
index 334be97..73e02f6 100644
--- a/am/modules/incident-sk/incident-sk.ts
+++ b/am/modules/incident-sk/incident-sk.ts
@@ -51,19 +51,19 @@
  *   </pre>
  *
  */
-import { define } from 'elements-sk/define';
-import 'elements-sk/icon/alarm-off-icon-sk';
-import 'elements-sk/icon/delete-icon-sk';
-import 'elements-sk/icon/thumbs-up-down-icon-sk';
+import { define } from '../../../elements-sk/modules/define';
+import '../../../elements-sk/modules/icons/alarm-off-icon-sk';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
+import '../../../elements-sk/modules/icons/thumbs-up-down-icon-sk';
 import '../../../infra-sk/modules/clipboard-sk';
 import '../silence-sk';
 
-import { $$ } from 'common-sk/modules/dom';
-import { diffDate, strDuration } from 'common-sk/modules/human';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { diffDate, strDuration } from '../../../infra-sk/modules/human';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html, render, TemplateResult } from 'lit-html';
 import { until } from 'lit-html/directives/until';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
 import { abbr, linkify, displayNotes } from '../am';
 import * as paramset from '../paramset';
 import {
diff --git a/am/modules/silence-sk/BUILD.bazel b/am/modules/silence-sk/BUILD.bazel
index d59d8d0..6e6e61c 100644
--- a/am/modules/silence-sk/BUILD.bazel
+++ b/am/modules/silence-sk/BUILD.bazel
@@ -3,16 +3,22 @@
 sk_element(
     name = "silence-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["silence-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/icons/add-box-icon-sk",
+        "//elements-sk/modules/icons/delete-icon-sk",
+    ],
     ts_deps = [
         "//am/modules/json:index_ts_lib",
         "//am/modules/paramset:index_ts_lib",
         "//am/modules:am_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/am/modules/silence-sk/silence-sk.scss b/am/modules/silence-sk/silence-sk.scss
index e84c587..9e052b2 100644
--- a/am/modules/silence-sk/silence-sk.scss
+++ b/am/modules/silence-sk/silence-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 
 silence-sk {
   display: block;
diff --git a/am/modules/silence-sk/silence-sk.ts b/am/modules/silence-sk/silence-sk.ts
index ad7a316..b0cbb9f 100644
--- a/am/modules/silence-sk/silence-sk.ts
+++ b/am/modules/silence-sk/silence-sk.ts
@@ -86,13 +86,13 @@
  *   </pre>
  *
  */
-import { define } from 'elements-sk/define';
-import 'elements-sk/icon/add-box-icon-sk';
-import 'elements-sk/icon/delete-icon-sk';
+import { define } from '../../../elements-sk/modules/define';
+import '../../../elements-sk/modules/icons/add-box-icon-sk';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
 
-import { $$ } from 'common-sk/modules/dom';
-import { diffDate } from 'common-sk/modules/human';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { diffDate } from '../../../infra-sk/modules/human';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html, render, TemplateResult } from 'lit-html';
 import {
   abbr, displaySilence, expiresIn, getDurationTillNextDay, displayNotes,
diff --git a/am/modules/themes/BUILD.bazel b/am/modules/themes/BUILD.bazel
index 10b6abc..67357da 100644
--- a/am/modules/themes/BUILD.bazel
+++ b/am/modules/themes/BUILD.bazel
@@ -5,7 +5,7 @@
     srcs = ["themes.scss"],
     visibility = ["//visibility:public"],
     deps = [
-        "@npm//:node_modules/elements-sk/themes/color-palette.scss",
-        "@npm//:node_modules/elements-sk/themes/themes.scss",
+        "//elements-sk/modules/themes:color-palette_sass_lib",
+        "//elements-sk/modules/themes:themes_sass_lib",
     ],
 )
diff --git a/am/modules/themes/themes.scss b/am/modules/themes/themes.scss
index b396a70..11f8f8e 100644
--- a/am/modules/themes/themes.scss
+++ b/am/modules/themes/themes.scss
@@ -1,5 +1,5 @@
-@import 'node_modules/elements-sk/themes/color-palette.scss';
-@import 'node_modules/elements-sk/themes/themes.scss';
+@import '../../../elements-sk/modules/themes/color-palette';
+@import '../../../elements-sk/modules/themes/themes';
 
 .body-sk.darkmode {
   --primary: var(--light-blue);
diff --git a/autoroll/modules/BUILD.bazel b/autoroll/modules/BUILD.bazel
index 466f6101..af94557 100644
--- a/autoroll/modules/BUILD.bazel
+++ b/autoroll/modules/BUILD.bazel
@@ -12,7 +12,7 @@
     visibility = ["//visibility:public"],
     deps = [
         "//autoroll/modules/rpc:index_ts_lib",
-        "@npm//common-sk",
+        "//infra-sk/modules:human_ts_lib",
         "@npm//lit-html",
     ],
 )
diff --git a/autoroll/modules/arb-config-sk/BUILD.bazel b/autoroll/modules/arb-config-sk/BUILD.bazel
index ec13322..73a9cc5 100644
--- a/autoroll/modules/arb-config-sk/BUILD.bazel
+++ b/autoroll/modules/arb-config-sk/BUILD.bazel
@@ -5,16 +5,24 @@
     sass_deps = [
         "//autoroll/modules:colors_sass_lib",
         "//infra-sk/modules:results_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules/styles:select_sass_lib",
+        "//elements-sk/modules/styles:table_sass_lib",
     ],
     sass_srcs = ["arb-config-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/tabs-panel-sk",
+        "//elements-sk/modules/tabs-sk",
+    ],
     ts_deps = [
         "//autoroll/modules/config:index_ts_lib",
         "//autoroll/modules/rpc:index_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//infra-sk/modules:login_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "arb-config-sk.ts",
@@ -30,11 +38,11 @@
         "//infra-sk/modules/login-sk",
         "//infra-sk/modules/theme-chooser-sk",
         ":arb-config-sk",
+        "//elements-sk/modules/error-toast-sk",
     ],
     ts_deps = [
         "//autoroll/modules/rpc-mock:fake-config_ts_lib",
         "//autoroll/modules/rpc-mock:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//fetch-mock",
     ],
     ts_entry_point = "arb-config-sk-demo.ts",
diff --git a/autoroll/modules/arb-config-sk/arb-config-sk-demo.ts b/autoroll/modules/arb-config-sk/arb-config-sk-demo.ts
index 49e2971..dcdd7fe 100644
--- a/autoroll/modules/arb-config-sk/arb-config-sk-demo.ts
+++ b/autoroll/modules/arb-config-sk/arb-config-sk-demo.ts
@@ -1,4 +1,4 @@
-import 'elements-sk/error-toast-sk';
+import '../../../elements-sk/modules/error-toast-sk';
 import fetchMock from 'fetch-mock';
 import '../../../infra-sk/modules/login-sk';
 import '../../../infra-sk/modules/theme-chooser-sk';
diff --git a/autoroll/modules/arb-config-sk/arb-config-sk.scss b/autoroll/modules/arb-config-sk/arb-config-sk.scss
index 66e3d34..51886d1 100644
--- a/autoroll/modules/arb-config-sk/arb-config-sk.scss
+++ b/autoroll/modules/arb-config-sk/arb-config-sk.scss
@@ -1,3 +1,6 @@
+@import '../../../elements-sk/modules/styles/table';
+@import '../../../elements-sk/modules/styles/select';
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../../../infra-sk/modules/results';
 @import '../colors';
 
diff --git a/autoroll/modules/arb-config-sk/arb-config-sk.ts b/autoroll/modules/arb-config-sk/arb-config-sk.ts
index a2ac0e0..ac2b3c7 100644
--- a/autoroll/modules/arb-config-sk/arb-config-sk.ts
+++ b/autoroll/modules/arb-config-sk/arb-config-sk.ts
@@ -9,15 +9,12 @@
 
 import { html } from 'lit-html';
 
-import { $$ } from 'common-sk/modules/dom';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
 
-import { define } from 'elements-sk/define';
-import 'elements-sk/styles/buttons';
-import 'elements-sk/styles/select';
-import 'elements-sk/styles/table';
-import 'elements-sk/tabs-panel-sk';
-import 'elements-sk/tabs-sk';
+import { define } from '../../../elements-sk/modules/define';
+import '../../../elements-sk/modules/tabs-panel-sk';
+import '../../../elements-sk/modules/tabs-sk';
 
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { LoginTo } from '../../../infra-sk/modules/login';
diff --git a/autoroll/modules/arb-mode-history-sk/BUILD.bazel b/autoroll/modules/arb-mode-history-sk/BUILD.bazel
index 3c7cf85..459c09c 100644
--- a/autoroll/modules/arb-mode-history-sk/BUILD.bazel
+++ b/autoroll/modules/arb-mode-history-sk/BUILD.bazel
@@ -5,14 +5,15 @@
     sass_deps = [
         "//autoroll/modules:colors_sass_lib",
         "//infra-sk/modules:results_sass_lib",
+        "//elements-sk/modules/styles:table_sass_lib",
     ],
     sass_srcs = ["arb-mode-history-sk.scss"],
     sk_element_deps = ["//infra-sk/modules/human-date-sk"],
     ts_deps = [
         "//autoroll/modules/rpc:index_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "arb-mode-history-sk.ts",
diff --git a/autoroll/modules/arb-mode-history-sk/arb-mode-history-sk.scss b/autoroll/modules/arb-mode-history-sk/arb-mode-history-sk.scss
index b60cbd0..679e4be 100644
--- a/autoroll/modules/arb-mode-history-sk/arb-mode-history-sk.scss
+++ b/autoroll/modules/arb-mode-history-sk/arb-mode-history-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/table';
 @import '../../../infra-sk/modules/results';
 @import '../colors';
 
diff --git a/autoroll/modules/arb-mode-history-sk/arb-mode-history-sk.ts b/autoroll/modules/arb-mode-history-sk/arb-mode-history-sk.ts
index a0fc823..6e0ea59 100644
--- a/autoroll/modules/arb-mode-history-sk/arb-mode-history-sk.ts
+++ b/autoroll/modules/arb-mode-history-sk/arb-mode-history-sk.ts
@@ -8,8 +8,7 @@
  */
 
 import { html } from 'lit-html';
-import { define } from 'elements-sk/define';
-import 'elements-sk/styles/table';
+import { define } from '../../../elements-sk/modules/define';
 
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import '../../../infra-sk/modules/human-date-sk';
diff --git a/autoroll/modules/arb-roll-history-sk/BUILD.bazel b/autoroll/modules/arb-roll-history-sk/BUILD.bazel
index efc4ae7..602b6ca 100644
--- a/autoroll/modules/arb-roll-history-sk/BUILD.bazel
+++ b/autoroll/modules/arb-roll-history-sk/BUILD.bazel
@@ -5,14 +5,15 @@
     sass_deps = [
         "//autoroll/modules:colors_sass_lib",
         "//infra-sk/modules:results_sass_lib",
+        "//elements-sk/modules/styles:table_sass_lib",
     ],
     sass_srcs = ["arb-roll-history-sk.scss"],
     sk_element_deps = ["//infra-sk/modules/human-date-sk"],
     ts_deps = [
         "//autoroll/modules/rpc:index_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "arb-roll-history-sk.ts",
diff --git a/autoroll/modules/arb-roll-history-sk/arb-roll-history-sk.scss b/autoroll/modules/arb-roll-history-sk/arb-roll-history-sk.scss
index ad0162a..7e25675 100644
--- a/autoroll/modules/arb-roll-history-sk/arb-roll-history-sk.scss
+++ b/autoroll/modules/arb-roll-history-sk/arb-roll-history-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/table';
 @import '../../../infra-sk/modules/results';
 @import '../colors';
 
diff --git a/autoroll/modules/arb-roll-history-sk/arb-roll-history-sk.ts b/autoroll/modules/arb-roll-history-sk/arb-roll-history-sk.ts
index 0f08ef1..dfce93e 100644
--- a/autoroll/modules/arb-roll-history-sk/arb-roll-history-sk.ts
+++ b/autoroll/modules/arb-roll-history-sk/arb-roll-history-sk.ts
@@ -8,8 +8,7 @@
  */
 
 import { html } from 'lit-html';
-import { define } from 'elements-sk/define';
-import 'elements-sk/styles/table';
+import { define } from '../../../elements-sk/modules/define';
 
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import '../../../infra-sk/modules/human-date-sk';
diff --git a/autoroll/modules/arb-scaffold-sk/BUILD.bazel b/autoroll/modules/arb-scaffold-sk/BUILD.bazel
index 670864b..baacba2 100644
--- a/autoroll/modules/arb-scaffold-sk/BUILD.bazel
+++ b/autoroll/modules/arb-scaffold-sk/BUILD.bazel
@@ -4,18 +4,23 @@
     name = "arb-scaffold-sk",
     sass_deps = [
         "//autoroll/modules:colors_sass_lib",
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["arb-scaffold-sk.scss"],
     sk_element_deps = [
         "//infra-sk/modules/app-sk",
         "//infra-sk/modules/login-sk",
         "//infra-sk/modules/theme-chooser-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/icons/home-icon-sk",
+        "//elements-sk/modules/spinner-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
     ],
     ts_srcs = [
         "arb-scaffold-sk.ts",
diff --git a/autoroll/modules/arb-scaffold-sk/arb-scaffold-sk.scss b/autoroll/modules/arb-scaffold-sk/arb-scaffold-sk.scss
index c962c6e..086c3ae 100644
--- a/autoroll/modules/arb-scaffold-sk/arb-scaffold-sk.scss
+++ b/autoroll/modules/arb-scaffold-sk/arb-scaffold-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 @import '../colors';
 
 arb-scaffold-sk {
diff --git a/autoroll/modules/arb-scaffold-sk/arb-scaffold-sk.ts b/autoroll/modules/arb-scaffold-sk/arb-scaffold-sk.ts
index 7add8a0..4b73b36 100644
--- a/autoroll/modules/arb-scaffold-sk/arb-scaffold-sk.ts
+++ b/autoroll/modules/arb-scaffold-sk/arb-scaffold-sk.ts
@@ -16,20 +16,20 @@
  * @attr {boolean} testing_offline - If we should operate entirely in offline
  *     mode.
  */
-import { define } from 'elements-sk/define';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { define } from '../../../elements-sk/modules/define';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html } from 'lit-html';
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
 import '../../../infra-sk/modules/app-sk';
 import '../../../infra-sk/modules/login-sk';
 import '../../../infra-sk/modules/theme-chooser-sk';
 
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/icon/home-icon-sk';
-import 'elements-sk/spinner-sk';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/icons/home-icon-sk';
+import '../../../elements-sk/modules/spinner-sk';
 
 /**
  * Moves the elements from one NodeList to the given HTMLElement.
diff --git a/autoroll/modules/arb-status-sk/BUILD.bazel b/autoroll/modules/arb-status-sk/BUILD.bazel
index 09289be..7cddc06 100644
--- a/autoroll/modules/arb-status-sk/BUILD.bazel
+++ b/autoroll/modules/arb-status-sk/BUILD.bazel
@@ -5,18 +5,26 @@
     sass_deps = [
         "//autoroll/modules:colors_sass_lib",
         "//infra-sk/modules:results_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules/styles:select_sass_lib",
+        "//elements-sk/modules/styles:table_sass_lib",
     ],
     sass_srcs = ["arb-status-sk.scss"],
-    sk_element_deps = ["//infra-sk/modules/human-date-sk"],
+    sk_element_deps = [
+        "//infra-sk/modules/human-date-sk",
+        "//elements-sk/modules/tabs-panel-sk",
+        "//elements-sk/modules/tabs-sk",
+    ],
     ts_deps = [
         "//autoroll/modules/rpc:index_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//infra-sk/modules:login_ts_lib",
         "//infra-sk/modules:string_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "//autoroll/modules:utils_ts_lib",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
     ],
     ts_srcs = [
         "arb-status-sk.ts",
@@ -32,10 +40,10 @@
         "//infra-sk/modules/login-sk",
         "//infra-sk/modules/theme-chooser-sk",
         ":arb-status-sk",
+        "//elements-sk/modules/error-toast-sk",
     ],
     ts_deps = [
         "//autoroll/modules/rpc-mock:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//fetch-mock",
     ],
     ts_entry_point = "arb-status-sk-demo.ts",
diff --git a/autoroll/modules/arb-status-sk/arb-status-sk-demo.ts b/autoroll/modules/arb-status-sk/arb-status-sk-demo.ts
index d79ecee..a81b50a 100644
--- a/autoroll/modules/arb-status-sk/arb-status-sk-demo.ts
+++ b/autoroll/modules/arb-status-sk/arb-status-sk-demo.ts
@@ -1,4 +1,4 @@
-import 'elements-sk/error-toast-sk';
+import '../../../elements-sk/modules/error-toast-sk';
 import fetchMock from 'fetch-mock';
 import '../../../infra-sk/modules/login-sk';
 import '../../../infra-sk/modules/theme-chooser-sk';
diff --git a/autoroll/modules/arb-status-sk/arb-status-sk.scss b/autoroll/modules/arb-status-sk/arb-status-sk.scss
index 33d794d..9e3b1e8 100644
--- a/autoroll/modules/arb-status-sk/arb-status-sk.scss
+++ b/autoroll/modules/arb-status-sk/arb-status-sk.scss
@@ -1,3 +1,6 @@
+@import '../../../elements-sk/modules/styles/table';
+@import '../../../elements-sk/modules/styles/select';
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../../../infra-sk/modules/results';
 @import '../colors';
 
diff --git a/autoroll/modules/arb-status-sk/arb-status-sk.ts b/autoroll/modules/arb-status-sk/arb-status-sk.ts
index cfe2085..f233764 100644
--- a/autoroll/modules/arb-status-sk/arb-status-sk.ts
+++ b/autoroll/modules/arb-status-sk/arb-status-sk.ts
@@ -9,15 +9,12 @@
 
 import { html } from 'lit-html';
 
-import { $$ } from 'common-sk/modules/dom';
-import { localeTime } from 'common-sk/modules/human';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { localeTime } from '../../../infra-sk/modules/human';
 
-import { define } from 'elements-sk/define';
-import 'elements-sk/styles/buttons';
-import 'elements-sk/styles/select';
-import 'elements-sk/styles/table';
-import 'elements-sk/tabs-panel-sk';
-import 'elements-sk/tabs-sk';
+import { define } from '../../../elements-sk/modules/define';
+import '../../../elements-sk/modules/tabs-panel-sk';
+import '../../../elements-sk/modules/tabs-sk';
 
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { LoginTo } from '../../../infra-sk/modules/login';
diff --git a/autoroll/modules/arb-strategy-history-sk/BUILD.bazel b/autoroll/modules/arb-strategy-history-sk/BUILD.bazel
index 04673c9..afd79a2 100644
--- a/autoroll/modules/arb-strategy-history-sk/BUILD.bazel
+++ b/autoroll/modules/arb-strategy-history-sk/BUILD.bazel
@@ -4,14 +4,15 @@
     name = "arb-strategy-history-sk",
     sass_deps = [
         "//autoroll/modules:colors_sass_lib",
+        "//elements-sk/modules/styles:table_sass_lib",
     ],
     sass_srcs = ["arb-strategy-history-sk.scss"],
     sk_element_deps = ["//infra-sk/modules/human-date-sk"],
     ts_deps = [
         "//autoroll/modules/rpc:index_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "arb-strategy-history-sk.ts",
diff --git a/autoroll/modules/arb-strategy-history-sk/arb-strategy-history-sk.scss b/autoroll/modules/arb-strategy-history-sk/arb-strategy-history-sk.scss
index 5081876..e48c396 100644
--- a/autoroll/modules/arb-strategy-history-sk/arb-strategy-history-sk.scss
+++ b/autoroll/modules/arb-strategy-history-sk/arb-strategy-history-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/table';
 @import '../colors';
 
 arb-strategy-history-sk {
diff --git a/autoroll/modules/arb-strategy-history-sk/arb-strategy-history-sk.ts b/autoroll/modules/arb-strategy-history-sk/arb-strategy-history-sk.ts
index ac9102b..70129e9 100644
--- a/autoroll/modules/arb-strategy-history-sk/arb-strategy-history-sk.ts
+++ b/autoroll/modules/arb-strategy-history-sk/arb-strategy-history-sk.ts
@@ -8,8 +8,7 @@
  */
 
 import { html } from 'lit-html';
-import { define } from 'elements-sk/define';
-import 'elements-sk/styles/table';
+import { define } from '../../../elements-sk/modules/define';
 
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import '../../../infra-sk/modules/human-date-sk';
diff --git a/autoroll/modules/arb-table-sk/BUILD.bazel b/autoroll/modules/arb-table-sk/BUILD.bazel
index a4f7a7d..05ffe5d 100644
--- a/autoroll/modules/arb-table-sk/BUILD.bazel
+++ b/autoroll/modules/arb-table-sk/BUILD.bazel
@@ -5,15 +5,18 @@
     sass_deps = [
         "//autoroll/modules:colors_sass_lib",
         "//infra-sk/modules:results_sass_lib",
+        "//elements-sk/modules/styles:table_sass_lib",
     ],
     sass_srcs = ["arb-table-sk.scss"],
     ts_deps = [
         "//autoroll/modules/rpc:index_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "//autoroll/modules:utils_ts_lib",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:hintable_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "arb-table-sk.ts",
diff --git a/autoroll/modules/arb-table-sk/arb-table-sk.scss b/autoroll/modules/arb-table-sk/arb-table-sk.scss
index 2721fa0..282d8fe 100644
--- a/autoroll/modules/arb-table-sk/arb-table-sk.scss
+++ b/autoroll/modules/arb-table-sk/arb-table-sk.scss
@@ -1,2 +1,3 @@
+@import '../../../elements-sk/modules/styles/table';
 @import '../../../infra-sk/modules/results';
 @import '../colors';
diff --git a/autoroll/modules/arb-table-sk/arb-table-sk.ts b/autoroll/modules/arb-table-sk/arb-table-sk.ts
index 4a49548..c5843e8 100644
--- a/autoroll/modules/arb-table-sk/arb-table-sk.ts
+++ b/autoroll/modules/arb-table-sk/arb-table-sk.ts
@@ -8,11 +8,10 @@
  */
 
 import { html } from 'lit-html';
-import { $$ } from 'common-sk/modules/dom';
-import { HintableObject } from 'common-sk/modules/hintable';
-import { stateReflector } from 'common-sk/modules/stateReflector';
-import { define } from 'elements-sk/define';
-import 'elements-sk/styles/table';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { HintableObject } from '../../../infra-sk/modules/hintable';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
+import { define } from '../../../elements-sk/modules/define';
 
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import {
diff --git a/autoroll/modules/rpc-mock/BUILD.bazel b/autoroll/modules/rpc-mock/BUILD.bazel
index 630a3a9..8ad4e85 100644
--- a/autoroll/modules/rpc-mock/BUILD.bazel
+++ b/autoroll/modules/rpc-mock/BUILD.bazel
@@ -33,6 +33,6 @@
         ":fake-status_ts_lib",
         "//autoroll/modules/rpc:index_ts_lib",
         "//autoroll/modules/rpc:rpc_ts_lib",
-        "@npm//common-sk",
+        "//infra-sk/modules:query_ts_lib",
     ],
 )
diff --git a/autoroll/modules/rpc-mock/index.ts b/autoroll/modules/rpc-mock/index.ts
index 666f7b8..7fbe99d 100644
--- a/autoroll/modules/rpc-mock/index.ts
+++ b/autoroll/modules/rpc-mock/index.ts
@@ -1,4 +1,4 @@
-import { toParamSet } from 'common-sk/modules/query';
+import { toParamSet } from '../../../infra-sk/modules/query';
 import {
   AutoRollService,
   AutoRollStatus,
diff --git a/autoroll/modules/utils.ts b/autoroll/modules/utils.ts
index 78df420..2fd8de1 100644
--- a/autoroll/modules/utils.ts
+++ b/autoroll/modules/utils.ts
@@ -1,7 +1,7 @@
 // Utilities for autoroll frontend modules.
 
 import { html, TemplateResult } from 'lit-html';
-import { diffDate } from 'common-sk/modules/human';
+import { diffDate } from '../../infra-sk/modules/human';
 import { AutoRollMiniStatus } from './rpc';
 
 /**
diff --git a/bugs-central/modules/bugs-central-scaffold-sk/BUILD.bazel b/bugs-central/modules/bugs-central-scaffold-sk/BUILD.bazel
index 5d2816b..f7a1d50 100644
--- a/bugs-central/modules/bugs-central-scaffold-sk/BUILD.bazel
+++ b/bugs-central/modules/bugs-central-scaffold-sk/BUILD.bazel
@@ -4,18 +4,24 @@
     name = "bugs-central-scaffold-sk",
     sass_deps = [
         "//bugs-central/modules:style_sass_lib",
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["bugs-central-scaffold-sk.scss"],
     sk_element_deps = [
         "//infra-sk/modules/app-sk",
         "//infra-sk/modules/login-sk",
         "//infra-sk/modules/theme-chooser-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/folder-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/icons/home-icon-sk",
+        "//elements-sk/modules/icons/insert-chart-icon-sk",
+        "//elements-sk/modules/icons/person-pin-icon-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "bugs-central-scaffold-sk.ts",
diff --git a/bugs-central/modules/bugs-central-scaffold-sk/bugs-central-scaffold-sk.scss b/bugs-central/modules/bugs-central-scaffold-sk/bugs-central-scaffold-sk.scss
index f9c9367..b815418 100644
--- a/bugs-central/modules/bugs-central-scaffold-sk/bugs-central-scaffold-sk.scss
+++ b/bugs-central/modules/bugs-central-scaffold-sk/bugs-central-scaffold-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 @import '../style.scss';
 
 bugs-central-scaffold-sk {
diff --git a/bugs-central/modules/bugs-central-scaffold-sk/bugs-central-scaffold-sk.ts b/bugs-central/modules/bugs-central-scaffold-sk/bugs-central-scaffold-sk.ts
index c0dd74d..396de91 100644
--- a/bugs-central/modules/bugs-central-scaffold-sk/bugs-central-scaffold-sk.ts
+++ b/bugs-central/modules/bugs-central-scaffold-sk/bugs-central-scaffold-sk.ts
@@ -12,16 +12,16 @@
  *
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/icon/folder-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/icon/home-icon-sk';
-import 'elements-sk/icon/insert-chart-icon-sk';
-import 'elements-sk/icon/person-pin-icon-sk';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/icons/folder-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/icons/home-icon-sk';
+import '../../../elements-sk/modules/icons/insert-chart-icon-sk';
+import '../../../elements-sk/modules/icons/person-pin-icon-sk';
 
 import '../../../infra-sk/modules/app-sk';
 import '../../../infra-sk/modules/login-sk';
diff --git a/bugs-central/modules/bugs-central-sk/BUILD.bazel b/bugs-central/modules/bugs-central-sk/BUILD.bazel
index b0111da..3ad3579 100644
--- a/bugs-central/modules/bugs-central-sk/BUILD.bazel
+++ b/bugs-central/modules/bugs-central-sk/BUILD.bazel
@@ -6,13 +6,18 @@
     sk_element_deps = [
         "//bugs-central/modules/bugs-chart-sk",
         "//bugs-central/modules/bugs-slo-popup-sk",
+        "//elements-sk/modules/spinner-sk",
     ],
     ts_deps = [
         "//bugs-central/modules/json:index_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:hintable_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "bugs-central-sk.ts",
diff --git a/bugs-central/modules/bugs-central-sk/bugs-central-sk.ts b/bugs-central/modules/bugs-central-sk/bugs-central-sk.ts
index 4822bbf..c7eebf8 100644
--- a/bugs-central/modules/bugs-central-sk/bugs-central-sk.ts
+++ b/bugs-central/modules/bugs-central-sk/bugs-central-sk.ts
@@ -9,18 +9,18 @@
  *
  */
 
-import { define } from 'elements-sk/define';
-import { $$ } from 'common-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { html, TemplateResult } from 'lit-html';
-import { errorMessage } from 'elements-sk/errorMessage';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { stateReflector } from 'common-sk/modules/stateReflector';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
 
-import 'elements-sk/spinner-sk';
+import '../../../elements-sk/modules/spinner-sk';
 import '../bugs-chart-sk';
 import '../bugs-slo-popup-sk';
 
-import { HintableObject } from 'common-sk/modules/hintable';
+import { HintableObject } from '../../../infra-sk/modules/hintable';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { BugsSLOPopupSk } from '../bugs-slo-popup-sk/bugs-slo-popup-sk';
 import {
diff --git a/bugs-central/modules/bugs-chart-sk/BUILD.bazel b/bugs-central/modules/bugs-chart-sk/BUILD.bazel
index ec88faa..39ef0b0 100644
--- a/bugs-central/modules/bugs-chart-sk/BUILD.bazel
+++ b/bugs-central/modules/bugs-chart-sk/BUILD.bazel
@@ -9,9 +9,9 @@
         # the import naming convention expected by the Gazelle front-end extension, and thus needs
         # to be added manually.
         "@npm//@types/google.visualization",  # keep
-        "@npm//elements-sk",
         "@npm//lit-html",
         "@npm//@google-web-components/google-chart",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "bugs-chart-sk.ts",
diff --git a/bugs-central/modules/bugs-chart-sk/bugs-chart-sk.ts b/bugs-central/modules/bugs-chart-sk/bugs-chart-sk.ts
index 991a3de..3b2f8de 100644
--- a/bugs-central/modules/bugs-chart-sk/bugs-chart-sk.ts
+++ b/bugs-central/modules/bugs-chart-sk/bugs-chart-sk.ts
@@ -14,7 +14,7 @@
 
 import '@google-web-components/google-chart';
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
diff --git a/bugs-central/modules/bugs-slo-popup-sk/BUILD.bazel b/bugs-central/modules/bugs-slo-popup-sk/BUILD.bazel
index 47902d1..6c0ec79 100644
--- a/bugs-central/modules/bugs-slo-popup-sk/BUILD.bazel
+++ b/bugs-central/modules/bugs-slo-popup-sk/BUILD.bazel
@@ -2,13 +2,14 @@
 
 sk_element(
     name = "bugs-slo-popup-sk",
+    sass_deps = ["//elements-sk/modules/styles:buttons_sass_lib"],
     sass_srcs = ["bugs-slo-popup-sk.scss"],
     ts_deps = [
         "//bugs-central/modules/json:index_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "bugs-slo-popup-sk.ts",
@@ -23,7 +24,7 @@
     sk_element_deps = [":bugs-slo-popup-sk"],
     ts_deps = [
         "//bugs-central/modules/json:index_ts_lib",
-        "@npm//common-sk",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "bugs-slo-popup-sk-demo.ts",
 )
diff --git a/bugs-central/modules/bugs-slo-popup-sk/bugs-slo-popup-sk-demo.ts b/bugs-central/modules/bugs-slo-popup-sk/bugs-slo-popup-sk-demo.ts
index 781c0fc..ea2beba 100644
--- a/bugs-central/modules/bugs-slo-popup-sk/bugs-slo-popup-sk-demo.ts
+++ b/bugs-central/modules/bugs-slo-popup-sk/bugs-slo-popup-sk-demo.ts
@@ -1,5 +1,5 @@
 import './index';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { BugsSLOPopupSk } from './bugs-slo-popup-sk';
 import { Issue } from '../json';
 
diff --git a/bugs-central/modules/bugs-slo-popup-sk/bugs-slo-popup-sk.scss b/bugs-central/modules/bugs-slo-popup-sk/bugs-slo-popup-sk.scss
index cc6519d..e816989 100644
--- a/bugs-central/modules/bugs-slo-popup-sk/bugs-slo-popup-sk.scss
+++ b/bugs-central/modules/bugs-slo-popup-sk/bugs-slo-popup-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 bugs-slo-popup-sk {
 
   .slo-dialog {
diff --git a/bugs-central/modules/bugs-slo-popup-sk/bugs-slo-popup-sk.ts b/bugs-central/modules/bugs-slo-popup-sk/bugs-slo-popup-sk.ts
index 13383b4..031f2e3 100644
--- a/bugs-central/modules/bugs-slo-popup-sk/bugs-slo-popup-sk.ts
+++ b/bugs-central/modules/bugs-slo-popup-sk/bugs-slo-popup-sk.ts
@@ -5,13 +5,12 @@
  * A dialog that displays all bugs that are outside SLO.
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
 
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
-import 'elements-sk/styles/buttons';
 import { Issue } from '../json';
 
 export class BugsSLOPopupSk extends ElementSk {
diff --git a/codesize/modules/binary-diff-page-sk/BUILD.bazel b/codesize/modules/binary-diff-page-sk/BUILD.bazel
index 5b55aae..3eef9a7 100644
--- a/codesize/modules/binary-diff-page-sk/BUILD.bazel
+++ b/codesize/modules/binary-diff-page-sk/BUILD.bazel
@@ -10,9 +10,9 @@
     ts_deps = [
         "//codesize/modules:rpc_types_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "binary-diff-page-sk.ts",
diff --git a/codesize/modules/binary-diff-page-sk/binary-diff-page-sk.ts b/codesize/modules/binary-diff-page-sk/binary-diff-page-sk.ts
index 57dab30..3456528 100644
--- a/codesize/modules/binary-diff-page-sk/binary-diff-page-sk.ts
+++ b/codesize/modules/binary-diff-page-sk/binary-diff-page-sk.ts
@@ -1,8 +1,8 @@
 /** Shows a size diff between two binaries. */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { CodesizeScaffoldSk } from '../codesize-scaffold-sk/codesize-scaffold-sk';
 import { BloatyOutputMetadata, BinarySizeDiffRPCResponse, BinarySizeDiffRPCRequest } from '../rpc_types';
diff --git a/codesize/modules/binary-page-sk/BUILD.bazel b/codesize/modules/binary-page-sk/BUILD.bazel
index 00e25d1..8e39aa4 100644
--- a/codesize/modules/binary-page-sk/BUILD.bazel
+++ b/codesize/modules/binary-page-sk/BUILD.bazel
@@ -16,10 +16,11 @@
         # the import naming convention expected by the Gazelle front-end extension, and thus needs
         # to be added manually.
         "@npm//@types/google.visualization",  # keep
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "@npm//fuse.js",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "binary-page-sk.ts",
diff --git a/codesize/modules/binary-page-sk/binary-page-sk.ts b/codesize/modules/binary-page-sk/binary-page-sk.ts
index 8ed6478..0c77a6d 100644
--- a/codesize/modules/binary-page-sk/binary-page-sk.ts
+++ b/codesize/modules/binary-page-sk/binary-page-sk.ts
@@ -1,11 +1,11 @@
 /** Shows code size statistics about a single binary. */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
 import { load } from '@google-web-components/google-chart/loader';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
 import Fuse from 'fuse.js';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { isDarkMode } from '../../../infra-sk/modules/theme-chooser-sk/theme-chooser-sk';
 import { CodesizeScaffoldSk } from '../codesize-scaffold-sk/codesize-scaffold-sk';
diff --git a/codesize/modules/codesize-scaffold-sk/BUILD.bazel b/codesize/modules/codesize-scaffold-sk/BUILD.bazel
index 47835b2..5d8c9e9 100644
--- a/codesize/modules/codesize-scaffold-sk/BUILD.bazel
+++ b/codesize/modules/codesize-scaffold-sk/BUILD.bazel
@@ -9,12 +9,15 @@
     sk_element_deps = [
         "//infra-sk/modules/app-sk",
         "//infra-sk/modules/theme-chooser-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/spinner-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
         ":events_ts_lib",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
     ],
     ts_srcs = [
         "codesize-scaffold-sk.ts",
diff --git a/codesize/modules/codesize-scaffold-sk/codesize-scaffold-sk.ts b/codesize/modules/codesize-scaffold-sk/codesize-scaffold-sk.ts
index 3c62b54..ff6aa26 100644
--- a/codesize/modules/codesize-scaffold-sk/codesize-scaffold-sk.ts
+++ b/codesize/modules/codesize-scaffold-sk/codesize-scaffold-sk.ts
@@ -2,15 +2,15 @@
 
 import { html, TemplateResult } from 'lit-html';
 
-import { define } from 'elements-sk/define';
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { define } from '../../../elements-sk/modules/define';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
 import '../../../infra-sk/modules/app-sk';
 import '../../../infra-sk/modules/theme-chooser-sk';
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/spinner-sk';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/spinner-sk';
 import { END_BUSY_EVENT } from './events';
 
 /** Moves the elements in a NodeList or HTMLCollection as children of another element. */
diff --git a/codesize/modules/index-page-sk/BUILD.bazel b/codesize/modules/index-page-sk/BUILD.bazel
index 6ab8959..64f56c0 100644
--- a/codesize/modules/index-page-sk/BUILD.bazel
+++ b/codesize/modules/index-page-sk/BUILD.bazel
@@ -25,9 +25,9 @@
     ts_deps = [
         "//codesize/modules:rpc_types_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "index-page-sk.ts",
diff --git a/codesize/modules/index-page-sk/index-page-sk.ts b/codesize/modules/index-page-sk/index-page-sk.ts
index e2a294c..200a311 100644
--- a/codesize/modules/index-page-sk/index-page-sk.ts
+++ b/codesize/modules/index-page-sk/index-page-sk.ts
@@ -1,8 +1,8 @@
 /** Shows the most recent binaries for which we have code size statistics. */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { CodesizeScaffoldSk } from '../codesize-scaffold-sk/codesize-scaffold-sk';
 import { Binary, BinariesFromCommitOrPatchset, MostRecentBinariesRPCResponse } from '../rpc_types';
diff --git a/ct/modules/BUILD.bazel b/ct/modules/BUILD.bazel
index 6c6d710..8162ae6 100644
--- a/ct/modules/BUILD.bazel
+++ b/ct/modules/BUILD.bazel
@@ -16,8 +16,10 @@
     visibility = ["//visibility:public"],
     deps = [
         "//ct/modules/json:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
 )
 
diff --git a/ct/modules/admin-task-runs-sk/BUILD.bazel b/ct/modules/admin-task-runs-sk/BUILD.bazel
index 17430f8..99311ef 100644
--- a/ct/modules/admin-task-runs-sk/BUILD.bazel
+++ b/ct/modules/admin-task-runs-sk/BUILD.bazel
@@ -2,14 +2,21 @@
 
 sk_element(
     name = "admin-task-runs-sk",
-    sk_element_deps = ["//ct/modules/pagination-sk"],
+    sk_element_deps = [
+        "//ct/modules/pagination-sk",
+        "//elements-sk/modules/icons/delete-icon-sk",
+        "//elements-sk/modules/icons/redo-icon-sk",
+    ],
     ts_deps = [
         "//ct/modules/json:index_ts_lib",
         "//ct/modules:ctfe_utils_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_srcs = [
         "admin-task-runs-sk.ts",
@@ -38,11 +45,11 @@
     deps = [
         ":admin-task-runs-sk",
         ":test_data_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//@types/sinon",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
         "@npm//sinon",
     ],
diff --git a/ct/modules/admin-task-runs-sk/admin-task-runs-sk.ts b/ct/modules/admin-task-runs-sk/admin-task-runs-sk.ts
index 483df62..7778566 100644
--- a/ct/modules/admin-task-runs-sk/admin-task-runs-sk.ts
+++ b/ct/modules/admin-task-runs-sk/admin-task-runs-sk.ts
@@ -3,16 +3,16 @@
  * Recreate Webpage Archives Runs History pages.
  */
 
-import 'elements-sk/icon/delete-icon-sk';
-import 'elements-sk/icon/redo-icon-sk';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
+import '../../../elements-sk/modules/icons/redo-icon-sk';
 
 import '../pagination-sk';
 
-import { $$, DomReady } from 'common-sk/modules/dom';
-import { fromObject } from 'common-sk/modules/query';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { define } from 'elements-sk/define';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { $$, DomReady } from '../../../infra-sk/modules/dom';
+import { fromObject } from '../../../infra-sk/modules/query';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { define } from '../../../elements-sk/modules/define';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html } from 'lit-html';
 import { PaginationSk } from '../pagination-sk/pagination-sk';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
diff --git a/ct/modules/admin-task-runs-sk/admin-task-runs-sk_test.ts b/ct/modules/admin-task-runs-sk/admin-task-runs-sk_test.ts
index 832a383..5b145ae 100644
--- a/ct/modules/admin-task-runs-sk/admin-task-runs-sk_test.ts
+++ b/ct/modules/admin-task-runs-sk/admin-task-runs-sk_test.ts
@@ -2,7 +2,7 @@
 
 import sinon from 'sinon';
 import { expect } from 'chai';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { AdminTaskRunsSk } from './admin-task-runs-sk';
 
diff --git a/ct/modules/admin-tasks-sk/BUILD.bazel b/ct/modules/admin-tasks-sk/BUILD.bazel
index 1581a6e..ff78e09 100644
--- a/ct/modules/admin-tasks-sk/BUILD.bazel
+++ b/ct/modules/admin-tasks-sk/BUILD.bazel
@@ -11,14 +11,23 @@
         "//ct/modules/pageset-selector-sk",
         "//ct/modules/suggest-input-sk",
         "//ct/modules/task-repeater-sk",
+        "//elements-sk/modules/icons/cancel-icon-sk",
+        "//elements-sk/modules/icons/check-circle-icon-sk",
+        "//elements-sk/modules/icons/delete-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/select-sk",
+        "//elements-sk/modules/tabs-panel-sk",
+        "//elements-sk/modules/tabs-sk",
+        "//elements-sk/modules/toast-sk",
     ],
     ts_deps = [
         "//ct/modules/json:index_ts_lib",
         "//ct/modules:ctfe_utils_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "admin-tasks-sk.ts",
@@ -33,12 +42,12 @@
     sk_element_deps = [
         "//infra-sk/modules/theme-chooser-sk",
         ":admin-tasks-sk",
+        "//elements-sk/modules/error-toast-sk",
     ],
     ts_deps = [
         "//ct/modules/pageset-selector-sk:test_data_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "admin-tasks-sk-demo.ts",
 )
@@ -50,11 +59,11 @@
         ":admin-tasks-sk",
         "//ct/modules/json:index_ts_lib",
         "//ct/modules/pageset-selector-sk:test_data_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//@types/sinon",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
         "@npm//sinon",
     ],
diff --git a/ct/modules/admin-tasks-sk/admin-tasks-sk-demo.ts b/ct/modules/admin-tasks-sk/admin-tasks-sk-demo.ts
index f5b21d3..9ee35ab 100644
--- a/ct/modules/admin-tasks-sk/admin-tasks-sk-demo.ts
+++ b/ct/modules/admin-tasks-sk/admin-tasks-sk-demo.ts
@@ -1,9 +1,9 @@
 import './index';
 import '../../../infra-sk/modules/theme-chooser-sk';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { pageSets } from '../pageset-selector-sk/test_data';
-import 'elements-sk/error-toast-sk';
+import '../../../elements-sk/modules/error-toast-sk';
 
 fetchMock.config.overwriteRoutes = false;
 fetchMock.post('begin:/_/page_sets/', pageSets);
diff --git a/ct/modules/admin-tasks-sk/admin-tasks-sk.ts b/ct/modules/admin-tasks-sk/admin-tasks-sk.ts
index 9b899b0..c351f7c 100644
--- a/ct/modules/admin-tasks-sk/admin-tasks-sk.ts
+++ b/ct/modules/admin-tasks-sk/admin-tasks-sk.ts
@@ -2,22 +2,22 @@
  * @fileoverview The bulk of the Admin Tasks page of CT.
  */
 
-import 'elements-sk/icon/delete-icon-sk';
-import 'elements-sk/icon/cancel-icon-sk';
-import 'elements-sk/icon/check-circle-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/toast-sk';
-import 'elements-sk/tabs-sk';
-import 'elements-sk/tabs-panel-sk';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
+import '../../../elements-sk/modules/icons/cancel-icon-sk';
+import '../../../elements-sk/modules/icons/check-circle-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/toast-sk';
+import '../../../elements-sk/modules/tabs-sk';
+import '../../../elements-sk/modules/tabs-panel-sk';
 import '../suggest-input-sk';
 import '../input-sk';
 import '../pageset-selector-sk';
 import '../task-repeater-sk';
 
-import { $$, $ } from 'common-sk/modules/dom';
-import { define } from 'elements-sk/define';
-import 'elements-sk/select-sk';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { $$, $ } from '../../../infra-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
+import '../../../elements-sk/modules/select-sk';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html } from 'lit-html';
 
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
diff --git a/ct/modules/admin-tasks-sk/admin-tasks-sk_test.ts b/ct/modules/admin-tasks-sk/admin-tasks-sk_test.ts
index 366ddae..7be1cc9 100644
--- a/ct/modules/admin-tasks-sk/admin-tasks-sk_test.ts
+++ b/ct/modules/admin-tasks-sk/admin-tasks-sk_test.ts
@@ -1,7 +1,7 @@
 import './index';
 
 import sinon from 'sinon';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { expect } from 'chai';
 import { pageSets } from '../pageset-selector-sk/test_data';
diff --git a/ct/modules/chromium-analysis-runs-sk/BUILD.bazel b/ct/modules/chromium-analysis-runs-sk/BUILD.bazel
index 4393670..827669a 100644
--- a/ct/modules/chromium-analysis-runs-sk/BUILD.bazel
+++ b/ct/modules/chromium-analysis-runs-sk/BUILD.bazel
@@ -2,14 +2,26 @@
 
 sk_element(
     name = "chromium-analysis-runs-sk",
-    sk_element_deps = ["//ct/modules/pagination-sk"],
+    sk_element_deps = [
+        "//ct/modules/pagination-sk",
+        "//elements-sk/modules/icons/cancel-icon-sk",
+        "//elements-sk/modules/icons/check-circle-icon-sk",
+        "//elements-sk/modules/icons/delete-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/icons/mode-edit-icon-sk",
+        "//elements-sk/modules/icons/redo-icon-sk",
+        "//elements-sk/modules/toast-sk",
+    ],
     ts_deps = [
         "//ct/modules/json:index_ts_lib",
         "//ct/modules:ctfe_utils_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_srcs = [
         "chromium-analysis-runs-sk.ts",
@@ -27,8 +39,8 @@
     ],
     ts_deps = [
         ":test_data_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "chromium-analysis-runs-sk-demo.ts",
 )
@@ -39,11 +51,11 @@
     deps = [
         ":chromium-analysis-runs-sk",
         ":test_data_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//@types/sinon",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
         "@npm//sinon",
     ],
diff --git a/ct/modules/chromium-analysis-runs-sk/chromium-analysis-runs-sk-demo.ts b/ct/modules/chromium-analysis-runs-sk/chromium-analysis-runs-sk-demo.ts
index 4d83d81..2ed2249 100644
--- a/ct/modules/chromium-analysis-runs-sk/chromium-analysis-runs-sk-demo.ts
+++ b/ct/modules/chromium-analysis-runs-sk/chromium-analysis-runs-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 import '../../../infra-sk/modules/theme-chooser-sk';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import {
   tasksResult0, tasksResult1, tasksResult2,
diff --git a/ct/modules/chromium-analysis-runs-sk/chromium-analysis-runs-sk.ts b/ct/modules/chromium-analysis-runs-sk/chromium-analysis-runs-sk.ts
index 11b7f46..8d82e0b 100644
--- a/ct/modules/chromium-analysis-runs-sk/chromium-analysis-runs-sk.ts
+++ b/ct/modules/chromium-analysis-runs-sk/chromium-analysis-runs-sk.ts
@@ -2,20 +2,20 @@
  * @fileoverview The bulk of the Chromium Analysis Runs History page.
  */
 
-import 'elements-sk/icon/delete-icon-sk';
-import 'elements-sk/icon/redo-icon-sk';
-import 'elements-sk/icon/cancel-icon-sk';
-import 'elements-sk/icon/check-circle-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/icon/mode-edit-icon-sk';
-import 'elements-sk/toast-sk';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
+import '../../../elements-sk/modules/icons/redo-icon-sk';
+import '../../../elements-sk/modules/icons/cancel-icon-sk';
+import '../../../elements-sk/modules/icons/check-circle-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/icons/mode-edit-icon-sk';
+import '../../../elements-sk/modules/toast-sk';
 import '../pagination-sk';
 
-import { $$, DomReady } from 'common-sk/modules/dom';
-import { fromObject } from 'common-sk/modules/query';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { define } from 'elements-sk/define';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { $$, DomReady } from '../../../infra-sk/modules/dom';
+import { fromObject } from '../../../infra-sk/modules/query';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { define } from '../../../elements-sk/modules/define';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html } from 'lit-html';
 
 import { PaginationSk } from '../pagination-sk/pagination-sk';
diff --git a/ct/modules/chromium-analysis-runs-sk/chromium-analysis-runs-sk_test.ts b/ct/modules/chromium-analysis-runs-sk/chromium-analysis-runs-sk_test.ts
index 65d55e2..fe6c68a 100644
--- a/ct/modules/chromium-analysis-runs-sk/chromium-analysis-runs-sk_test.ts
+++ b/ct/modules/chromium-analysis-runs-sk/chromium-analysis-runs-sk_test.ts
@@ -2,7 +2,7 @@
 
 import sinon from 'sinon';
 import { expect } from 'chai';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { ChromiumAnalysisRunsSk } from './chromium-analysis-runs-sk';
 
diff --git a/ct/modules/chromium-analysis-sk/BUILD.bazel b/ct/modules/chromium-analysis-sk/BUILD.bazel
index a7fba9d..413d64c 100644
--- a/ct/modules/chromium-analysis-sk/BUILD.bazel
+++ b/ct/modules/chromium-analysis-sk/BUILD.bazel
@@ -9,14 +9,22 @@
         "//ct/modules/suggest-input-sk",
         "//ct/modules/task-priority-sk",
         "//ct/modules/task-repeater-sk",
+        "//elements-sk/modules/icons/cancel-icon-sk",
+        "//elements-sk/modules/icons/check-circle-icon-sk",
+        "//elements-sk/modules/icons/delete-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/select-sk",
+        "//elements-sk/modules/toast-sk",
     ],
     ts_deps = [
         "//ct/modules/json:index_ts_lib",
         "//ct/modules:ctfe_utils_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "chromium-analysis-sk.ts",
@@ -31,15 +39,15 @@
     sk_element_deps = [
         "//infra-sk/modules/theme-chooser-sk",
         ":chromium-analysis-sk",
+        "//elements-sk/modules/error-toast-sk",
     ],
     ts_deps = [
         "//ct/modules/pageset-selector-sk:test_data_ts_lib",
         "//ct/modules/patch-sk:test_data_ts_lib",
         "//ct/modules/task-priority-sk:test_data_ts_lib",
         ":test_data_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "chromium-analysis-sk-demo.ts",
 )
@@ -55,12 +63,12 @@
         "//ct/modules/pageset-selector-sk:test_data_ts_lib",
         "//ct/modules/patch-sk:test_data_ts_lib",
         "//ct/modules/task-priority-sk:test_data_ts_lib",
+        "//elements-sk/modules/select-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//@types/sinon",
         "@npm//chai",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//fetch-mock",
         "@npm//sinon",
     ],
diff --git a/ct/modules/chromium-analysis-sk/chromium-analysis-sk-demo.ts b/ct/modules/chromium-analysis-sk/chromium-analysis-sk-demo.ts
index 8fb1fb4..2613772 100644
--- a/ct/modules/chromium-analysis-sk/chromium-analysis-sk-demo.ts
+++ b/ct/modules/chromium-analysis-sk/chromium-analysis-sk-demo.ts
@@ -1,12 +1,12 @@
 import './index';
 import '../../../infra-sk/modules/theme-chooser-sk';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { benchmarks_platforms } from './test_data';
 import { pageSets } from '../pageset-selector-sk/test_data';
 import { priorities } from '../task-priority-sk/test_data';
 import { chromiumPatchResult } from '../patch-sk/test_data';
-import 'elements-sk/error-toast-sk';
+import '../../../elements-sk/modules/error-toast-sk';
 
 fetchMock.config.overwriteRoutes = false;
 fetchMock.post('begin:/_/page_sets/', pageSets);
diff --git a/ct/modules/chromium-analysis-sk/chromium-analysis-sk.ts b/ct/modules/chromium-analysis-sk/chromium-analysis-sk.ts
index dad1264..476171f 100644
--- a/ct/modules/chromium-analysis-sk/chromium-analysis-sk.ts
+++ b/ct/modules/chromium-analysis-sk/chromium-analysis-sk.ts
@@ -2,11 +2,11 @@
  * @fileoverview The bulk of the Analysis page of CT.
  */
 
-import 'elements-sk/icon/delete-icon-sk';
-import 'elements-sk/icon/cancel-icon-sk';
-import 'elements-sk/icon/check-circle-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/toast-sk';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
+import '../../../elements-sk/modules/icons/cancel-icon-sk';
+import '../../../elements-sk/modules/icons/check-circle-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/toast-sk';
 import '../suggest-input-sk';
 import '../input-sk';
 import '../patch-sk';
@@ -14,14 +14,14 @@
 import '../task-repeater-sk';
 import '../task-priority-sk';
 
-import { $$, $ } from 'common-sk/modules/dom';
-import { define } from 'elements-sk/define';
-import 'elements-sk/select-sk';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { $$, $ } from '../../../infra-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
+import '../../../elements-sk/modules/select-sk';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
 
-import { SelectSk } from 'elements-sk/select-sk/select-sk';
+import { SelectSk } from '../../../elements-sk/modules/select-sk/select-sk';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
 import { InputSk } from '../input-sk/input-sk';
diff --git a/ct/modules/chromium-analysis-sk/chromium-analysis-sk_test.ts b/ct/modules/chromium-analysis-sk/chromium-analysis-sk_test.ts
index c153a1d..1593de4 100644
--- a/ct/modules/chromium-analysis-sk/chromium-analysis-sk_test.ts
+++ b/ct/modules/chromium-analysis-sk/chromium-analysis-sk_test.ts
@@ -1,10 +1,10 @@
 import './index';
 
 import sinon from 'sinon';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { expect } from 'chai';
-import { SelectSk } from 'elements-sk/select-sk/select-sk';
+import { SelectSk } from '../../../elements-sk/modules/select-sk/select-sk';
 import { benchmarks_platforms } from './test_data';
 import { pageSets } from '../pageset-selector-sk/test_data';
 import { priorities } from '../task-priority-sk/test_data';
diff --git a/ct/modules/chromium-perf-runs-sk/BUILD.bazel b/ct/modules/chromium-perf-runs-sk/BUILD.bazel
index 2d7d57d..b369534 100644
--- a/ct/modules/chromium-perf-runs-sk/BUILD.bazel
+++ b/ct/modules/chromium-perf-runs-sk/BUILD.bazel
@@ -2,14 +2,26 @@
 
 sk_element(
     name = "chromium-perf-runs-sk",
-    sk_element_deps = ["//ct/modules/pagination-sk"],
+    sk_element_deps = [
+        "//ct/modules/pagination-sk",
+        "//elements-sk/modules/icons/cancel-icon-sk",
+        "//elements-sk/modules/icons/check-circle-icon-sk",
+        "//elements-sk/modules/icons/delete-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/icons/mode-edit-icon-sk",
+        "//elements-sk/modules/icons/redo-icon-sk",
+        "//elements-sk/modules/toast-sk",
+    ],
     ts_deps = [
         "//ct/modules/json:index_ts_lib",
         "//ct/modules:ctfe_utils_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_srcs = [
         "chromium-perf-runs-sk.ts",
@@ -27,8 +39,8 @@
     ],
     ts_deps = [
         ":test_data_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "chromium-perf-runs-sk-demo.ts",
 )
@@ -39,11 +51,11 @@
     deps = [
         ":chromium-perf-runs-sk",
         ":test_data_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//@types/sinon",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
         "@npm//sinon",
     ],
diff --git a/ct/modules/chromium-perf-runs-sk/chromium-perf-runs-sk-demo.ts b/ct/modules/chromium-perf-runs-sk/chromium-perf-runs-sk-demo.ts
index b94b0a3..bc8d754 100644
--- a/ct/modules/chromium-perf-runs-sk/chromium-perf-runs-sk-demo.ts
+++ b/ct/modules/chromium-perf-runs-sk/chromium-perf-runs-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 import '../../../infra-sk/modules/theme-chooser-sk';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import {
   tasksResult0, tasksResult1, tasksResult2,
diff --git a/ct/modules/chromium-perf-runs-sk/chromium-perf-runs-sk.ts b/ct/modules/chromium-perf-runs-sk/chromium-perf-runs-sk.ts
index ca589f0..1d9d899 100644
--- a/ct/modules/chromium-perf-runs-sk/chromium-perf-runs-sk.ts
+++ b/ct/modules/chromium-perf-runs-sk/chromium-perf-runs-sk.ts
@@ -2,20 +2,20 @@
  * @fileoverview The bulk of the Chromium Perf Runs History page.
  */
 
-import 'elements-sk/icon/delete-icon-sk';
-import 'elements-sk/icon/redo-icon-sk';
-import 'elements-sk/icon/cancel-icon-sk';
-import 'elements-sk/icon/check-circle-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/icon/mode-edit-icon-sk';
-import 'elements-sk/toast-sk';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
+import '../../../elements-sk/modules/icons/redo-icon-sk';
+import '../../../elements-sk/modules/icons/cancel-icon-sk';
+import '../../../elements-sk/modules/icons/check-circle-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/icons/mode-edit-icon-sk';
+import '../../../elements-sk/modules/toast-sk';
 import '../pagination-sk';
 
-import { $$, DomReady } from 'common-sk/modules/dom';
-import { fromObject } from 'common-sk/modules/query';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { define } from 'elements-sk/define';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { $$, DomReady } from '../../../infra-sk/modules/dom';
+import { fromObject } from '../../../infra-sk/modules/query';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { define } from '../../../elements-sk/modules/define';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html } from 'lit-html';
 
 import { PaginationSk } from '../pagination-sk/pagination-sk';
diff --git a/ct/modules/chromium-perf-runs-sk/chromium-perf-runs-sk_test.ts b/ct/modules/chromium-perf-runs-sk/chromium-perf-runs-sk_test.ts
index ba5d92a..1b77e90 100644
--- a/ct/modules/chromium-perf-runs-sk/chromium-perf-runs-sk_test.ts
+++ b/ct/modules/chromium-perf-runs-sk/chromium-perf-runs-sk_test.ts
@@ -2,7 +2,7 @@
 
 import sinon from 'sinon';
 import { expect } from 'chai';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { ChromiumPerfRunsSk } from './chromium-perf-runs-sk';
 
diff --git a/ct/modules/chromium-perf-sk/BUILD.bazel b/ct/modules/chromium-perf-sk/BUILD.bazel
index 55582a7..3bc9741 100644
--- a/ct/modules/chromium-perf-sk/BUILD.bazel
+++ b/ct/modules/chromium-perf-sk/BUILD.bazel
@@ -9,14 +9,22 @@
         "//ct/modules/suggest-input-sk",
         "//ct/modules/task-priority-sk",
         "//ct/modules/task-repeater-sk",
+        "//elements-sk/modules/icons/cancel-icon-sk",
+        "//elements-sk/modules/icons/check-circle-icon-sk",
+        "//elements-sk/modules/icons/delete-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/select-sk",
+        "//elements-sk/modules/toast-sk",
     ],
     ts_deps = [
         "//ct/modules/json:index_ts_lib",
         "//ct/modules:ctfe_utils_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "chromium-perf-sk.ts",
@@ -31,15 +39,15 @@
     sk_element_deps = [
         "//infra-sk/modules/theme-chooser-sk",
         ":chromium-perf-sk",
+        "//elements-sk/modules/error-toast-sk",
     ],
     ts_deps = [
         "//ct/modules/pageset-selector-sk:test_data_ts_lib",
         "//ct/modules/patch-sk:test_data_ts_lib",
         "//ct/modules/task-priority-sk:test_data_ts_lib",
         ":test_data_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "chromium-perf-sk-demo.ts",
 )
@@ -55,12 +63,12 @@
         "//ct/modules/pageset-selector-sk:test_data_ts_lib",
         "//ct/modules/patch-sk:test_data_ts_lib",
         "//ct/modules/task-priority-sk:test_data_ts_lib",
+        "//elements-sk/modules/select-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//@types/sinon",
         "@npm//chai",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//fetch-mock",
         "@npm//sinon",
     ],
diff --git a/ct/modules/chromium-perf-sk/chromium-perf-sk-demo.ts b/ct/modules/chromium-perf-sk/chromium-perf-sk-demo.ts
index b6de0ad..aa165061 100644
--- a/ct/modules/chromium-perf-sk/chromium-perf-sk-demo.ts
+++ b/ct/modules/chromium-perf-sk/chromium-perf-sk-demo.ts
@@ -1,12 +1,12 @@
 import './index';
 import '../../../infra-sk/modules/theme-chooser-sk';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { benchmarks_platforms } from './test_data';
 import { pageSets } from '../pageset-selector-sk/test_data';
 import { priorities } from '../task-priority-sk/test_data';
 import { chromiumPatchResult } from '../patch-sk/test_data';
-import 'elements-sk/error-toast-sk';
+import '../../../elements-sk/modules/error-toast-sk';
 
 fetchMock.config.overwriteRoutes = false;
 fetchMock.post('begin:/_/page_sets/', pageSets);
diff --git a/ct/modules/chromium-perf-sk/chromium-perf-sk.ts b/ct/modules/chromium-perf-sk/chromium-perf-sk.ts
index 9e8857d..d1de42c 100644
--- a/ct/modules/chromium-perf-sk/chromium-perf-sk.ts
+++ b/ct/modules/chromium-perf-sk/chromium-perf-sk.ts
@@ -2,11 +2,11 @@
  * @fileoverview The bulk of the Performance page of CT.
  */
 
-import 'elements-sk/icon/delete-icon-sk';
-import 'elements-sk/icon/cancel-icon-sk';
-import 'elements-sk/icon/check-circle-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/toast-sk';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
+import '../../../elements-sk/modules/icons/cancel-icon-sk';
+import '../../../elements-sk/modules/icons/check-circle-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/toast-sk';
 import '../suggest-input-sk';
 import '../input-sk';
 import '../patch-sk';
@@ -14,14 +14,14 @@
 import '../task-repeater-sk';
 import '../task-priority-sk';
 
-import { $$, $ } from 'common-sk/modules/dom';
-import { define } from 'elements-sk/define';
-import 'elements-sk/select-sk';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { $$, $ } from '../../../infra-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
+import '../../../elements-sk/modules/select-sk';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
 
-import { SelectSk } from 'elements-sk/select-sk/select-sk';
+import { SelectSk } from '../../../elements-sk/modules/select-sk/select-sk';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
 import { InputSk } from '../input-sk/input-sk';
diff --git a/ct/modules/chromium-perf-sk/chromium-perf-sk_test.ts b/ct/modules/chromium-perf-sk/chromium-perf-sk_test.ts
index 308b52d..ebee387 100644
--- a/ct/modules/chromium-perf-sk/chromium-perf-sk_test.ts
+++ b/ct/modules/chromium-perf-sk/chromium-perf-sk_test.ts
@@ -1,10 +1,10 @@
 import './index';
 
 import sinon from 'sinon';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { expect } from 'chai';
-import { SelectSk } from 'elements-sk/select-sk/select-sk';
+import { SelectSk } from '../../../elements-sk/modules/select-sk/select-sk';
 import { benchmarks_platforms } from './test_data';
 import { pageSets } from '../pageset-selector-sk/test_data';
 import { priorities } from '../task-priority-sk/test_data';
diff --git a/ct/modules/ct-scaffold-sk/BUILD.bazel b/ct/modules/ct-scaffold-sk/BUILD.bazel
index 8e56bd4..1764ada 100644
--- a/ct/modules/ct-scaffold-sk/BUILD.bazel
+++ b/ct/modules/ct-scaffold-sk/BUILD.bazel
@@ -5,20 +5,41 @@
     sass_deps = [
         "//ct/modules:style_sass_lib",
         "//ct/modules:colors_sass_lib",
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["ct-scaffold-sk.scss"],
     sk_element_deps = [
         "//infra-sk/modules/app-sk",
         "//infra-sk/modules/login-sk",
         "//infra-sk/modules/theme-chooser-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/assessment-icon-sk",
+        "//elements-sk/modules/icons/build-icon-sk",
+        "//elements-sk/modules/icons/cloud-icon-sk",
+        "//elements-sk/modules/icons/find-in-page-icon-sk",
+        "//elements-sk/modules/icons/folder-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/icons/history-icon-sk",
+        "//elements-sk/modules/icons/home-icon-sk",
+        "//elements-sk/modules/icons/label-icon-sk",
+        "//elements-sk/modules/icons/list-icon-sk",
+        "//elements-sk/modules/icons/person-icon-sk",
+        "//elements-sk/modules/icons/photo-camera-icon-sk",
+        "//elements-sk/modules/icons/reorder-icon-sk",
+        "//elements-sk/modules/icons/search-icon-sk",
+        "//elements-sk/modules/icons/sync-problem-icon-sk",
+        "//elements-sk/modules/icons/trending-up-icon-sk",
+        "//elements-sk/modules/icons/view-day-icon-sk",
+        "//elements-sk/modules/spinner-sk",
     ],
     ts_deps = [
         "//ct/modules:ctfe_utils_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_srcs = [
         "ct-scaffold-sk.ts",
@@ -39,11 +60,11 @@
     src = "ct-scaffold-sk_test.ts",
     deps = [
         ":ct-scaffold-sk",
+        "//elements-sk/modules/spinner-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/ct/modules/ct-scaffold-sk/ct-scaffold-sk.scss b/ct/modules/ct-scaffold-sk/ct-scaffold-sk.scss
index be65f7e..dd75a33 100644
--- a/ct/modules/ct-scaffold-sk/ct-scaffold-sk.scss
+++ b/ct/modules/ct-scaffold-sk/ct-scaffold-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 @import '../colors';
 @import '../style.scss';
 
diff --git a/ct/modules/ct-scaffold-sk/ct-scaffold-sk.ts b/ct/modules/ct-scaffold-sk/ct-scaffold-sk.ts
index a603c5b..c5a53a2 100644
--- a/ct/modules/ct-scaffold-sk/ct-scaffold-sk.ts
+++ b/ct/modules/ct-scaffold-sk/ct-scaffold-sk.ts
@@ -14,12 +14,12 @@
  *
  * @attr {boolean} testing_offline - If we should operate entirely in offline mode.
  */
-import { define } from 'elements-sk/define';
-import { fromObject } from 'common-sk/modules/query';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { define } from '../../../elements-sk/modules/define';
+import { fromObject } from '../../../infra-sk/modules/query';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html } from 'lit-html';
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import * as ctfe_utils from '../ctfe_utils';
 
@@ -27,29 +27,29 @@
 import '../../../infra-sk/modules/login-sk';
 import '../../../infra-sk/modules/theme-chooser-sk';
 
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/icon/assessment-icon-sk';
-import 'elements-sk/icon/find-in-page-icon-sk';
-import 'elements-sk/icon/folder-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/icon/home-icon-sk';
-import 'elements-sk/icon/label-icon-sk';
-import 'elements-sk/icon/photo-camera-icon-sk';
-import 'elements-sk/icon/list-icon-sk';
-import 'elements-sk/icon/search-icon-sk';
-import 'elements-sk/icon/sync-problem-icon-sk';
-import 'elements-sk/icon/view-day-icon-sk';
-import 'elements-sk/spinner-sk';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/icons/assessment-icon-sk';
+import '../../../elements-sk/modules/icons/find-in-page-icon-sk';
+import '../../../elements-sk/modules/icons/folder-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/icons/home-icon-sk';
+import '../../../elements-sk/modules/icons/label-icon-sk';
+import '../../../elements-sk/modules/icons/photo-camera-icon-sk';
+import '../../../elements-sk/modules/icons/list-icon-sk';
+import '../../../elements-sk/modules/icons/search-icon-sk';
+import '../../../elements-sk/modules/icons/sync-problem-icon-sk';
+import '../../../elements-sk/modules/icons/view-day-icon-sk';
+import '../../../elements-sk/modules/spinner-sk';
 
-import 'elements-sk/icon/trending-up-icon-sk';
+import '../../../elements-sk/modules/icons/trending-up-icon-sk';
 
-import 'elements-sk/icon/assessment-icon-sk';
-import 'elements-sk/icon/cloud-icon-sk';
+import '../../../elements-sk/modules/icons/assessment-icon-sk';
+import '../../../elements-sk/modules/icons/cloud-icon-sk';
 
-import 'elements-sk/icon/build-icon-sk';
-import 'elements-sk/icon/person-icon-sk';
-import 'elements-sk/icon/reorder-icon-sk';
-import 'elements-sk/icon/history-icon-sk';
+import '../../../elements-sk/modules/icons/build-icon-sk';
+import '../../../elements-sk/modules/icons/person-icon-sk';
+import '../../../elements-sk/modules/icons/reorder-icon-sk';
+import '../../../elements-sk/modules/icons/history-icon-sk';
 
 /**
  * Moves the elements from one NodeList to another NodeList.
diff --git a/ct/modules/ct-scaffold-sk/ct-scaffold-sk_test.ts b/ct/modules/ct-scaffold-sk/ct-scaffold-sk_test.ts
index 4d99171..8fb3946 100644
--- a/ct/modules/ct-scaffold-sk/ct-scaffold-sk_test.ts
+++ b/ct/modules/ct-scaffold-sk/ct-scaffold-sk_test.ts
@@ -2,9 +2,9 @@
 import fetchMock from 'fetch-mock';
 
 import { expect } from 'chai';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 // TODO(lovisolo,kjlubick): Add the below to infra-sk.
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
 import {
   eventPromise, setUpElementUnderTest,
 } from '../../../infra-sk/modules/test_util';
diff --git a/ct/modules/ctfe_utils.ts b/ct/modules/ctfe_utils.ts
index 8b40d6d..3802a8b 100644
--- a/ct/modules/ctfe_utils.ts
+++ b/ct/modules/ctfe_utils.ts
@@ -1,10 +1,10 @@
 /**
  * Utility javascript functions used across the different CT FE pages.
  */
-import { pad } from 'common-sk/modules/human';
-import { fromObject } from 'common-sk/modules/query';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { pad } from '../../infra-sk/modules/human';
+import { fromObject } from '../../infra-sk/modules/query';
+import { jsonOrThrow } from '../../infra-sk/modules/jsonOrThrow';
+import { errorMessage } from '../../elements-sk/modules/errorMessage';
 import { BenchmarksPlatformsResponse } from './json';
 
 /**
diff --git a/ct/modules/input-sk/BUILD.bazel b/ct/modules/input-sk/BUILD.bazel
index 7515351..3634cc0 100644
--- a/ct/modules/input-sk/BUILD.bazel
+++ b/ct/modules/input-sk/BUILD.bazel
@@ -13,9 +13,9 @@
     sass_srcs = ["input-sk.scss"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -31,6 +31,6 @@
         "//infra-sk/modules/theme-chooser-sk",
         ":input-sk",
     ],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "input-sk-demo.ts",
 )
diff --git a/ct/modules/input-sk/input-sk-demo.ts b/ct/modules/input-sk/input-sk-demo.ts
index e264d48..b5ceabc 100644
--- a/ct/modules/input-sk/input-sk-demo.ts
+++ b/ct/modules/input-sk/input-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 import '../../../infra-sk/modules/theme-chooser-sk';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { InputSk } from './input-sk';
 
 const si = document.createElement('input-sk') as InputSk;
diff --git a/ct/modules/input-sk/input-sk.ts b/ct/modules/input-sk/input-sk.ts
index f1c7915..dc84c98 100644
--- a/ct/modules/input-sk/input-sk.ts
+++ b/ct/modules/input-sk/input-sk.ts
@@ -9,8 +9,8 @@
  * @attr {string} textPrefix - Optional prefix to put before the input box.
  */
 
-import { $$ } from 'common-sk/modules/dom';
-import { define } from 'elements-sk/define';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ifDefined } from 'lit-html/directives/if-defined';
 
diff --git a/ct/modules/metrics-analysis-runs-sk/BUILD.bazel b/ct/modules/metrics-analysis-runs-sk/BUILD.bazel
index f2bcda7..4b6b1b0 100644
--- a/ct/modules/metrics-analysis-runs-sk/BUILD.bazel
+++ b/ct/modules/metrics-analysis-runs-sk/BUILD.bazel
@@ -7,14 +7,23 @@
 
 sk_element(
     name = "metrics-analysis-runs-sk",
-    sk_element_deps = ["//ct/modules/pagination-sk"],
+    sk_element_deps = [
+        "//ct/modules/pagination-sk",
+        "//elements-sk/modules/icons/delete-icon-sk",
+        "//elements-sk/modules/icons/mode-edit-icon-sk",
+        "//elements-sk/modules/icons/redo-icon-sk",
+        "//elements-sk/modules/toast-sk",
+    ],
     ts_deps = [
         "//ct/modules/json:index_ts_lib",
         "//ct/modules:ctfe_utils_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -32,8 +41,8 @@
     ],
     ts_deps = [
         ":test_data_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "metrics-analysis-runs-sk-demo.ts",
 )
@@ -44,11 +53,11 @@
     deps = [
         ":metrics-analysis-runs-sk",
         ":test_data_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//@types/sinon",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
         "@npm//sinon",
     ],
diff --git a/ct/modules/metrics-analysis-runs-sk/metrics-analysis-runs-sk-demo.ts b/ct/modules/metrics-analysis-runs-sk/metrics-analysis-runs-sk-demo.ts
index 7883b39..2e779b6 100644
--- a/ct/modules/metrics-analysis-runs-sk/metrics-analysis-runs-sk-demo.ts
+++ b/ct/modules/metrics-analysis-runs-sk/metrics-analysis-runs-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 import '../../../infra-sk/modules/theme-chooser-sk';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import {
   tasksResult0, tasksResult1, tasksResult2,
diff --git a/ct/modules/metrics-analysis-runs-sk/metrics-analysis-runs-sk.ts b/ct/modules/metrics-analysis-runs-sk/metrics-analysis-runs-sk.ts
index 55d6252..79b6ec2 100644
--- a/ct/modules/metrics-analysis-runs-sk/metrics-analysis-runs-sk.ts
+++ b/ct/modules/metrics-analysis-runs-sk/metrics-analysis-runs-sk.ts
@@ -2,17 +2,17 @@
  * @fileoverview The bulk of the Metrics Analysis Runs History page.
  */
 
-import 'elements-sk/icon/delete-icon-sk';
-import 'elements-sk/icon/redo-icon-sk';
-import 'elements-sk/icon/mode-edit-icon-sk';
-import 'elements-sk/toast-sk';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
+import '../../../elements-sk/modules/icons/redo-icon-sk';
+import '../../../elements-sk/modules/icons/mode-edit-icon-sk';
+import '../../../elements-sk/modules/toast-sk';
 import '../pagination-sk';
 
-import { $$, DomReady } from 'common-sk/modules/dom';
-import { fromObject } from 'common-sk/modules/query';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { define } from 'elements-sk/define';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { $$, DomReady } from '../../../infra-sk/modules/dom';
+import { fromObject } from '../../../infra-sk/modules/query';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { define } from '../../../elements-sk/modules/define';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html } from 'lit-html';
 
 import { PaginationSk } from '../pagination-sk/pagination-sk';
diff --git a/ct/modules/metrics-analysis-runs-sk/metrics-analysis-runs-sk_test.ts b/ct/modules/metrics-analysis-runs-sk/metrics-analysis-runs-sk_test.ts
index 4ec3b3a..bb3de7e 100644
--- a/ct/modules/metrics-analysis-runs-sk/metrics-analysis-runs-sk_test.ts
+++ b/ct/modules/metrics-analysis-runs-sk/metrics-analysis-runs-sk_test.ts
@@ -2,7 +2,7 @@
 
 import sinon from 'sinon';
 import { expect } from 'chai';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { MetricsAnalysisRunsSk } from './metrics-analysis-runs-sk';
 
diff --git a/ct/modules/metrics-analysis-sk/BUILD.bazel b/ct/modules/metrics-analysis-sk/BUILD.bazel
index c725f6b..3dd730c 100644
--- a/ct/modules/metrics-analysis-sk/BUILD.bazel
+++ b/ct/modules/metrics-analysis-sk/BUILD.bazel
@@ -13,14 +13,22 @@
         "//ct/modules/suggest-input-sk",
         "//ct/modules/task-priority-sk",
         "//ct/modules/task-repeater-sk",
+        "//elements-sk/modules/icons/cancel-icon-sk",
+        "//elements-sk/modules/icons/check-circle-icon-sk",
+        "//elements-sk/modules/icons/delete-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/select-sk",
+        "//elements-sk/modules/toast-sk",
     ],
     ts_deps = [
         "//ct/modules/json:index_ts_lib",
         "//ct/modules:ctfe_utils_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -35,13 +43,13 @@
     sk_element_deps = [
         "//infra-sk/modules/theme-chooser-sk",
         ":metrics-analysis-sk",
+        "//elements-sk/modules/error-toast-sk",
     ],
     ts_deps = [
         "//ct/modules/patch-sk:test_data_ts_lib",
         "//ct/modules/task-priority-sk:test_data_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "metrics-analysis-sk-demo.ts",
 )
@@ -55,11 +63,11 @@
         "//ct/modules/json:index_ts_lib",
         "//ct/modules/patch-sk:test_data_ts_lib",
         "//ct/modules/task-priority-sk:test_data_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//@types/sinon",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
         "@npm//sinon",
     ],
diff --git a/ct/modules/metrics-analysis-sk/metrics-analysis-sk-demo.ts b/ct/modules/metrics-analysis-sk/metrics-analysis-sk-demo.ts
index e2fbb88..85f0e18 100644
--- a/ct/modules/metrics-analysis-sk/metrics-analysis-sk-demo.ts
+++ b/ct/modules/metrics-analysis-sk/metrics-analysis-sk-demo.ts
@@ -1,10 +1,10 @@
 import './index';
 import '../../../infra-sk/modules/theme-chooser-sk';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { priorities } from '../task-priority-sk/test_data';
 import { chromiumPatchResult } from '../patch-sk/test_data';
-import 'elements-sk/error-toast-sk';
+import '../../../elements-sk/modules/error-toast-sk';
 
 fetchMock.config.overwriteRoutes = false;
 fetchMock.get('begin:/_/task_priorities/', priorities);
diff --git a/ct/modules/metrics-analysis-sk/metrics-analysis-sk.ts b/ct/modules/metrics-analysis-sk/metrics-analysis-sk.ts
index 729ead8..63db7ea 100644
--- a/ct/modules/metrics-analysis-sk/metrics-analysis-sk.ts
+++ b/ct/modules/metrics-analysis-sk/metrics-analysis-sk.ts
@@ -2,23 +2,23 @@
  * @fileoverview The bulk of the Metrics Analysis page of CT.
  */
 
-import 'elements-sk/icon/delete-icon-sk';
-import 'elements-sk/icon/cancel-icon-sk';
-import 'elements-sk/icon/check-circle-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/toast-sk';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
+import '../../../elements-sk/modules/icons/cancel-icon-sk';
+import '../../../elements-sk/modules/icons/check-circle-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/toast-sk';
 import '../suggest-input-sk';
 import '../input-sk';
 import '../patch-sk';
 import '../task-repeater-sk';
 import '../task-priority-sk';
 
-import { $$, $ } from 'common-sk/modules/dom';
-import { define } from 'elements-sk/define';
-import 'elements-sk/select-sk';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { $$, $ } from '../../../infra-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
+import '../../../elements-sk/modules/select-sk';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
 
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
diff --git a/ct/modules/metrics-analysis-sk/metrics-analysis-sk_test.ts b/ct/modules/metrics-analysis-sk/metrics-analysis-sk_test.ts
index b84fe1b..1aa03b6 100644
--- a/ct/modules/metrics-analysis-sk/metrics-analysis-sk_test.ts
+++ b/ct/modules/metrics-analysis-sk/metrics-analysis-sk_test.ts
@@ -1,7 +1,7 @@
 import './index';
 
 import sinon from 'sinon';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { expect } from 'chai';
 import { priorities } from '../task-priority-sk/test_data';
diff --git a/ct/modules/pageset-selector-sk/BUILD.bazel b/ct/modules/pageset-selector-sk/BUILD.bazel
index 07c2b69..01a938d 100644
--- a/ct/modules/pageset-selector-sk/BUILD.bazel
+++ b/ct/modules/pageset-selector-sk/BUILD.bazel
@@ -7,13 +7,18 @@
 
 sk_element(
     name = "pageset-selector-sk",
-    sk_element_deps = ["//infra-sk/modules/expandable-textarea-sk"],
+    sk_element_deps = [
+        "//infra-sk/modules/expandable-textarea-sk",
+        "//elements-sk/modules/select-sk",
+    ],
     ts_deps = [
         "//ct/modules/json:index_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -31,8 +36,8 @@
     ],
     ts_deps = [
         ":test_data_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "pageset-selector-sk-demo.ts",
 )
@@ -43,11 +48,11 @@
     deps = [
         ":pageset-selector-sk",
         ":test_data_ts_lib",
+        "//elements-sk/modules/select-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/ct/modules/pageset-selector-sk/pageset-selector-sk-demo.ts b/ct/modules/pageset-selector-sk/pageset-selector-sk-demo.ts
index b1117ed..f15342f 100644
--- a/ct/modules/pageset-selector-sk/pageset-selector-sk-demo.ts
+++ b/ct/modules/pageset-selector-sk/pageset-selector-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 import '../../../infra-sk/modules/theme-chooser-sk';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { pageSets } from './test_data';
 
diff --git a/ct/modules/pageset-selector-sk/pageset-selector-sk.ts b/ct/modules/pageset-selector-sk/pageset-selector-sk.ts
index c92c915..ccc9320 100644
--- a/ct/modules/pageset-selector-sk/pageset-selector-sk.ts
+++ b/ct/modules/pageset-selector-sk/pageset-selector-sk.ts
@@ -7,15 +7,15 @@
  * the option to input custom webpages.
  */
 
-import { $$ } from 'common-sk/modules/dom';
-import { define } from 'elements-sk/define';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { errorMessage } from 'elements-sk/errorMessage';
-import { SelectSk } from 'elements-sk/select-sk/select-sk';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
+import { SelectSk } from '../../../elements-sk/modules/select-sk/select-sk';
 
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
-import 'elements-sk/select-sk';
+import '../../../elements-sk/modules/select-sk';
 import '../../../infra-sk/modules/expandable-textarea-sk';
 
 import {
diff --git a/ct/modules/pageset-selector-sk/pageset-selector-sk_test.ts b/ct/modules/pageset-selector-sk/pageset-selector-sk_test.ts
index f236fa9..f268fad 100644
--- a/ct/modules/pageset-selector-sk/pageset-selector-sk_test.ts
+++ b/ct/modules/pageset-selector-sk/pageset-selector-sk_test.ts
@@ -1,9 +1,9 @@
 import './index';
 
 import { expect } from 'chai';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
-import { SelectSk } from 'elements-sk/select-sk/select-sk';
+import { SelectSk } from '../../../elements-sk/modules/select-sk/select-sk';
 import { pageSets } from './test_data';
 import { setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
 import { PagesetSelectorSk } from './pageset-selector-sk';
diff --git a/ct/modules/pagination-sk/BUILD.bazel b/ct/modules/pagination-sk/BUILD.bazel
index 24b9e9b..0c201d1 100644
--- a/ct/modules/pagination-sk/BUILD.bazel
+++ b/ct/modules/pagination-sk/BUILD.bazel
@@ -9,13 +9,20 @@
     name = "pagination-sk",
     sass_deps = [
         "//ct/modules:colors_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
     ],
     sass_srcs = ["pagination-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/icons/chevron-left-icon-sk",
+        "//elements-sk/modules/icons/chevron-right-icon-sk",
+        "//elements-sk/modules/icons/first-page-icon-sk",
+        "//elements-sk/modules/icons/last-page-icon-sk",
+    ],
     ts_deps = [
         "//ct/modules/json:index_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -31,7 +38,7 @@
         "//infra-sk/modules/theme-chooser-sk",
         ":pagination-sk",
     ],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "pagination-sk-demo.ts",
 )
 
@@ -41,10 +48,10 @@
     deps = [
         ":pagination-sk",
         "//ct/modules/json:index_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
 
diff --git a/ct/modules/pagination-sk/pagination-sk-demo.ts b/ct/modules/pagination-sk/pagination-sk-demo.ts
index 0ca7f35..f2eda2f 100644
--- a/ct/modules/pagination-sk/pagination-sk-demo.ts
+++ b/ct/modules/pagination-sk/pagination-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 import '../../../infra-sk/modules/theme-chooser-sk';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { PaginationSk } from './pagination-sk';
 
 const p = document.createElement('pagination-sk') as PaginationSk;
diff --git a/ct/modules/pagination-sk/pagination-sk.scss b/ct/modules/pagination-sk/pagination-sk.scss
index 1dc0920..e4f5a61 100644
--- a/ct/modules/pagination-sk/pagination-sk.scss
+++ b/ct/modules/pagination-sk/pagination-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../colors';
 
 pagination-sk {
diff --git a/ct/modules/pagination-sk/pagination-sk.ts b/ct/modules/pagination-sk/pagination-sk.ts
index 79c1a91..e00a3da 100644
--- a/ct/modules/pagination-sk/pagination-sk.ts
+++ b/ct/modules/pagination-sk/pagination-sk.ts
@@ -2,13 +2,12 @@
  * @fileoverview A custom element that supports a pagination.
  */
 
-import 'elements-sk/icon/first-page-icon-sk';
-import 'elements-sk/icon/last-page-icon-sk';
-import 'elements-sk/icon/chevron-left-icon-sk';
-import 'elements-sk/icon/chevron-right-icon-sk';
-import 'elements-sk/styles/buttons';
+import '../../../elements-sk/modules/icons/first-page-icon-sk';
+import '../../../elements-sk/modules/icons/last-page-icon-sk';
+import '../../../elements-sk/modules/icons/chevron-left-icon-sk';
+import '../../../elements-sk/modules/icons/chevron-right-icon-sk';
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
diff --git a/ct/modules/pagination-sk/pagination-sk_test.ts b/ct/modules/pagination-sk/pagination-sk_test.ts
index 8ed2c9d..5a17cf9 100644
--- a/ct/modules/pagination-sk/pagination-sk_test.ts
+++ b/ct/modules/pagination-sk/pagination-sk_test.ts
@@ -1,7 +1,7 @@
 import './index';
 
 import { expect } from 'chai';
-import { $ } from 'common-sk/modules/dom';
+import { $ } from '../../../infra-sk/modules/dom';
 import { PaginationSk } from './pagination-sk';
 
 import {
diff --git a/ct/modules/patch-sk/BUILD.bazel b/ct/modules/patch-sk/BUILD.bazel
index 82c23e1..b315df9 100644
--- a/ct/modules/patch-sk/BUILD.bazel
+++ b/ct/modules/patch-sk/BUILD.bazel
@@ -15,14 +15,23 @@
         "//ct/modules/input-sk",
         "//infra-sk/modules/expandable-textarea-sk",
         "//ct/modules/pageset-selector-sk",
+        "//elements-sk/modules/icons/cancel-icon-sk",
+        "//elements-sk/modules/icons/check-circle-icon-sk",
+        "//elements-sk/modules/icons/delete-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/spinner-sk",
+        "//elements-sk/modules/toast-sk",
     ],
     ts_deps = [
         "//ct/modules/json:index_ts_lib",
         "//ct/modules:ctfe_utils_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -40,8 +49,8 @@
     ],
     ts_deps = [
         ":test_data_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "patch-sk-demo.ts",
 )
@@ -53,10 +62,10 @@
         ":patch-sk",
         ":test_data_ts_lib",
         "//ct/modules/input-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/ct/modules/patch-sk/patch-sk-demo.ts b/ct/modules/patch-sk/patch-sk-demo.ts
index 43d3bcc..18ce690 100644
--- a/ct/modules/patch-sk/patch-sk-demo.ts
+++ b/ct/modules/patch-sk/patch-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 import '../../../infra-sk/modules/theme-chooser-sk';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import {
   chromiumPatchResult,
diff --git a/ct/modules/patch-sk/patch-sk.ts b/ct/modules/patch-sk/patch-sk.ts
index 890b3ce..73636e9 100644
--- a/ct/modules/patch-sk/patch-sk.ts
+++ b/ct/modules/patch-sk/patch-sk.ts
@@ -12,20 +12,20 @@
  * new CL patchset, or manual editing of the patch field.
  */
 
-import 'elements-sk/icon/delete-icon-sk';
-import 'elements-sk/icon/cancel-icon-sk';
-import 'elements-sk/icon/check-circle-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/spinner-sk';
-import 'elements-sk/toast-sk';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
+import '../../../elements-sk/modules/icons/cancel-icon-sk';
+import '../../../elements-sk/modules/icons/check-circle-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/spinner-sk';
+import '../../../elements-sk/modules/toast-sk';
 import '../../../infra-sk/modules/expandable-textarea-sk';
 
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
-import { $$ } from 'common-sk/modules/dom';
-import { fromObject } from 'common-sk/modules/query';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { define } from 'elements-sk/define';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { fromObject } from '../../../infra-sk/modules/query';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { define } from '../../../elements-sk/modules/define';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html } from 'lit-html';
 import * as ctfe_utils from '../ctfe_utils';
 
diff --git a/ct/modules/patch-sk/patch-sk_test.ts b/ct/modules/patch-sk/patch-sk_test.ts
index ade52cb..ac32711 100644
--- a/ct/modules/patch-sk/patch-sk_test.ts
+++ b/ct/modules/patch-sk/patch-sk_test.ts
@@ -1,7 +1,7 @@
 import './index';
 
 import { expect } from 'chai';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 
 import { chromiumPatchResult } from './test_data';
diff --git a/ct/modules/runs-history-summary-sk/BUILD.bazel b/ct/modules/runs-history-summary-sk/BUILD.bazel
index 4b8e3a7..17a0a78 100644
--- a/ct/modules/runs-history-summary-sk/BUILD.bazel
+++ b/ct/modules/runs-history-summary-sk/BUILD.bazel
@@ -7,13 +7,19 @@
 
 sk_element(
     name = "runs-history-summary-sk",
+    sass_deps = ["//elements-sk/modules/styles:buttons_sass_lib"],
+    sass_srcs = ["runs-history-summary-sk.scss"],
+    sk_element_deps = ["//elements-sk/modules/tabs-sk"],
     ts_deps = [
         "//ct/modules/json:index_ts_lib",
         "//ct/modules:ctfe_utils_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -31,8 +37,8 @@
     ],
     ts_deps = [
         ":test_data_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "runs-history-summary-sk-demo.ts",
 )
@@ -43,10 +49,10 @@
     deps = [
         ":runs-history-summary-sk",
         ":test_data_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/ct/modules/runs-history-summary-sk/runs-history-summary-sk-demo.ts b/ct/modules/runs-history-summary-sk/runs-history-summary-sk-demo.ts
index c68eadb..ef4ae3c 100644
--- a/ct/modules/runs-history-summary-sk/runs-history-summary-sk-demo.ts
+++ b/ct/modules/runs-history-summary-sk/runs-history-summary-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 import '../../../infra-sk/modules/theme-chooser-sk';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import {
   summaryResults3, summaryResults5, summaryResults15, summaryResults33,
diff --git a/ct/modules/runs-history-summary-sk/runs-history-summary-sk.scss b/ct/modules/runs-history-summary-sk/runs-history-summary-sk.scss
new file mode 100644
index 0000000..c7d1c55
--- /dev/null
+++ b/ct/modules/runs-history-summary-sk/runs-history-summary-sk.scss
@@ -0,0 +1 @@
+@import '../../../elements-sk/modules/styles/buttons';
diff --git a/ct/modules/runs-history-summary-sk/runs-history-summary-sk.ts b/ct/modules/runs-history-summary-sk/runs-history-summary-sk.ts
index 84825a6..5d70899 100644
--- a/ct/modules/runs-history-summary-sk/runs-history-summary-sk.ts
+++ b/ct/modules/runs-history-summary-sk/runs-history-summary-sk.ts
@@ -2,14 +2,13 @@
  * @fileoverview The bulk of the Runs History page.
  */
 
-import 'elements-sk/tabs-sk';
-import 'elements-sk/styles/buttons';
+import '../../../elements-sk/modules/tabs-sk';
 
-import { DomReady } from 'common-sk/modules/dom';
-import { fromObject } from 'common-sk/modules/query';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { define } from 'elements-sk/define';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { DomReady } from '../../../infra-sk/modules/dom';
+import { fromObject } from '../../../infra-sk/modules/query';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { define } from '../../../elements-sk/modules/define';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html } from 'lit-html';
 
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
diff --git a/ct/modules/runs-history-summary-sk/runs-history-summary-sk_test.ts b/ct/modules/runs-history-summary-sk/runs-history-summary-sk_test.ts
index b2d50c2..9d6c58b 100644
--- a/ct/modules/runs-history-summary-sk/runs-history-summary-sk_test.ts
+++ b/ct/modules/runs-history-summary-sk/runs-history-summary-sk_test.ts
@@ -1,7 +1,7 @@
 import './index';
 
 import { expect } from 'chai';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 
 import {
diff --git a/ct/modules/suggest-input-sk/BUILD.bazel b/ct/modules/suggest-input-sk/BUILD.bazel
index 2b828d9..a08ebf1 100644
--- a/ct/modules/suggest-input-sk/BUILD.bazel
+++ b/ct/modules/suggest-input-sk/BUILD.bazel
@@ -13,9 +13,9 @@
     sass_srcs = ["suggest-input-sk.scss"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -33,7 +33,7 @@
     ],
     ts_deps = [
         ":test_data_ts_lib",
-        "@npm//common-sk",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "suggest-input-sk-demo.ts",
 )
@@ -55,10 +55,10 @@
     deps = [
         ":suggest-input-sk",
         ":test_data_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
 
diff --git a/ct/modules/suggest-input-sk/suggest-input-sk-demo.ts b/ct/modules/suggest-input-sk/suggest-input-sk-demo.ts
index 02af3f5..0f730dd 100644
--- a/ct/modules/suggest-input-sk/suggest-input-sk-demo.ts
+++ b/ct/modules/suggest-input-sk/suggest-input-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 import '../../../infra-sk/modules/theme-chooser-sk';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { languageList } from './test_data';
 import { SuggestInputSk } from './suggest-input-sk';
 
diff --git a/ct/modules/suggest-input-sk/suggest-input-sk.ts b/ct/modules/suggest-input-sk/suggest-input-sk.ts
index 6121134..227fe50 100644
--- a/ct/modules/suggest-input-sk/suggest-input-sk.ts
+++ b/ct/modules/suggest-input-sk/suggest-input-sk.ts
@@ -10,8 +10,8 @@
  * committed. Event is of the form { value: <newValue> }
  */
 
-import { $$ } from 'common-sk/modules/dom';
-import { define } from 'elements-sk/define';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
diff --git a/ct/modules/suggest-input-sk/suggest-input-sk_test.ts b/ct/modules/suggest-input-sk/suggest-input-sk_test.ts
index fcc7d3f..3972394 100644
--- a/ct/modules/suggest-input-sk/suggest-input-sk_test.ts
+++ b/ct/modules/suggest-input-sk/suggest-input-sk_test.ts
@@ -1,7 +1,7 @@
 import './index';
 
 import { expect } from 'chai';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 
 import { languageList } from './test_data';
 import { SuggestInputSk } from './suggest-input-sk';
diff --git a/ct/modules/task-priority-sk/BUILD.bazel b/ct/modules/task-priority-sk/BUILD.bazel
index 240c248..853431d 100644
--- a/ct/modules/task-priority-sk/BUILD.bazel
+++ b/ct/modules/task-priority-sk/BUILD.bazel
@@ -11,12 +11,15 @@
         "//ct/modules:colors_sass_lib",
     ],
     sass_srcs = ["task-priority-sk.scss"],
+    sk_element_deps = ["//elements-sk/modules/select-sk"],
     ts_deps = [
         "//ct/modules/json:index_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -34,8 +37,8 @@
     ],
     ts_deps = [
         ":test_data_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "task-priority-sk-demo.ts",
 )
@@ -46,11 +49,11 @@
     deps = [
         ":task-priority-sk",
         ":test_data_ts_lib",
+        "//elements-sk/modules/select-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/ct/modules/task-priority-sk/task-priority-sk-demo.ts b/ct/modules/task-priority-sk/task-priority-sk-demo.ts
index 3dd421c..25e1884 100644
--- a/ct/modules/task-priority-sk/task-priority-sk-demo.ts
+++ b/ct/modules/task-priority-sk/task-priority-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 import '../../../infra-sk/modules/theme-chooser-sk';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { priorities } from './test_data';
 
diff --git a/ct/modules/task-priority-sk/task-priority-sk.ts b/ct/modules/task-priority-sk/task-priority-sk.ts
index 2f9e506..4e1dc14 100644
--- a/ct/modules/task-priority-sk/task-priority-sk.ts
+++ b/ct/modules/task-priority-sk/task-priority-sk.ts
@@ -4,16 +4,16 @@
  * task's priority.
  */
 
-import { $$ } from 'common-sk/modules/dom';
-import { define } from 'elements-sk/define';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 
-import { SelectSk } from 'elements-sk/select-sk/select-sk';
+import { SelectSk } from '../../../elements-sk/modules/select-sk/select-sk';
 
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
-import 'elements-sk/select-sk';
+import '../../../elements-sk/modules/select-sk';
 
 import {
   TaskPrioritiesResponse,
diff --git a/ct/modules/task-priority-sk/task-priority-sk_test.ts b/ct/modules/task-priority-sk/task-priority-sk_test.ts
index 4f379fd..dd1ad95 100644
--- a/ct/modules/task-priority-sk/task-priority-sk_test.ts
+++ b/ct/modules/task-priority-sk/task-priority-sk_test.ts
@@ -1,9 +1,9 @@
 import './index';
 
 import { expect } from 'chai';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
-import { SelectSk } from 'elements-sk/select-sk/select-sk';
+import { SelectSk } from '../../../elements-sk/modules/select-sk/select-sk';
 import { priorities } from './test_data';
 import { setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
 import { TaskPrioritySk } from './task-priority-sk';
diff --git a/ct/modules/task-queue-sk/BUILD.bazel b/ct/modules/task-queue-sk/BUILD.bazel
index bcde0e5..a2ce3ad 100644
--- a/ct/modules/task-queue-sk/BUILD.bazel
+++ b/ct/modules/task-queue-sk/BUILD.bazel
@@ -7,13 +7,23 @@
 
 sk_element(
     name = "task-queue-sk",
+    sk_element_deps = [
+        "//elements-sk/modules/icons/cancel-icon-sk",
+        "//elements-sk/modules/icons/check-circle-icon-sk",
+        "//elements-sk/modules/icons/delete-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/toast-sk",
+    ],
     ts_deps = [
         "//ct/modules/json:index_ts_lib",
         "//ct/modules:ctfe_utils_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -31,8 +41,8 @@
     ],
     ts_deps = [
         ":test_data_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "task-queue-sk-demo.ts",
 )
@@ -55,11 +65,11 @@
         ":task-queue-sk",
         ":test_data_ts_lib",
         "//ct/modules/json:index_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//@types/sinon",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
         "@npm//sinon",
     ],
diff --git a/ct/modules/task-queue-sk/task-queue-sk-demo.ts b/ct/modules/task-queue-sk/task-queue-sk-demo.ts
index 1c8fec0..91c0676 100644
--- a/ct/modules/task-queue-sk/task-queue-sk-demo.ts
+++ b/ct/modules/task-queue-sk/task-queue-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 import '../../../infra-sk/modules/theme-chooser-sk';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import {
   singleResultCanDelete, singleResultNoDelete, resultSetTwoItems,
diff --git a/ct/modules/task-queue-sk/task-queue-sk.ts b/ct/modules/task-queue-sk/task-queue-sk.ts
index e52c339..0a37161 100644
--- a/ct/modules/task-queue-sk/task-queue-sk.ts
+++ b/ct/modules/task-queue-sk/task-queue-sk.ts
@@ -3,17 +3,17 @@
  * displays it as a table.
  */
 
-import 'elements-sk/icon/delete-icon-sk';
-import 'elements-sk/icon/cancel-icon-sk';
-import 'elements-sk/icon/check-circle-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/toast-sk';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
+import '../../../elements-sk/modules/icons/cancel-icon-sk';
+import '../../../elements-sk/modules/icons/check-circle-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/toast-sk';
 
-import { $$, DomReady } from 'common-sk/modules/dom';
-import { fromObject } from 'common-sk/modules/query';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { define } from 'elements-sk/define';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { $$, DomReady } from '../../../infra-sk/modules/dom';
+import { fromObject } from '../../../infra-sk/modules/query';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { define } from '../../../elements-sk/modules/define';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html } from 'lit-html';
 
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
diff --git a/ct/modules/task-queue-sk/task-queue-sk_test.ts b/ct/modules/task-queue-sk/task-queue-sk_test.ts
index c942c4c..5acc7c3 100644
--- a/ct/modules/task-queue-sk/task-queue-sk_test.ts
+++ b/ct/modules/task-queue-sk/task-queue-sk_test.ts
@@ -2,7 +2,7 @@
 
 import sinon from 'sinon';
 import { expect } from 'chai';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 
 import { GetTasksResponse } from '../json';
diff --git a/ct/modules/task-repeater-sk/BUILD.bazel b/ct/modules/task-repeater-sk/BUILD.bazel
index 01d9660..86cbf69 100644
--- a/ct/modules/task-repeater-sk/BUILD.bazel
+++ b/ct/modules/task-repeater-sk/BUILD.bazel
@@ -11,11 +11,12 @@
         "//ct/modules:colors_sass_lib",
     ],
     sass_srcs = ["task-repeater-sk.scss"],
+    sk_element_deps = ["//elements-sk/modules/select-sk"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -31,7 +32,7 @@
         "//infra-sk/modules/theme-chooser-sk",
         ":task-repeater-sk",
     ],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "task-repeater-sk-demo.ts",
 )
 
@@ -40,10 +41,10 @@
     src = "task-repeater-sk_test.ts",
     deps = [
         ":task-repeater-sk",
+        "//elements-sk/modules/select-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
-        "@npm//elements-sk",
     ],
 )
diff --git a/ct/modules/task-repeater-sk/task-repeater-sk-demo.ts b/ct/modules/task-repeater-sk/task-repeater-sk-demo.ts
index 583e648..b770344 100644
--- a/ct/modules/task-repeater-sk/task-repeater-sk-demo.ts
+++ b/ct/modules/task-repeater-sk/task-repeater-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 import '../../../infra-sk/modules/theme-chooser-sk';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { TaskRepeaterSk } from './task-repeater-sk';
 
 const taskRepeater = document.createElement('task-repeater-sk') as TaskRepeaterSk;
diff --git a/ct/modules/task-repeater-sk/task-repeater-sk.ts b/ct/modules/task-repeater-sk/task-repeater-sk.ts
index cd5bcfe..ac6e0cb 100644
--- a/ct/modules/task-repeater-sk/task-repeater-sk.ts
+++ b/ct/modules/task-repeater-sk/task-repeater-sk.ts
@@ -5,13 +5,13 @@
  * or weekly.
  */
 
-import { $$ } from 'common-sk/modules/dom';
-import { define } from 'elements-sk/define';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 
-import { SelectSk } from 'elements-sk/select-sk/select-sk';
+import { SelectSk } from '../../../elements-sk/modules/select-sk/select-sk';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
-import 'elements-sk/select-sk';
+import '../../../elements-sk/modules/select-sk';
 
 const frequencies = [
   { num: '0', desc: 'Never repeat' },
diff --git a/ct/modules/task-repeater-sk/task-repeater-sk_test.ts b/ct/modules/task-repeater-sk/task-repeater-sk_test.ts
index c59b11a..1dc43f1 100644
--- a/ct/modules/task-repeater-sk/task-repeater-sk_test.ts
+++ b/ct/modules/task-repeater-sk/task-repeater-sk_test.ts
@@ -1,8 +1,8 @@
 import './index';
 
 import { expect } from 'chai';
-import { $, $$ } from 'common-sk/modules/dom';
-import { SelectSk } from 'elements-sk/select-sk/select-sk';
+import { $, $$ } from '../../../infra-sk/modules/dom';
+import { SelectSk } from '../../../elements-sk/modules/select-sk/select-sk';
 import { TaskRepeaterSk } from './task-repeater-sk';
 import { setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
 
diff --git a/debugger-app/modules/android-layers-sk/BUILD.bazel b/debugger-app/modules/android-layers-sk/BUILD.bazel
index 9d3269d..6b23721 100644
--- a/debugger-app/modules/android-layers-sk/BUILD.bazel
+++ b/debugger-app/modules/android-layers-sk/BUILD.bazel
@@ -11,8 +11,8 @@
     ts_deps = [
         "//debugger-app/modules:debugger_ts_lib",
         "//debugger-app/modules:events_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "android-layers-sk.ts",
diff --git a/debugger-app/modules/android-layers-sk/android-layers-sk.ts b/debugger-app/modules/android-layers-sk/android-layers-sk.ts
index dd93408..41cec8e 100644
--- a/debugger-app/modules/android-layers-sk/android-layers-sk.ts
+++ b/debugger-app/modules/android-layers-sk/android-layers-sk.ts
@@ -2,7 +2,7 @@
  * @module modules/android-layers-sk
  * @description <h2><code>android-layers-sk</code></h2>
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementDocSk } from '../element-doc-sk/element-doc-sk';
 import { LayerInfo } from '../commands-sk/commands-sk';
diff --git a/debugger-app/modules/commands-sk/BUILD.bazel b/debugger-app/modules/commands-sk/BUILD.bazel
index f816439..713b9cc 100644
--- a/debugger-app/modules/commands-sk/BUILD.bazel
+++ b/debugger-app/modules/commands-sk/BUILD.bazel
@@ -9,13 +9,16 @@
     sk_element_deps = [
         "//debugger-app/modules/element-doc-sk",
         "//debugger-app/modules/play-sk",
+        "//elements-sk/modules/icons/content-copy-icon-sk",
+        "//elements-sk/modules/icons/image-icon-sk",
+        "//elements-sk/modules/icons/save-icon-sk",
     ],
     ts_deps = [
         "//debugger-app/modules:debugger_ts_lib",
         "//debugger-app/modules:default-map_ts_lib",
         "//debugger-app/modules:events_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "commands-sk.ts",
@@ -33,7 +36,7 @@
     ],
     ts_deps = [
         ":test-data_ts_lib",
-        "@npm//common-sk",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "commands-sk-demo.ts",
 )
diff --git a/debugger-app/modules/commands-sk/commands-sk-demo.ts b/debugger-app/modules/commands-sk/commands-sk-demo.ts
index 233f49d..ebb2e61 100644
--- a/debugger-app/modules/commands-sk/commands-sk-demo.ts
+++ b/debugger-app/modules/commands-sk/commands-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 import '../../../infra-sk/modules/app-sk';
-import { $ } from 'common-sk/modules/dom';
+import { $ } from '../../../infra-sk/modules/dom';
 import { testData } from './test-data';
 
 import {
diff --git a/debugger-app/modules/commands-sk/commands-sk.ts b/debugger-app/modules/commands-sk/commands-sk.ts
index b92e018..6264cc5 100644
--- a/debugger-app/modules/commands-sk/commands-sk.ts
+++ b/debugger-app/modules/commands-sk/commands-sk.ts
@@ -21,15 +21,15 @@
  * the unfiltered command list for this frame.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
 import { ElementDocSk } from '../element-doc-sk/element-doc-sk';
 import { PlaySk } from '../play-sk/play-sk';
 import { DefaultMap } from '../default-map';
 
-import 'elements-sk/icon/save-icon-sk';
-import 'elements-sk/icon/content-copy-icon-sk';
-import 'elements-sk/icon/image-icon-sk';
+import '../../../elements-sk/modules/icons/save-icon-sk';
+import '../../../elements-sk/modules/icons/content-copy-icon-sk';
+import '../../../elements-sk/modules/icons/image-icon-sk';
 
 import { SkpJsonCommand, SkpJsonCommandList, SkpJsonGpuOp } from '../debugger';
 
diff --git a/debugger-app/modules/cycler-button-sk/BUILD.bazel b/debugger-app/modules/cycler-button-sk/BUILD.bazel
index 8149435..5896b89 100644
--- a/debugger-app/modules/cycler-button-sk/BUILD.bazel
+++ b/debugger-app/modules/cycler-button-sk/BUILD.bazel
@@ -5,8 +5,8 @@
     ts_deps = [
         "//debugger-app/modules:events_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "cycler-button-sk.ts",
diff --git a/debugger-app/modules/cycler-button-sk/cycler-button-sk.ts b/debugger-app/modules/cycler-button-sk/cycler-button-sk.ts
index 90a7bc1..63e5c5d 100644
--- a/debugger-app/modules/cycler-button-sk/cycler-button-sk.ts
+++ b/debugger-app/modules/cycler-button-sk/cycler-button-sk.ts
@@ -11,7 +11,7 @@
  *    <cycler-button-sk .text=${'next'} .list=${[1, 2, 3]} @next-item=${(e: Event)=>{}}>
  *    </cycler-button-sk>
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { NextItemEventDetail, NextItemEvent } from '../events';
diff --git a/debugger-app/modules/debug-view-sk/BUILD.bazel b/debugger-app/modules/debug-view-sk/BUILD.bazel
index eec3dbe..7e7bdbd 100644
--- a/debugger-app/modules/debug-view-sk/BUILD.bazel
+++ b/debugger-app/modules/debug-view-sk/BUILD.bazel
@@ -6,8 +6,8 @@
     sk_element_deps = ["//debugger-app/modules/element-doc-sk"],
     ts_deps = [
         "//debugger-app/modules:events_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "debug-view-sk.ts",
diff --git a/debugger-app/modules/debug-view-sk/debug-view-sk.ts b/debugger-app/modules/debug-view-sk/debug-view-sk.ts
index f0beb78..c92d80d 100644
--- a/debugger-app/modules/debug-view-sk/debug-view-sk.ts
+++ b/debugger-app/modules/debug-view-sk/debug-view-sk.ts
@@ -5,7 +5,7 @@
  *
  * @evt move-cursor: Emitted when the user has moved the cursor by clicking or hovering.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementDocSk } from '../element-doc-sk/element-doc-sk';
 import {
diff --git a/debugger-app/modules/debugger-page-sk/BUILD.bazel b/debugger-app/modules/debugger-page-sk/BUILD.bazel
index 6feb923..c5b1183 100644
--- a/debugger-app/modules/debugger-page-sk/BUILD.bazel
+++ b/debugger-app/modules/debugger-page-sk/BUILD.bazel
@@ -15,13 +15,18 @@
         "//debugger-app/modules/zoom-sk",
         "//infra-sk/modules/app-sk",
         "//infra-sk/modules/theme-chooser-sk",
+        "//elements-sk/modules/checkbox-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/tabs-panel-sk",
+        "//elements-sk/modules/tabs-sk",
     ],
     ts_deps = [
         "//debugger-app/modules:debugger_ts_lib",
         "//debugger-app/modules:events_ts_lib",
         "//debugger-app/wasm_libs:canvaskit_types",  # keep
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
     ],
     ts_srcs = [
         "debugger-page-sk.ts",
diff --git a/debugger-app/modules/debugger-page-sk/debugger-page-sk.ts b/debugger-app/modules/debugger-page-sk/debugger-page-sk.ts
index ec1c114..0980e40 100644
--- a/debugger-app/modules/debugger-page-sk/debugger-page-sk.ts
+++ b/debugger-app/modules/debugger-page-sk/debugger-page-sk.ts
@@ -23,21 +23,21 @@
  *       [ debug-view-sk ]                     [ debugger- ]                     [ zoom-sk ]
  *       [               ] <- render-cursor -- [ page-sk   ] -- render-cursor -> [         ]
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
-import { errorMessage } from 'elements-sk/errorMessage';
-import 'elements-sk/tabs-sk';
-import 'elements-sk/tabs-panel-sk';
-import { TabsSk } from 'elements-sk/tabs-sk/tabs-sk';
-import 'elements-sk/checkbox-sk';
-import { CheckOrRadio } from 'elements-sk/checkbox-sk/checkbox-sk';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
+import '../../../elements-sk/modules/tabs-sk';
+import '../../../elements-sk/modules/tabs-panel-sk';
+import { TabsSk } from '../../../elements-sk/modules/tabs-sk/tabs-sk';
+import '../../../elements-sk/modules/checkbox-sk';
+import { CheckOrRadio } from '../../../elements-sk/modules/checkbox-sk/checkbox-sk';
 import { ElementDocSk } from '../element-doc-sk/element-doc-sk';
 import { DebugViewSk } from '../debug-view-sk/debug-view-sk';
 import { CommandsSk } from '../commands-sk/commands-sk';
 import { TimelineSk } from '../timeline-sk/timeline-sk';
 import { PlaySk } from '../play-sk/play-sk';
 import { ZoomSk } from '../zoom-sk/zoom-sk';
-import 'elements-sk/error-toast-sk';
+import '../../../elements-sk/modules/error-toast-sk';
 import { AndroidLayersSk } from '../android-layers-sk/android-layers-sk';
 import { ResourcesSk } from '../resources-sk/resources-sk';
 import '../../../infra-sk/modules/theme-chooser-sk';
diff --git a/debugger-app/modules/histogram-sk/BUILD.bazel b/debugger-app/modules/histogram-sk/BUILD.bazel
index b42b8e8..628d357 100644
--- a/debugger-app/modules/histogram-sk/BUILD.bazel
+++ b/debugger-app/modules/histogram-sk/BUILD.bazel
@@ -11,8 +11,8 @@
     sk_element_deps = ["//debugger-app/modules/element-doc-sk"],
     ts_deps = [
         "//debugger-app/modules:events_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "histogram-sk.ts",
diff --git a/debugger-app/modules/histogram-sk/histogram-sk.ts b/debugger-app/modules/histogram-sk/histogram-sk.ts
index 9d8c759..8b40f47 100644
--- a/debugger-app/modules/histogram-sk/histogram-sk.ts
+++ b/debugger-app/modules/histogram-sk/histogram-sk.ts
@@ -16,7 +16,7 @@
  * @evt toggle-command-inclusion: Emitted when a row is clicked, indicating it's
  * inclusion in the command filter should be toggled.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementDocSk } from '../element-doc-sk/element-doc-sk';
 
diff --git a/debugger-app/modules/play-sk/BUILD.bazel b/debugger-app/modules/play-sk/BUILD.bazel
index 76f62a6..abe6266 100644
--- a/debugger-app/modules/play-sk/BUILD.bazel
+++ b/debugger-app/modules/play-sk/BUILD.bazel
@@ -8,11 +8,20 @@
 sk_element(
     name = "play-sk",
     sass_srcs = ["play-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/icons/keyboard-arrow-left-icon-sk",
+        "//elements-sk/modules/icons/keyboard-arrow-right-icon-sk",
+        "//elements-sk/modules/icons/pause-icon-sk",
+        "//elements-sk/modules/icons/play-arrow-icon-sk",
+        "//elements-sk/modules/icons/skip-next-icon-sk",
+        "//elements-sk/modules/icons/skip-previous-icon-sk",
+        "//elements-sk/modules/icons/video-library-icon-sk",
+    ],
     ts_deps = [
         "//debugger-app/modules:events_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/debugger-app/modules/play-sk/play-sk.ts b/debugger-app/modules/play-sk/play-sk.ts
index 616c162..2bf5cd1 100644
--- a/debugger-app/modules/play-sk/play-sk.ts
+++ b/debugger-app/modules/play-sk/play-sk.ts
@@ -11,16 +11,16 @@
  *           detail: {item: number} // the index the play module wants the app
  *           to move to.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
-import 'elements-sk/icon/skip-previous-icon-sk';
-import 'elements-sk/icon/keyboard-arrow-left-icon-sk';
-import 'elements-sk/icon/play-arrow-icon-sk';
-import 'elements-sk/icon/pause-icon-sk';
-import 'elements-sk/icon/keyboard-arrow-right-icon-sk';
-import 'elements-sk/icon/skip-next-icon-sk';
-import 'elements-sk/icon/video-library-icon-sk';
+import '../../../elements-sk/modules/icons/skip-previous-icon-sk';
+import '../../../elements-sk/modules/icons/keyboard-arrow-left-icon-sk';
+import '../../../elements-sk/modules/icons/play-arrow-icon-sk';
+import '../../../elements-sk/modules/icons/pause-icon-sk';
+import '../../../elements-sk/modules/icons/keyboard-arrow-right-icon-sk';
+import '../../../elements-sk/modules/icons/skip-next-icon-sk';
+import '../../../elements-sk/modules/icons/video-library-icon-sk';
 import {
   ModeChangedManuallyEvent,
   MoveToEvent,
diff --git a/debugger-app/modules/resources-sk/BUILD.bazel b/debugger-app/modules/resources-sk/BUILD.bazel
index 9cc04b3..eb22736 100644
--- a/debugger-app/modules/resources-sk/BUILD.bazel
+++ b/debugger-app/modules/resources-sk/BUILD.bazel
@@ -13,8 +13,8 @@
         "//debugger-app/modules:debugger_ts_lib",
         "//debugger-app/modules:default-map_ts_lib",
         "//debugger-app/modules:events_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/debugger-app/modules/resources-sk/resources-sk.ts b/debugger-app/modules/resources-sk/resources-sk.ts
index 052da89..6855573 100644
--- a/debugger-app/modules/resources-sk/resources-sk.ts
+++ b/debugger-app/modules/resources-sk/resources-sk.ts
@@ -5,7 +5,7 @@
  *  and an image selection function so different parts of the app can send you
  *  to an image here, or you can pick one and view details about it.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
 import { ElementDocSk } from '../element-doc-sk/element-doc-sk';
 import { DefaultMap } from '../default-map';
diff --git a/debugger-app/modules/timeline-sk/BUILD.bazel b/debugger-app/modules/timeline-sk/BUILD.bazel
index 9d6176b..edfd417 100644
--- a/debugger-app/modules/timeline-sk/BUILD.bazel
+++ b/debugger-app/modules/timeline-sk/BUILD.bazel
@@ -12,8 +12,8 @@
     ts_deps = [
         "//debugger-app/modules:events_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/debugger-app/modules/timeline-sk/timeline-sk.ts b/debugger-app/modules/timeline-sk/timeline-sk.ts
index 1596710..fc74820 100644
--- a/debugger-app/modules/timeline-sk/timeline-sk.ts
+++ b/debugger-app/modules/timeline-sk/timeline-sk.ts
@@ -2,7 +2,7 @@
  * @module modules/timeline-sk
  * @description An element for displaying a position in a timeline.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { PlaySk } from '../play-sk/play-sk';
diff --git a/debugger-app/modules/version-page-sk/BUILD.bazel b/debugger-app/modules/version-page-sk/BUILD.bazel
index 5f447bb..bb50eed 100644
--- a/debugger-app/modules/version-page-sk/BUILD.bazel
+++ b/debugger-app/modules/version-page-sk/BUILD.bazel
@@ -14,8 +14,8 @@
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "version-page-sk.ts",
diff --git a/debugger-app/modules/version-page-sk/version-page-sk.ts b/debugger-app/modules/version-page-sk/version-page-sk.ts
index 0459511..db986a9 100644
--- a/debugger-app/modules/version-page-sk/version-page-sk.ts
+++ b/debugger-app/modules/version-page-sk/version-page-sk.ts
@@ -5,7 +5,7 @@
  * Shows links to all older versions of the debugger (which do not automatically update).
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import '../../../infra-sk/modules/theme-chooser-sk';
diff --git a/debugger-app/modules/zoom-sk/BUILD.bazel b/debugger-app/modules/zoom-sk/BUILD.bazel
index 79f658b..45a7cf3 100644
--- a/debugger-app/modules/zoom-sk/BUILD.bazel
+++ b/debugger-app/modules/zoom-sk/BUILD.bazel
@@ -11,8 +11,8 @@
     sk_element_deps = ["//debugger-app/modules/element-doc-sk"],
     ts_deps = [
         "//debugger-app/modules:events_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/debugger-app/modules/zoom-sk/zoom-sk.ts b/debugger-app/modules/zoom-sk/zoom-sk.ts
index 5a46510..4a8fe03 100644
--- a/debugger-app/modules/zoom-sk/zoom-sk.ts
+++ b/debugger-app/modules/zoom-sk/zoom-sk.ts
@@ -20,7 +20,7 @@
  *   the zoom view. The position is a coordinate in the source canvas.
  *   See debugger-page-sk for more info on move-cursor and render-cursor
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementDocSk } from '../element-doc-sk/element-doc-sk';
 import {
diff --git a/demos/modules/demo-list-sk/BUILD.bazel b/demos/modules/demo-list-sk/BUILD.bazel
index be7727b..b43fe48 100644
--- a/demos/modules/demo-list-sk/BUILD.bazel
+++ b/demos/modules/demo-list-sk/BUILD.bazel
@@ -4,15 +4,16 @@
     name = "demo-list-sk",
     sass_deps = [
         "//demos/modules:colors_sass_lib",
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["demo-list-sk.scss"],
     ts_deps = [
         "//demos/modules:rpc_types_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "demo-list-sk.ts",
@@ -27,8 +28,8 @@
     sk_element_deps = [":demo-list-sk"],
     ts_deps = [
         ":test_data_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "demo-list-sk-demo.ts",
 )
@@ -51,10 +52,10 @@
         ":demo-list-sk",
         ":test_data_ts_lib",
         "//demos/modules:rpc_types_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/demos/modules/demo-list-sk/demo-list-sk-demo.ts b/demos/modules/demo-list-sk/demo-list-sk-demo.ts
index 34a9bd3..d280bd1 100644
--- a/demos/modules/demo-list-sk/demo-list-sk-demo.ts
+++ b/demos/modules/demo-list-sk/demo-list-sk-demo.ts
@@ -1,5 +1,5 @@
 import './index';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import {
   twoDemoEntries,
diff --git a/demos/modules/demo-list-sk/demo-list-sk.scss b/demos/modules/demo-list-sk/demo-list-sk.scss
index 744cbaf..c67c73c 100644
--- a/demos/modules/demo-list-sk/demo-list-sk.scss
+++ b/demos/modules/demo-list-sk/demo-list-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 @import '../colors';
 
 demo-list-sk {
diff --git a/demos/modules/demo-list-sk/demo-list-sk.ts b/demos/modules/demo-list-sk/demo-list-sk.ts
index d66754f..4be90c7 100644
--- a/demos/modules/demo-list-sk/demo-list-sk.ts
+++ b/demos/modules/demo-list-sk/demo-list-sk.ts
@@ -2,11 +2,11 @@
  * @fileoverview A custom element for the basic demos.skia.org header.
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
 
-import { errorMessage } from 'elements-sk/errorMessage';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { Metadata } from '../rpc_types';
 
diff --git a/demos/modules/demo-list-sk/demo-list-sk_test.ts b/demos/modules/demo-list-sk/demo-list-sk_test.ts
index dbcb2be..701a055 100644
--- a/demos/modules/demo-list-sk/demo-list-sk_test.ts
+++ b/demos/modules/demo-list-sk/demo-list-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { expect } from 'chai';
 import { singleDemoEntry, twoDemoEntries } from './test_data';
diff --git a/demos/modules/header-sk/BUILD.bazel b/demos/modules/header-sk/BUILD.bazel
index cc2f435..530beea 100644
--- a/demos/modules/header-sk/BUILD.bazel
+++ b/demos/modules/header-sk/BUILD.bazel
@@ -9,14 +9,17 @@
     name = "header-sk",
     sass_deps = [
         "//demos/modules:colors_sass_lib",
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["header-sk.scss"],
-    sk_element_deps = ["//infra-sk/modules/theme-chooser-sk"],
+    sk_element_deps = [
+        "//infra-sk/modules/theme-chooser-sk",
+        "//elements-sk/modules/error-toast-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "header-sk.ts",
@@ -29,7 +32,7 @@
     name = "header-sk-demo",
     html_file = "header-sk-demo.html",
     sk_element_deps = [":header-sk"],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "header-sk-demo.ts",
 )
 
diff --git a/demos/modules/header-sk/header-sk-demo.ts b/demos/modules/header-sk/header-sk-demo.ts
index c87b484..f290cf3 100644
--- a/demos/modules/header-sk/header-sk-demo.ts
+++ b/demos/modules/header-sk/header-sk-demo.ts
@@ -1,5 +1,5 @@
 import './index';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 
 const dl = document.createElement('header-sk');
 $$('#main')!.appendChild(dl);
diff --git a/demos/modules/header-sk/header-sk.scss b/demos/modules/header-sk/header-sk.scss
index 145481c..56e1b44 100644
--- a/demos/modules/header-sk/header-sk.scss
+++ b/demos/modules/header-sk/header-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 @import '../colors';
 
 body {
diff --git a/demos/modules/header-sk/header-sk.ts b/demos/modules/header-sk/header-sk.ts
index 54d4b8b..5a6a64f 100644
--- a/demos/modules/header-sk/header-sk.ts
+++ b/demos/modules/header-sk/header-sk.ts
@@ -2,12 +2,12 @@
  * @fileoverview A custom element for the basic demos.skia.org header.
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import '../../../infra-sk/modules/theme-chooser-sk';
 
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
-import 'elements-sk/error-toast-sk';
+import '../../../elements-sk/modules/error-toast-sk';
 
 const template = () => html`
 <header>
diff --git a/elements-sk/modules/icons-demo-sk/BUILD.bazel b/elements-sk/modules/icons-demo-sk/BUILD.bazel
index 4943110..2576f3e 100644
--- a/elements-sk/modules/icons-demo-sk/BUILD.bazel
+++ b/elements-sk/modules/icons-demo-sk/BUILD.bazel
@@ -12,8 +12,8 @@
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         ":icons_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "icons-demo-sk.ts",
diff --git a/elements-sk/modules/icons-demo-sk/icons-demo-sk.ts b/elements-sk/modules/icons-demo-sk/icons-demo-sk.ts
index 0174412..150deef 100644
--- a/elements-sk/modules/icons-demo-sk/icons-demo-sk.ts
+++ b/elements-sk/modules/icons-demo-sk/icons-demo-sk.ts
@@ -1,4 +1,4 @@
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { unsafeHTML } from 'lit-html/directives/unsafe-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
diff --git a/fiddlek/modules/fiddle-embed-sk/BUILD.bazel b/fiddlek/modules/fiddle-embed-sk/BUILD.bazel
index 18b4103..ab18ea7 100644
--- a/fiddlek/modules/fiddle-embed-sk/BUILD.bazel
+++ b/fiddlek/modules/fiddle-embed-sk/BUILD.bazel
@@ -11,13 +11,17 @@
         "//fiddlek/modules/themes:themes_sass_lib",
     ],
     sass_srcs = ["fiddle-embed-sk.scss"],
-    sk_element_deps = ["//fiddlek/modules/fiddle-sk"],
+    sk_element_deps = [
+        "//fiddlek/modules/fiddle-sk",
+        "//elements-sk/modules/error-toast-sk",
+    ],
     ts_deps = [
         "//fiddlek/modules/json:index_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "fiddle-embed-sk.ts",
@@ -33,7 +37,7 @@
         "//infra-sk/modules/theme-chooser-sk",
         ":fiddle-embed-sk",
     ],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "fiddle-embed-sk-demo.ts",
 )
 
diff --git a/fiddlek/modules/fiddle-embed-sk/fiddle-embed-sk-demo.ts b/fiddlek/modules/fiddle-embed-sk/fiddle-embed-sk-demo.ts
index 702a38a..b625a1f 100644
--- a/fiddlek/modules/fiddle-embed-sk/fiddle-embed-sk-demo.ts
+++ b/fiddlek/modules/fiddle-embed-sk/fiddle-embed-sk-demo.ts
@@ -1,5 +1,5 @@
 import './index';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import { ThemeChooserSk } from '../../../infra-sk/modules/theme-chooser-sk/theme-chooser-sk';
 import '../../../infra-sk/modules/theme-chooser-sk/theme-chooser-sk';
 
diff --git a/fiddlek/modules/fiddle-embed-sk/fiddle-embed-sk.ts b/fiddlek/modules/fiddle-embed-sk/fiddle-embed-sk.ts
index f408f90..3e816b2 100644
--- a/fiddlek/modules/fiddle-embed-sk/fiddle-embed-sk.ts
+++ b/fiddlek/modules/fiddle-embed-sk/fiddle-embed-sk.ts
@@ -12,11 +12,11 @@
  *
  * @event context-loaded is sent when the context for a fiddle had been loaded from the server.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { errorMessage } from 'elements-sk/errorMessage';
-import 'elements-sk/error-toast-sk';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
+import '../../../elements-sk/modules/error-toast-sk';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import '../fiddle-sk';
 import { FiddleContext } from '../json';
diff --git a/fiddlek/modules/fiddle-sk/BUILD.bazel b/fiddlek/modules/fiddle-sk/BUILD.bazel
index 677861c..30d3691 100644
--- a/fiddlek/modules/fiddle-sk/BUILD.bazel
+++ b/fiddlek/modules/fiddle-sk/BUILD.bazel
@@ -9,18 +9,27 @@
     name = "fiddle-sk",
     sass_deps = [
         "//fiddlek/modules/themes:themes_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules/styles:select_sass_lib",
     ],
     sass_srcs = ["fiddle-sk.scss"],
     sk_element_deps = [
         "//fiddlek/modules/test-src-sk",
         "//fiddlek/modules/textarea-numbers-sk",
+        "//elements-sk/modules/checkbox-sk",
+        "//elements-sk/modules/icons/pause-icon-sk",
+        "//elements-sk/modules/icons/play-arrow-icon-sk",
+        "//elements-sk/modules/select-sk",
+        "//elements-sk/modules/spinner-sk",
     ],
     ts_deps = [
         "//fiddlek/modules/json:index_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_srcs = [
         "fiddle-sk.ts",
diff --git a/fiddlek/modules/fiddle-sk/fiddle-sk.scss b/fiddlek/modules/fiddle-sk/fiddle-sk.scss
index 0e503b6..52f05d5 100644
--- a/fiddlek/modules/fiddle-sk/fiddle-sk.scss
+++ b/fiddlek/modules/fiddle-sk/fiddle-sk.scss
@@ -1,3 +1,5 @@
+@import '../../../elements-sk/modules/styles/select';
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../themes/themes';
 
 .body-sk fiddle-sk {
diff --git a/fiddlek/modules/fiddle-sk/fiddle-sk.ts b/fiddlek/modules/fiddle-sk/fiddle-sk.ts
index b544237..55f5152 100644
--- a/fiddlek/modules/fiddle-sk/fiddle-sk.ts
+++ b/fiddlek/modules/fiddle-sk/fiddle-sk.ts
@@ -10,23 +10,21 @@
  *
  * @event fiddle-success is emitted when a run of a fiddle has completed successfully.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import '../textarea-numbers-sk';
-import 'elements-sk/checkbox-sk';
-import 'elements-sk/select-sk';
-import 'elements-sk/spinner-sk';
-import 'elements-sk/icon/play-arrow-icon-sk';
-import 'elements-sk/icon/pause-icon-sk';
+import '../../../elements-sk/modules/checkbox-sk';
+import '../../../elements-sk/modules/select-sk';
+import '../../../elements-sk/modules/spinner-sk';
+import '../../../elements-sk/modules/icons/play-arrow-icon-sk';
+import '../../../elements-sk/modules/icons/pause-icon-sk';
 import '../test-src-sk';
-import { fromObject } from 'common-sk/modules/query';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { CheckOrRadio } from 'elements-sk/checkbox-sk/checkbox-sk';
-import { SelectSkSelectionChangedEventDetail } from 'elements-sk/select-sk/select-sk';
-import { errorMessage } from 'elements-sk/errorMessage';
-import 'elements-sk/styles/buttons';
-import 'elements-sk/styles/select';
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
+import { fromObject } from '../../../infra-sk/modules/query';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { CheckOrRadio } from '../../../elements-sk/modules/checkbox-sk/checkbox-sk';
+import { SelectSkSelectionChangedEventDetail } from '../../../elements-sk/modules/select-sk/select-sk';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
 import { TextareaNumbersSk } from '../textarea-numbers-sk/textarea-numbers-sk';
 import { Options, RunResults, FiddleContext } from '../json';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
diff --git a/fiddlek/modules/test-src-sk/BUILD.bazel b/fiddlek/modules/test-src-sk/BUILD.bazel
index b8e054a..e5d1e7c 100644
--- a/fiddlek/modules/test-src-sk/BUILD.bazel
+++ b/fiddlek/modules/test-src-sk/BUILD.bazel
@@ -8,14 +8,14 @@
 sk_element(
     name = "test-src-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/themes/themes.scss",
-        "@npm//:node_modules/elements-sk/themes/color-palette.scss",
+        "//elements-sk/modules/themes:color-palette_sass_lib",
+        "//elements-sk/modules/themes:themes_sass_lib",
     ],
     sass_srcs = ["test-src-sk.scss"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/fiddlek/modules/test-src-sk/test-src-sk.scss b/fiddlek/modules/test-src-sk/test-src-sk.scss
index ec8afd6..0a07f12 100644
--- a/fiddlek/modules/test-src-sk/test-src-sk.scss
+++ b/fiddlek/modules/test-src-sk/test-src-sk.scss
@@ -1,5 +1,5 @@
-@import 'node_modules/elements-sk/themes/color-palette.scss';
-@import 'node_modules/elements-sk/themes/themes.scss';
+@import '../../../elements-sk/modules/themes/color-palette';
+@import '../../../elements-sk/modules/themes/themes';
 
 test-src-sk {
   .output {
diff --git a/fiddlek/modules/test-src-sk/test-src-sk.ts b/fiddlek/modules/test-src-sk/test-src-sk.ts
index 7c77984..211e555 100644
--- a/fiddlek/modules/test-src-sk/test-src-sk.ts
+++ b/fiddlek/modules/test-src-sk/test-src-sk.ts
@@ -6,7 +6,7 @@
  *  from a URL.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
diff --git a/fiddlek/modules/textarea-numbers-sk/BUILD.bazel b/fiddlek/modules/textarea-numbers-sk/BUILD.bazel
index ad8fe3f..61d61ed 100644
--- a/fiddlek/modules/textarea-numbers-sk/BUILD.bazel
+++ b/fiddlek/modules/textarea-numbers-sk/BUILD.bazel
@@ -18,9 +18,9 @@
     sk_element_deps = ["//infra-sk/modules/theme-chooser-sk"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//codemirror5",
         "@npm//@types/codemirror5",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/fiddlek/modules/textarea-numbers-sk/textarea-numbers-sk.ts b/fiddlek/modules/textarea-numbers-sk/textarea-numbers-sk.ts
index f432c2b..5dcae31 100644
--- a/fiddlek/modules/textarea-numbers-sk/textarea-numbers-sk.ts
+++ b/fiddlek/modules/textarea-numbers-sk/textarea-numbers-sk.ts
@@ -9,7 +9,7 @@
 import 'codemirror5/addon/fold/foldgutter';
 import 'codemirror5/lib/codemirror';
 import 'codemirror5/mode/clike/clike'; // Syntax highlighting for c-like languages.
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import CodeMirror from 'codemirror5';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { isDarkMode } from '../../../infra-sk/modules/theme-chooser-sk/theme-chooser-sk';
diff --git a/fiddlek/modules/themes/BUILD.bazel b/fiddlek/modules/themes/BUILD.bazel
index 10b6abc..67357da 100644
--- a/fiddlek/modules/themes/BUILD.bazel
+++ b/fiddlek/modules/themes/BUILD.bazel
@@ -5,7 +5,7 @@
     srcs = ["themes.scss"],
     visibility = ["//visibility:public"],
     deps = [
-        "@npm//:node_modules/elements-sk/themes/color-palette.scss",
-        "@npm//:node_modules/elements-sk/themes/themes.scss",
+        "//elements-sk/modules/themes:color-palette_sass_lib",
+        "//elements-sk/modules/themes:themes_sass_lib",
     ],
 )
diff --git a/fiddlek/modules/themes/themes.scss b/fiddlek/modules/themes/themes.scss
index e1c0304..67b16f1 100644
--- a/fiddlek/modules/themes/themes.scss
+++ b/fiddlek/modules/themes/themes.scss
@@ -1,5 +1,5 @@
-@import 'node_modules/elements-sk/themes/color-palette.scss';
-@import 'node_modules/elements-sk/themes/themes.scss';
+@import '../../../elements-sk/modules/themes/color-palette';
+@import '../../../elements-sk/modules/themes/themes';
 /*
   Only define deltas from the original theme and global changes from elemets-sk
   elements.
diff --git a/golden/modules/BUILD.bazel b/golden/modules/BUILD.bazel
index 2fbfc05..06e4c73 100644
--- a/golden/modules/BUILD.bazel
+++ b/golden/modules/BUILD.bazel
@@ -6,10 +6,10 @@
     deps = [
         ":common_ts_lib",
         "//golden/modules/search-controls-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
 
@@ -20,7 +20,8 @@
     deps = [
         ":rpc_types_ts_lib",
         "//golden/modules/search-controls-sk",
-        "@npm//common-sk",
+        "//infra-sk/modules:hintable_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
 )
 
@@ -46,7 +47,7 @@
     name = "shared_demo_data_ts_lib",
     srcs = ["shared_demo_data.ts"],
     visibility = ["//visibility:public"],
-    deps = ["@npm//common-sk"],
+    deps = ["//infra-sk/modules:query_ts_lib"],
 )
 
 sass_library(
diff --git a/golden/modules/blamelist-panel-sk/BUILD.bazel b/golden/modules/blamelist-panel-sk/BUILD.bazel
index f696084..9683689 100644
--- a/golden/modules/blamelist-panel-sk/BUILD.bazel
+++ b/golden/modules/blamelist-panel-sk/BUILD.bazel
@@ -6,11 +6,11 @@
     ts_deps = [
         "//golden/modules:settings_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "//infra-sk/modules:string_ts_lib",
         "//golden/modules:rpc_types_ts_lib",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
     ],
     ts_srcs = [
         "blamelist-panel-sk.ts",
@@ -26,7 +26,7 @@
     ts_deps = [
         "//golden/modules:settings_ts_lib",
         ":demo_data_ts_lib",
-        "@npm//common-sk",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "blamelist-panel-sk-demo.ts",
 )
diff --git a/golden/modules/blamelist-panel-sk/blamelist-panel-sk-demo.ts b/golden/modules/blamelist-panel-sk/blamelist-panel-sk-demo.ts
index c25dbea..79c63b5 100644
--- a/golden/modules/blamelist-panel-sk/blamelist-panel-sk-demo.ts
+++ b/golden/modules/blamelist-panel-sk/blamelist-panel-sk-demo.ts
@@ -1,5 +1,5 @@
 import './index';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { BlamelistPanelSk } from './blamelist-panel-sk';
 import {
   blamelist19, clBlamelist, fakeNow, nonStandardCommits,
diff --git a/golden/modules/blamelist-panel-sk/blamelist-panel-sk.ts b/golden/modules/blamelist-panel-sk/blamelist-panel-sk.ts
index 47da54a..dc16ff9 100644
--- a/golden/modules/blamelist-panel-sk/blamelist-panel-sk.ts
+++ b/golden/modules/blamelist-panel-sk/blamelist-panel-sk.ts
@@ -8,9 +8,9 @@
  *
  * This should typically go into some sort of dialog to show the user.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
-import { diffDate } from 'common-sk/modules/human';
+import { diffDate } from '../../../infra-sk/modules/human';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { truncate } from '../../../infra-sk/modules/string';
 import { baseRepoURL } from '../settings';
diff --git a/golden/modules/bulk-triage-sk/BUILD.bazel b/golden/modules/bulk-triage-sk/BUILD.bazel
index 808cdb9..318a799 100644
--- a/golden/modules/bulk-triage-sk/BUILD.bazel
+++ b/golden/modules/bulk-triage-sk/BUILD.bazel
@@ -4,15 +4,23 @@
     name = "bulk-triage-sk",
     sass_deps = [
         "//golden/modules:colors_sass_lib",
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["bulk-triage-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/checkbox-sk",
+        "//elements-sk/modules/icons/cancel-icon-sk",
+        "//elements-sk/modules/icons/check-circle-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/icons/view-agenda-icon-sk",
+    ],
     ts_deps = [
         "//golden/modules:common_ts_lib",
         "//golden/modules:rpc_types_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "bulk-triage-sk.ts",
@@ -27,9 +35,10 @@
     sk_element_deps = [":bulk-triage-sk"],
     ts_deps = [
         ":test_data_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
         "//golden/modules:rpc_types_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:object_ts_lib",
     ],
     ts_entry_point = "bulk-triage-sk-demo.ts",
 )
@@ -39,9 +48,9 @@
     srcs = ["bulk-triage-sk_po.ts"],
     visibility = ["//visibility:public"],
     deps = [
+        "//elements-sk/modules/checkbox-sk",
         "//infra-sk/modules/page_object:page_object_element_ts_lib",
         "//infra-sk/modules/page_object:page_object_ts_lib",
-        "@npm//elements-sk",
     ],
 )
 
diff --git a/golden/modules/bulk-triage-sk/bulk-triage-sk-demo.ts b/golden/modules/bulk-triage-sk/bulk-triage-sk-demo.ts
index 48b127b..e620ed1 100644
--- a/golden/modules/bulk-triage-sk/bulk-triage-sk-demo.ts
+++ b/golden/modules/bulk-triage-sk/bulk-triage-sk-demo.ts
@@ -1,7 +1,7 @@
 import './index';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
-import { deepCopy } from 'common-sk/modules/object';
+import { deepCopy } from '../../../infra-sk/modules/object';
 import { bulkTriageDeltaInfos } from './test_data';
 import { BulkTriageSk } from './bulk-triage-sk';
 import { TriageResponse } from '../rpc_types';
diff --git a/golden/modules/bulk-triage-sk/bulk-triage-sk.scss b/golden/modules/bulk-triage-sk/bulk-triage-sk.scss
index a2b37a5..43d5576 100644
--- a/golden/modules/bulk-triage-sk/bulk-triage-sk.scss
+++ b/golden/modules/bulk-triage-sk/bulk-triage-sk.scss
@@ -1,4 +1,5 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/styles/buttons';
+@import '../../../elements-sk/modules/colors';
 @import '../colors';
 
 bulk-triage-sk {
diff --git a/golden/modules/bulk-triage-sk/bulk-triage-sk.ts b/golden/modules/bulk-triage-sk/bulk-triage-sk.ts
index 7f7612c..f24a402 100644
--- a/golden/modules/bulk-triage-sk/bulk-triage-sk.ts
+++ b/golden/modules/bulk-triage-sk/bulk-triage-sk.ts
@@ -10,16 +10,15 @@
  * @evt bulk_triage_invoked - Sent just before the triage RPC is hit.
  * @evt bulk_triage_finished - Sent if the triage RPC returns success.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
-import 'elements-sk/checkbox-sk';
-import 'elements-sk/icon/cancel-icon-sk';
-import 'elements-sk/icon/check-circle-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/icon/view-agenda-icon-sk';
-import 'elements-sk/styles/buttons';
+import '../../../elements-sk/modules/checkbox-sk';
+import '../../../elements-sk/modules/icons/cancel-icon-sk';
+import '../../../elements-sk/modules/icons/check-circle-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/icons/view-agenda-icon-sk';
 import { sendBeginTask, sendEndTask, sendFetchError } from '../common';
 import {
   BulkTriageDeltaInfo, Label, TriageDelta, TriageRequestV3,
diff --git a/golden/modules/bulk-triage-sk/bulk-triage-sk_po.ts b/golden/modules/bulk-triage-sk/bulk-triage-sk_po.ts
index 828327d..066fe45 100644
--- a/golden/modules/bulk-triage-sk/bulk-triage-sk_po.ts
+++ b/golden/modules/bulk-triage-sk/bulk-triage-sk_po.ts
@@ -1,4 +1,4 @@
-import { CheckOrRadio } from 'elements-sk/checkbox-sk/checkbox-sk';
+import { CheckOrRadio } from '../../../elements-sk/modules/checkbox-sk/checkbox-sk';
 import { PageObject } from '../../../infra-sk/modules/page_object/page_object';
 import { PageObjectElement } from '../../../infra-sk/modules/page_object/page_object_element';
 
diff --git a/golden/modules/byblame-page-sk/BUILD.bazel b/golden/modules/byblame-page-sk/BUILD.bazel
index 5ea1a20..72dd7a0 100644
--- a/golden/modules/byblame-page-sk/BUILD.bazel
+++ b/golden/modules/byblame-page-sk/BUILD.bazel
@@ -12,9 +12,10 @@
         "//golden/modules:rpc_types_ts_lib",
         "//golden/modules:settings_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "byblame-page-sk.ts",
@@ -35,8 +36,8 @@
         "//golden/modules:rpc_types_ts_lib",
         "//golden/modules:settings_ts_lib",
         ":demo_data_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "byblame-page-sk-demo.ts",
 )
@@ -59,10 +60,10 @@
         ":byblame-page-sk",
         ":demo_data_ts_lib",
         "//golden/modules:settings_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/golden/modules/byblame-page-sk/byblame-page-sk-demo.ts b/golden/modules/byblame-page-sk/byblame-page-sk-demo.ts
index a624379..ebfb16d 100644
--- a/golden/modules/byblame-page-sk/byblame-page-sk-demo.ts
+++ b/golden/modules/byblame-page-sk/byblame-page-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 import '../gold-scaffold-sk';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import {
   canvaskit,
diff --git a/golden/modules/byblame-page-sk/byblame-page-sk.ts b/golden/modules/byblame-page-sk/byblame-page-sk.ts
index f954c4c..afe8fbf 100644
--- a/golden/modules/byblame-page-sk/byblame-page-sk.ts
+++ b/golden/modules/byblame-page-sk/byblame-page-sk.ts
@@ -6,10 +6,10 @@
  * (i.e. the blamelist or blame, for short).
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { stateReflector } from 'common-sk/modules/stateReflector';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import '../byblameentry-sk';
 import '../corpus-selector-sk';
diff --git a/golden/modules/byblame-page-sk/byblame-page-sk_test.ts b/golden/modules/byblame-page-sk/byblame-page-sk_test.ts
index 3a71211..11a4b65 100644
--- a/golden/modules/byblame-page-sk/byblame-page-sk_test.ts
+++ b/golden/modules/byblame-page-sk/byblame-page-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { expect } from 'chai';
 import {
diff --git a/golden/modules/byblameentry-sk/BUILD.bazel b/golden/modules/byblameentry-sk/BUILD.bazel
index 76b1374..fd3bb9c 100644
--- a/golden/modules/byblameentry-sk/BUILD.bazel
+++ b/golden/modules/byblameentry-sk/BUILD.bazel
@@ -3,17 +3,17 @@
 sk_element(
     name = "byblameentry-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["byblameentry-sk.scss"],
     ts_deps = [
         "//golden/modules:rpc_types_ts_lib",
         "//golden/modules:settings_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "//golden/modules:common_ts_lib",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
     ],
     ts_srcs = [
         "byblameentry-sk.ts",
@@ -52,11 +52,12 @@
         ":test_data_ts_lib",
         "//golden/modules:rpc_types_ts_lib",
         "//golden/modules:settings_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:object_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//@types/sinon",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//sinon",
     ],
 )
diff --git a/golden/modules/byblameentry-sk/byblameentry-sk.scss b/golden/modules/byblameentry-sk/byblameentry-sk.scss
index 034a5d8..f312227 100644
--- a/golden/modules/byblameentry-sk/byblameentry-sk.scss
+++ b/golden/modules/byblameentry-sk/byblameentry-sk.scss
@@ -1,4 +1,4 @@
-@use 'node_modules/elements-sk/colors.scss';
+@use '../../../elements-sk/modules/colors';
 
 byblameentry-sk {
   display: block;
diff --git a/golden/modules/byblameentry-sk/byblameentry-sk.ts b/golden/modules/byblameentry-sk/byblameentry-sk.ts
index 4859acd..931aae2 100644
--- a/golden/modules/byblameentry-sk/byblameentry-sk.ts
+++ b/golden/modules/byblameentry-sk/byblameentry-sk.ts
@@ -7,9 +7,9 @@
  * that is, a blame group of untriaged digests.
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { diffDate } from 'common-sk/modules/human';
+import { diffDate } from '../../../infra-sk/modules/human';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { baseRepoURL } from '../settings';
 import { ByBlameEntry, Commit, TestRollup } from '../rpc_types';
diff --git a/golden/modules/byblameentry-sk/byblameentry-sk_test.ts b/golden/modules/byblameentry-sk/byblameentry-sk_test.ts
index 9753718..2e7c337 100644
--- a/golden/modules/byblameentry-sk/byblameentry-sk_test.ts
+++ b/golden/modules/byblameentry-sk/byblameentry-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
-import { $, $$ } from 'common-sk/modules/dom';
-import { deepCopy } from 'common-sk/modules/object';
+import { $, $$ } from '../../../infra-sk/modules/dom';
+import { deepCopy } from '../../../infra-sk/modules/object';
 import sinon from 'sinon';
 import { expect } from 'chai';
 import { setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
diff --git a/golden/modules/changelist-controls-sk/BUILD.bazel b/golden/modules/changelist-controls-sk/BUILD.bazel
index 8b1bfc3..f2fcc85 100644
--- a/golden/modules/changelist-controls-sk/BUILD.bazel
+++ b/golden/modules/changelist-controls-sk/BUILD.bazel
@@ -3,15 +3,20 @@
 sk_element(
     name = "changelist-controls-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules/styles:select_sass_lib",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["changelist-controls-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/icons/find-in-page-icon-sk",
+        "//elements-sk/modules/radio-sk",
+    ],
     ts_deps = [
         "//golden/modules:rpc_types_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "//infra-sk/modules:string_ts_lib",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "changelist-controls-sk.ts",
@@ -26,7 +31,7 @@
     sk_element_deps = [":changelist-controls-sk"],
     ts_deps = [
         ":test_data_ts_lib",
-        "@npm//common-sk",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "changelist-controls-sk-demo.ts",
 )
@@ -36,9 +41,9 @@
     srcs = ["changelist-controls-sk_po.ts"],
     visibility = ["//visibility:public"],
     deps = [
+        "//elements-sk/modules/checkbox-sk",
         "//infra-sk/modules/page_object:page_object_element_ts_lib",
         "//infra-sk/modules/page_object:page_object_ts_lib",
-        "@npm//elements-sk",
     ],
 )
 
diff --git a/golden/modules/changelist-controls-sk/changelist-controls-sk-demo.ts b/golden/modules/changelist-controls-sk/changelist-controls-sk-demo.ts
index 0869d63..64f63a4 100644
--- a/golden/modules/changelist-controls-sk/changelist-controls-sk-demo.ts
+++ b/golden/modules/changelist-controls-sk/changelist-controls-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { ChangelistControlsSk } from './changelist-controls-sk';
 import { twoPatchsets } from './test_data';
 
diff --git a/golden/modules/changelist-controls-sk/changelist-controls-sk.scss b/golden/modules/changelist-controls-sk/changelist-controls-sk.scss
index f442728..f1c2f5b 100644
--- a/golden/modules/changelist-controls-sk/changelist-controls-sk.scss
+++ b/golden/modules/changelist-controls-sk/changelist-controls-sk.scss
@@ -1,4 +1,5 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/styles/select';
+@import '../../../elements-sk/modules/colors';
 
 changelist-controls-sk {
   font-family: sans-serif;
diff --git a/golden/modules/changelist-controls-sk/changelist-controls-sk.ts b/golden/modules/changelist-controls-sk/changelist-controls-sk.ts
index 608111a..29ad953 100644
--- a/golden/modules/changelist-controls-sk/changelist-controls-sk.ts
+++ b/golden/modules/changelist-controls-sk/changelist-controls-sk.ts
@@ -1,11 +1,10 @@
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { truncate } from '../../../infra-sk/modules/string';
 
-import 'elements-sk/radio-sk';
-import 'elements-sk/styles/select';
-import 'elements-sk/icon/find-in-page-icon-sk';
+import '../../../elements-sk/modules/radio-sk';
+import '../../../elements-sk/modules/icons/find-in-page-icon-sk';
 import { ChangelistSummaryResponse, TryJob } from '../rpc_types';
 
 export interface ChangelistControlsSkChangeEventDetail {
diff --git a/golden/modules/changelist-controls-sk/changelist-controls-sk_po.ts b/golden/modules/changelist-controls-sk/changelist-controls-sk_po.ts
index 3b35f67..09c3530 100644
--- a/golden/modules/changelist-controls-sk/changelist-controls-sk_po.ts
+++ b/golden/modules/changelist-controls-sk/changelist-controls-sk_po.ts
@@ -1,4 +1,4 @@
-import { CheckOrRadio } from 'elements-sk/checkbox-sk/checkbox-sk';
+import { CheckOrRadio } from '../../../elements-sk/modules/checkbox-sk/checkbox-sk';
 import { PageObject } from '../../../infra-sk/modules/page_object/page_object';
 import { PageObjectElement, PageObjectElementList } from '../../../infra-sk/modules/page_object/page_object_element';
 
diff --git a/golden/modules/changelists-page-sk/BUILD.bazel b/golden/modules/changelists-page-sk/BUILD.bazel
index db9069c..472f6f1 100644
--- a/golden/modules/changelists-page-sk/BUILD.bazel
+++ b/golden/modules/changelists-page-sk/BUILD.bazel
@@ -4,17 +4,25 @@
     name = "changelists-page-sk",
     sass_deps = [
         "//golden/modules:colors_sass_lib",
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["changelists-page-sk.scss"],
-    sk_element_deps = ["//golden/modules/pagination-sk"],
+    sk_element_deps = [
+        "//golden/modules/pagination-sk",
+        "//elements-sk/modules/checkbox-sk",
+        "//elements-sk/modules/icons/block-icon-sk",
+        "//elements-sk/modules/icons/cached-icon-sk",
+        "//elements-sk/modules/icons/done-icon-sk",
+    ],
     ts_deps = [
         "//golden/modules:common_ts_lib",
         "//golden/modules:rpc_types_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "changelists-page-sk.ts",
@@ -35,8 +43,8 @@
         "//golden/modules:demo_util_ts_lib",
         "//golden/modules:settings_ts_lib",
         ":test_data_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:object_ts_lib",
     ],
     ts_entry_point = "changelists-page-sk-demo.ts",
 )
@@ -60,10 +68,10 @@
         ":test_data_ts_lib",
         "//golden/modules/pagination-sk",
         "//golden/modules/pagination-sk:pagination-sk_po_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/golden/modules/changelists-page-sk/changelists-page-sk-demo.ts b/golden/modules/changelists-page-sk/changelists-page-sk-demo.ts
index bc3f057..a5e536f 100644
--- a/golden/modules/changelists-page-sk/changelists-page-sk-demo.ts
+++ b/golden/modules/changelists-page-sk/changelists-page-sk-demo.ts
@@ -2,7 +2,7 @@
 import '../gold-scaffold-sk';
 
 import fetchMock from 'fetch-mock';
-import { deepCopy } from 'common-sk/modules/object';
+import { deepCopy } from '../../../infra-sk/modules/object';
 import { delay } from '../demo_util';
 import { fakeNow, changelistSummaries_5, empty } from './test_data';
 import { testOnlySetSettings } from '../settings';
diff --git a/golden/modules/changelists-page-sk/changelists-page-sk.scss b/golden/modules/changelists-page-sk/changelists-page-sk.scss
index 30cc0b0..4e6c728 100644
--- a/golden/modules/changelists-page-sk/changelists-page-sk.scss
+++ b/golden/modules/changelists-page-sk/changelists-page-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 @import '../colors';
 
 changelists-page-sk {
diff --git a/golden/modules/changelists-page-sk/changelists-page-sk.ts b/golden/modules/changelists-page-sk/changelists-page-sk.ts
index 15eec7f..ad1a98e 100644
--- a/golden/modules/changelists-page-sk/changelists-page-sk.ts
+++ b/golden/modules/changelists-page-sk/changelists-page-sk.ts
@@ -6,18 +6,18 @@
  * data uploaded via TryJobs.
  *
  */
-import * as human from 'common-sk/modules/human';
+import * as human from '../../../infra-sk/modules/human';
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { stateReflector } from 'common-sk/modules/stateReflector';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
-import 'elements-sk/checkbox-sk';
-import 'elements-sk/icon/block-icon-sk';
-import 'elements-sk/icon/cached-icon-sk';
-import 'elements-sk/icon/done-icon-sk';
+import '../../../elements-sk/modules/checkbox-sk';
+import '../../../elements-sk/modules/icons/block-icon-sk';
+import '../../../elements-sk/modules/icons/cached-icon-sk';
+import '../../../elements-sk/modules/icons/done-icon-sk';
 
 import '../pagination-sk';
 import { sendBeginTask, sendEndTask, sendFetchError } from '../common';
diff --git a/golden/modules/changelists-page-sk/changelists-page-sk_test.ts b/golden/modules/changelists-page-sk/changelists-page-sk_test.ts
index d3e3daa..33084d5 100644
--- a/golden/modules/changelists-page-sk/changelists-page-sk_test.ts
+++ b/golden/modules/changelists-page-sk/changelists-page-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { expect } from 'chai';
 import {
diff --git a/golden/modules/cluster-digests-sk/BUILD.bazel b/golden/modules/cluster-digests-sk/BUILD.bazel
index ab21a57..29288da 100644
--- a/golden/modules/cluster-digests-sk/BUILD.bazel
+++ b/golden/modules/cluster-digests-sk/BUILD.bazel
@@ -13,8 +13,8 @@
         "@npm//@types/d3-selection",
         "@npm//d3-force",
         "@npm//d3-selection",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "cluster-digests-sk.ts",
@@ -29,7 +29,7 @@
     sk_element_deps = [":cluster-digests-sk"],
     ts_deps = [
         "//golden/modules/cluster-page-sk:test_data_ts_lib",
-        "@npm//common-sk",
+        "//infra-sk/modules:object_ts_lib",
     ],
     ts_entry_point = "cluster-digests-sk-demo.ts",
 )
diff --git a/golden/modules/cluster-digests-sk/cluster-digests-sk-demo.ts b/golden/modules/cluster-digests-sk/cluster-digests-sk-demo.ts
index 8493605..5f7e16f 100644
--- a/golden/modules/cluster-digests-sk/cluster-digests-sk-demo.ts
+++ b/golden/modules/cluster-digests-sk/cluster-digests-sk-demo.ts
@@ -1,5 +1,5 @@
 import './index';
-import { deepCopy } from 'common-sk/modules/object';
+import { deepCopy } from '../../../infra-sk/modules/object';
 import { clusterDiffJSON } from '../cluster-page-sk/test_data';
 import { ClusterDiffNodeWithLabel, ClusterDigestsSk } from './cluster-digests-sk';
 
diff --git a/golden/modules/cluster-digests-sk/cluster-digests-sk.ts b/golden/modules/cluster-digests-sk/cluster-digests-sk.ts
index ba93d16..5609e6a 100644
--- a/golden/modules/cluster-digests-sk/cluster-digests-sk.ts
+++ b/golden/modules/cluster-digests-sk/cluster-digests-sk.ts
@@ -17,7 +17,7 @@
  *   contains a list of digests that are selected.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import * as d3Force from 'd3-force';
 import * as d3Select from 'd3-selection';
diff --git a/golden/modules/cluster-page-sk/BUILD.bazel b/golden/modules/cluster-page-sk/BUILD.bazel
index bc28680..0047e30 100644
--- a/golden/modules/cluster-page-sk/BUILD.bazel
+++ b/golden/modules/cluster-page-sk/BUILD.bazel
@@ -4,7 +4,7 @@
 sk_element(
     name = "cluster-page-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["cluster-page-sk.scss"],
     sk_element_deps = [
@@ -17,9 +17,12 @@
         "//golden/modules:common_ts_lib",
         "//golden/modules:rpc_types_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:hintable_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "cluster-page-sk.ts",
@@ -86,10 +89,10 @@
         "//golden/modules:settings_ts_lib",
         "//golden/modules/digest-details-sk:test_data_ts_lib",
         "//golden/modules/search-page-sk:demo_data_ts_lib",
+        "//infra-sk/modules:object_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/golden/modules/cluster-page-sk/cluster-page-sk.scss b/golden/modules/cluster-page-sk/cluster-page-sk.scss
index 79b90fd..c4d7230 100644
--- a/golden/modules/cluster-page-sk/cluster-page-sk.scss
+++ b/golden/modules/cluster-page-sk/cluster-page-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 
 cluster-page-sk {
 
diff --git a/golden/modules/cluster-page-sk/cluster-page-sk.ts b/golden/modules/cluster-page-sk/cluster-page-sk.ts
index 00fb005..8ff5159 100644
--- a/golden/modules/cluster-page-sk/cluster-page-sk.ts
+++ b/golden/modules/cluster-page-sk/cluster-page-sk.ts
@@ -7,12 +7,12 @@
  *
  * It is a top level element.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { stateReflector } from 'common-sk/modules/stateReflector';
-import { fromParamSet, fromObject, ParamSet } from 'common-sk/modules/query';
-import { HintableObject } from 'common-sk/modules/hintable';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
+import { fromParamSet, fromObject, ParamSet } from '../../../infra-sk/modules/query';
+import { HintableObject } from '../../../infra-sk/modules/hintable';
 import { sendBeginTask, sendEndTask, sendFetchError } from '../common';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { SearchCriteriaToHintableObject, SearchCriteriaFromHintableObject } from '../search-controls-sk';
diff --git a/golden/modules/cluster-page-sk/cluster-page-sk_test.ts b/golden/modules/cluster-page-sk/cluster-page-sk_test.ts
index b296db6..483a383 100644
--- a/golden/modules/cluster-page-sk/cluster-page-sk_test.ts
+++ b/golden/modules/cluster-page-sk/cluster-page-sk_test.ts
@@ -3,7 +3,7 @@
 import fetchMock from 'fetch-mock';
 
 import { expect } from 'chai';
-import { deepCopy } from 'common-sk/modules/object';
+import { deepCopy } from '../../../infra-sk/modules/object';
 import {
   eventPromise,
   setQueryString,
diff --git a/golden/modules/common.ts b/golden/modules/common.ts
index cc0be35..148bfc1 100644
--- a/golden/modules/common.ts
+++ b/golden/modules/common.ts
@@ -1,5 +1,5 @@
-import { HintableObject } from 'common-sk/modules/hintable';
-import { fromObject } from 'common-sk/modules/query';
+import { HintableObject } from '../../infra-sk/modules/hintable';
+import { fromObject } from '../../infra-sk/modules/query';
 import { Params } from './rpc_types';
 import { SearchCriteria, SearchCriteriaToHintableObject } from './search-controls-sk/search-controls-sk';
 
diff --git a/golden/modules/common_test.ts b/golden/modules/common_test.ts
index eec194d..fbf90bc 100644
--- a/golden/modules/common_test.ts
+++ b/golden/modules/common_test.ts
@@ -1,4 +1,4 @@
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../infra-sk/modules/dom';
 import { expect } from 'chai';
 import {
   humanReadableQuery,
diff --git a/golden/modules/corpus-selector-sk/BUILD.bazel b/golden/modules/corpus-selector-sk/BUILD.bazel
index 8e6acc8..dc499ad 100644
--- a/golden/modules/corpus-selector-sk/BUILD.bazel
+++ b/golden/modules/corpus-selector-sk/BUILD.bazel
@@ -3,13 +3,13 @@
 sk_element(
     name = "corpus-selector-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["corpus-selector-sk.scss"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "corpus-selector-sk.ts",
@@ -24,7 +24,7 @@
     sk_element_deps = [":corpus-selector-sk"],
     ts_deps = [
         ":test_data_ts_lib",
-        "@npm//common-sk",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "corpus-selector-sk-demo.ts",
 )
diff --git a/golden/modules/corpus-selector-sk/corpus-selector-sk-demo.ts b/golden/modules/corpus-selector-sk/corpus-selector-sk-demo.ts
index bc25ed7..915086d 100644
--- a/golden/modules/corpus-selector-sk/corpus-selector-sk-demo.ts
+++ b/golden/modules/corpus-selector-sk/corpus-selector-sk-demo.ts
@@ -1,5 +1,5 @@
 import './index';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { CorpusSelectorSk } from './corpus-selector-sk';
 import { TestCorpus, customTypeCorpora, stringCorpora } from './test_data';
 
diff --git a/golden/modules/corpus-selector-sk/corpus-selector-sk.scss b/golden/modules/corpus-selector-sk/corpus-selector-sk.scss
index e6ff9f7..740b67b 100644
--- a/golden/modules/corpus-selector-sk/corpus-selector-sk.scss
+++ b/golden/modules/corpus-selector-sk/corpus-selector-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 
 corpus-selector-sk {
   ul {
diff --git a/golden/modules/corpus-selector-sk/corpus-selector-sk.ts b/golden/modules/corpus-selector-sk/corpus-selector-sk.ts
index cba6b2f..d04ce54 100644
--- a/golden/modules/corpus-selector-sk/corpus-selector-sk.ts
+++ b/golden/modules/corpus-selector-sk/corpus-selector-sk.ts
@@ -10,7 +10,7 @@
  *                    selected corpus.
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
diff --git a/golden/modules/details-page-sk/BUILD.bazel b/golden/modules/details-page-sk/BUILD.bazel
index 8c142e8..ec28f48 100644
--- a/golden/modules/details-page-sk/BUILD.bazel
+++ b/golden/modules/details-page-sk/BUILD.bazel
@@ -10,7 +10,7 @@
 sk_element(
     name = "details-page-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["details-page-sk.scss"],
     sk_element_deps = ["//golden/modules/digest-details-sk"],
@@ -18,9 +18,10 @@
         "//golden/modules:common_ts_lib",
         "//golden/modules:rpc_types_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "details-page-sk.ts",
@@ -43,9 +44,9 @@
         "//golden/modules/digest-details-sk:test_data_ts_lib",
         "//golden/modules/last-commit-sk:demo_data_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
         "//golden/modules/search-page-sk:demo_data_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "details-page-sk-demo.ts",
 )
@@ -82,10 +83,10 @@
         "//golden/modules:rpc_types_ts_lib",
         "//golden/modules/digest-details-sk:test_data_ts_lib",
         "//golden/modules/search-page-sk:demo_data_ts_lib",
+        "//infra-sk/modules:object_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/golden/modules/details-page-sk/details-page-sk-demo.ts b/golden/modules/details-page-sk/details-page-sk-demo.ts
index ba4db32..d125a4b 100644
--- a/golden/modules/details-page-sk/details-page-sk-demo.ts
+++ b/golden/modules/details-page-sk/details-page-sk-demo.ts
@@ -1,7 +1,7 @@
 import './index';
 import '../gold-scaffold-sk';
 
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { fakeNow, twoHundredCommits, makeTypicalSearchResult } from '../digest-details-sk/test_data';
 import { delay } from '../demo_util';
diff --git a/golden/modules/details-page-sk/details-page-sk.scss b/golden/modules/details-page-sk/details-page-sk.scss
index 084e02a..60b59de 100644
--- a/golden/modules/details-page-sk/details-page-sk.scss
+++ b/golden/modules/details-page-sk/details-page-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 
 details-page-sk {
   digest-details-sk {
diff --git a/golden/modules/details-page-sk/details-page-sk.ts b/golden/modules/details-page-sk/details-page-sk.ts
index 2e77ef8..a78acb5 100644
--- a/golden/modules/details-page-sk/details-page-sk.ts
+++ b/golden/modules/details-page-sk/details-page-sk.ts
@@ -4,10 +4,10 @@
  *
  * Page to view details about a digest. This includes other digests similar to it and trace history.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { stateReflector } from 'common-sk/modules/stateReflector';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
 import '../digest-details-sk';
diff --git a/golden/modules/details-page-sk/details-page-sk_test.ts b/golden/modules/details-page-sk/details-page-sk_test.ts
index 1027cb6..9b3ff79 100644
--- a/golden/modules/details-page-sk/details-page-sk_test.ts
+++ b/golden/modules/details-page-sk/details-page-sk_test.ts
@@ -1,7 +1,7 @@
 import './index';
 import fetchMock from 'fetch-mock';
 import { expect } from 'chai';
-import { deepCopy } from 'common-sk/modules/object';
+import { deepCopy } from '../../../infra-sk/modules/object';
 import {
   eventPromise, eventSequencePromise, setQueryString, setUpElementUnderTest,
 } from '../../../infra-sk/modules/test_util';
diff --git a/golden/modules/diff-page-sk/BUILD.bazel b/golden/modules/diff-page-sk/BUILD.bazel
index 213de7a..eff7ed1 100644
--- a/golden/modules/diff-page-sk/BUILD.bazel
+++ b/golden/modules/diff-page-sk/BUILD.bazel
@@ -10,7 +10,7 @@
 sk_element(
     name = "diff-page-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["diff-page-sk.scss"],
     sk_element_deps = ["//golden/modules/digest-details-sk"],
@@ -18,9 +18,10 @@
         "//golden/modules:common_ts_lib",
         "//golden/modules:rpc_types_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "diff-page-sk.ts",
@@ -43,9 +44,9 @@
         "//golden/modules/digest-details-sk:test_data_ts_lib",
         "//golden/modules/last-commit-sk:demo_data_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
         "//golden/modules/search-page-sk:demo_data_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "diff-page-sk-demo.ts",
 )
@@ -82,10 +83,10 @@
         "//golden/modules:rpc_types_ts_lib",
         "//golden/modules/digest-details-sk:test_data_ts_lib",
         "//golden/modules/search-page-sk:demo_data_ts_lib",
+        "//infra-sk/modules:object_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/golden/modules/diff-page-sk/diff-page-sk-demo.ts b/golden/modules/diff-page-sk/diff-page-sk-demo.ts
index c5b67aa..6304b47 100644
--- a/golden/modules/diff-page-sk/diff-page-sk-demo.ts
+++ b/golden/modules/diff-page-sk/diff-page-sk-demo.ts
@@ -1,7 +1,7 @@
 import './index';
 import '../gold-scaffold-sk';
 
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { fakeNow, makeTypicalSearchResult } from '../digest-details-sk/test_data';
 import { delay } from '../demo_util';
diff --git a/golden/modules/diff-page-sk/diff-page-sk.scss b/golden/modules/diff-page-sk/diff-page-sk.scss
index d62f6a7..4f9409e 100644
--- a/golden/modules/diff-page-sk/diff-page-sk.scss
+++ b/golden/modules/diff-page-sk/diff-page-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 
 diff-page-sk {
   digest-details-sk {
diff --git a/golden/modules/diff-page-sk/diff-page-sk.ts b/golden/modules/diff-page-sk/diff-page-sk.ts
index 9dbe462..1e9aa03 100644
--- a/golden/modules/diff-page-sk/diff-page-sk.ts
+++ b/golden/modules/diff-page-sk/diff-page-sk.ts
@@ -4,10 +4,10 @@
  *
  * Page to view a specific diff between two digests. This does not include trace data.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { stateReflector } from 'common-sk/modules/stateReflector';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
 import '../digest-details-sk';
diff --git a/golden/modules/diff-page-sk/diff-page-sk_test.ts b/golden/modules/diff-page-sk/diff-page-sk_test.ts
index b93ab2f..c0f85ec 100644
--- a/golden/modules/diff-page-sk/diff-page-sk_test.ts
+++ b/golden/modules/diff-page-sk/diff-page-sk_test.ts
@@ -1,7 +1,7 @@
 import './index';
 import fetchMock from 'fetch-mock';
 import { expect } from 'chai';
-import { deepCopy } from 'common-sk/modules/object';
+import { deepCopy } from '../../../infra-sk/modules/object';
 import { eventPromise, eventSequencePromise, setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
 import { DigestComparison, TriageRequestV3, TriageResponse } from '../rpc_types';
 import { groupingsResponse } from '../search-page-sk/demo_data';
diff --git a/golden/modules/digest-details-sk/BUILD.bazel b/golden/modules/digest-details-sk/BUILD.bazel
index c4db597..852ccdc 100644
--- a/golden/modules/digest-details-sk/BUILD.bazel
+++ b/golden/modules/digest-details-sk/BUILD.bazel
@@ -11,7 +11,7 @@
     name = "digest-details-sk",
     sass_deps = [
         "//golden/modules:colors_sass_lib",
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["digest-details-sk.scss"],
     sk_element_deps = [
@@ -22,15 +22,17 @@
         "//golden/modules/search-controls-sk",
         "//golden/modules/triage-sk",
         "//infra-sk/modules/paramset-sk",
+        "//elements-sk/modules/icons/group-work-icon-sk",
     ],
     ts_deps = [
         "//golden/modules:common_ts_lib",
         "//golden/modules:rpc_types_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "//infra-sk/modules:string_ts_lib",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
     ],
     ts_srcs = [
         "digest-details-sk.ts",
@@ -48,9 +50,9 @@
         "//golden/modules:demo_util_ts_lib",
         "//golden/modules:rpc_types_ts_lib",
         "//golden/modules:settings_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
         "//golden/modules/search-page-sk:demo_data_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "digest-details-sk-demo.ts",
 )
@@ -86,13 +88,13 @@
         ":digest-details-sk",
         ":digest-details-sk_po_ts_lib",
         ":test_data_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
         "//golden/modules:rpc_types_ts_lib",
         "//golden/modules/search-page-sk:demo_data_ts_lib",
+        "//infra-sk/modules:object_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//fetch-mock",
     ],
 )
@@ -103,6 +105,6 @@
     visibility = ["//visibility:public"],
     deps = [
         "//golden/modules:rpc_types_ts_lib",
-        "@npm//common-sk",
+        "//infra-sk/modules:object_ts_lib",
     ],
 )
diff --git a/golden/modules/digest-details-sk/digest-details-sk-demo.ts b/golden/modules/digest-details-sk/digest-details-sk-demo.ts
index 1aed23c..2b05ee8 100644
--- a/golden/modules/digest-details-sk/digest-details-sk-demo.ts
+++ b/golden/modules/digest-details-sk/digest-details-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 import fetchMock, { MockResponseObject } from 'fetch-mock';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import {
   typicalDetails, negativeOnly, noRefs, noRefsYet, noTraces, twoHundredCommits, fakeNow, typicalDetailsDisallowTriaging, noRefsDisallowTriaging,
 } from './test_data';
diff --git a/golden/modules/digest-details-sk/digest-details-sk.scss b/golden/modules/digest-details-sk/digest-details-sk.scss
index a0b75fc..ba38ffe 100644
--- a/golden/modules/digest-details-sk/digest-details-sk.scss
+++ b/golden/modules/digest-details-sk/digest-details-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 @import '../colors';
 
 digest-details-sk {
diff --git a/golden/modules/digest-details-sk/digest-details-sk.ts b/golden/modules/digest-details-sk/digest-details-sk.ts
index e870ecb..9f77153 100644
--- a/golden/modules/digest-details-sk/digest-details-sk.ts
+++ b/golden/modules/digest-details-sk/digest-details-sk.ts
@@ -16,10 +16,10 @@
  *   the blamelist (an array of commits that could have made up that dot).
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { errorMessage } from 'elements-sk/errorMessage';
-import { diffDate } from 'common-sk/modules/human';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
+import { diffDate } from '../../../infra-sk/modules/human';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { truncate } from '../../../infra-sk/modules/string';
 import {
@@ -27,7 +27,7 @@
   detailHref, diffPageHref, sendBeginTask, sendEndTask, sendFetchError,
 } from '../common';
 
-import 'elements-sk/icon/group-work-icon-sk';
+import '../../../elements-sk/modules/icons/group-work-icon-sk';
 import '../dots-sk';
 import '../dots-legend-sk';
 import '../triage-sk';
diff --git a/golden/modules/digest-details-sk/digest-details-sk_test.ts b/golden/modules/digest-details-sk/digest-details-sk_test.ts
index 99ee494..ca35639 100644
--- a/golden/modules/digest-details-sk/digest-details-sk_test.ts
+++ b/golden/modules/digest-details-sk/digest-details-sk_test.ts
@@ -1,8 +1,8 @@
 import './index';
 import fetchMock from 'fetch-mock';
 import { expect } from 'chai';
-import { deepCopy } from 'common-sk/modules/object';
-import { ErrorSkEventDetail } from 'elements-sk/errorMessage';
+import { deepCopy } from '../../../infra-sk/modules/object';
+import { ErrorSkEventDetail } from '../../../elements-sk/modules/errorMessage';
 import { eventPromise, noEventPromise, setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
 import { twoHundredCommits, typicalDetails, typicalDetailsDisallowTriaging } from './test_data';
 import { DigestDetailsSk } from './digest-details-sk';
diff --git a/golden/modules/digest-details-sk/test_data.ts b/golden/modules/digest-details-sk/test_data.ts
index 6ddb4dd..d80cb3e 100644
--- a/golden/modules/digest-details-sk/test_data.ts
+++ b/golden/modules/digest-details-sk/test_data.ts
@@ -1,4 +1,4 @@
-import { deepCopy } from 'common-sk/modules/object';
+import { deepCopy } from '../../../infra-sk/modules/object';
 import {
   Commit, Digest, SearchResult, TestName,
 } from '../rpc_types';
diff --git a/golden/modules/dots-legend-sk/BUILD.bazel b/golden/modules/dots-legend-sk/BUILD.bazel
index b62e07e..4c8853b 100644
--- a/golden/modules/dots-legend-sk/BUILD.bazel
+++ b/golden/modules/dots-legend-sk/BUILD.bazel
@@ -11,13 +11,18 @@
         "//golden/modules:colors_sass_lib",
     ],
     sass_srcs = ["dots-legend-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/icons/cancel-icon-sk",
+        "//elements-sk/modules/icons/check-circle-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+    ],
     ts_deps = [
         "//golden/modules/dots-sk:constants_ts_lib",
         "//golden/modules:common_ts_lib",
         "//golden/modules:rpc_types_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "dots-legend-sk.ts",
diff --git a/golden/modules/dots-legend-sk/dots-legend-sk.ts b/golden/modules/dots-legend-sk/dots-legend-sk.ts
index e0b9e99..3bc4aaf 100644
--- a/golden/modules/dots-legend-sk/dots-legend-sk.ts
+++ b/golden/modules/dots-legend-sk/dots-legend-sk.ts
@@ -5,7 +5,7 @@
  * A legend for the dots-sk element.
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import {
@@ -16,9 +16,9 @@
 import { detailHref, diffPageHref } from '../common';
 import { DigestStatus, Label, Params } from '../rpc_types';
 
-import 'elements-sk/icon/cancel-icon-sk';
-import 'elements-sk/icon/check-circle-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
+import '../../../elements-sk/modules/icons/cancel-icon-sk';
+import '../../../elements-sk/modules/icons/check-circle-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
 
 export class DotsLegendSk extends ElementSk {
   private static template = (el: DotsLegendSk) => html`
diff --git a/golden/modules/dots-sk/BUILD.bazel b/golden/modules/dots-sk/BUILD.bazel
index df04938..1108ba5 100644
--- a/golden/modules/dots-sk/BUILD.bazel
+++ b/golden/modules/dots-sk/BUILD.bazel
@@ -25,9 +25,9 @@
         "//golden/modules:rpc_types_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
         ":constants_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "dots-sk.ts",
@@ -43,7 +43,7 @@
     ts_deps = [
         "//golden/modules:demo_util_ts_lib",
         ":demo_data_ts_lib",
-        "@npm//common-sk",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "dots-sk-demo.ts",
 )
diff --git a/golden/modules/dots-sk/dots-sk-demo.ts b/golden/modules/dots-sk/dots-sk-demo.ts
index d454400..0567ea4 100644
--- a/golden/modules/dots-sk/dots-sk-demo.ts
+++ b/golden/modules/dots-sk/dots-sk-demo.ts
@@ -1,5 +1,5 @@
 import './index';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { isPuppeteerTest } from '../demo_util';
 import { traces, commits } from './demo_data';
 import { DotsSk } from './dots-sk';
diff --git a/golden/modules/dots-sk/dots-sk.ts b/golden/modules/dots-sk/dots-sk.ts
index 05b8c31..054b040 100644
--- a/golden/modules/dots-sk/dots-sk.ts
+++ b/golden/modules/dots-sk/dots-sk.ts
@@ -13,9 +13,9 @@
  *   the trace id.
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import {
   dotToCanvasX,
diff --git a/golden/modules/edit-ignore-rule-sk/BUILD.bazel b/golden/modules/edit-ignore-rule-sk/BUILD.bazel
index 6c6b19e..b37de44 100644
--- a/golden/modules/edit-ignore-rule-sk/BUILD.bazel
+++ b/golden/modules/edit-ignore-rule-sk/BUILD.bazel
@@ -13,9 +13,9 @@
         "//golden/modules:common_ts_lib",
         "//golden/modules:rpc_types_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
     ],
     ts_srcs = [
         "edit-ignore-rule-sk.ts",
@@ -31,7 +31,7 @@
     ts_deps = [
         "//golden/modules:shared_demo_data_ts_lib",
         ":edit-ignore-rule-sk_po_ts_lib",
-        "@npm//common-sk",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "edit-ignore-rule-sk-demo.ts",
 )
diff --git a/golden/modules/edit-ignore-rule-sk/edit-ignore-rule-sk-demo.ts b/golden/modules/edit-ignore-rule-sk/edit-ignore-rule-sk-demo.ts
index 5d2bd15..f8b5d44 100644
--- a/golden/modules/edit-ignore-rule-sk/edit-ignore-rule-sk-demo.ts
+++ b/golden/modules/edit-ignore-rule-sk/edit-ignore-rule-sk-demo.ts
@@ -1,5 +1,5 @@
 import './index';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { manyParams } from '../shared_demo_data';
 import { EditIgnoreRuleSk } from './edit-ignore-rule-sk';
 import { EditIgnoreRuleSkPO } from './edit-ignore-rule-sk_po';
diff --git a/golden/modules/edit-ignore-rule-sk/edit-ignore-rule-sk.ts b/golden/modules/edit-ignore-rule-sk/edit-ignore-rule-sk.ts
index b2b8427..6a62890 100644
--- a/golden/modules/edit-ignore-rule-sk/edit-ignore-rule-sk.ts
+++ b/golden/modules/edit-ignore-rule-sk/edit-ignore-rule-sk.ts
@@ -8,9 +8,9 @@
  * TODO(kjlubick) Add client-side validation of expires values.
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { diffDate } from 'common-sk/modules/human';
+import { diffDate } from '../../../infra-sk/modules/human';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { humanReadableQuery } from '../common';
 import { ParamSet } from '../rpc_types';
diff --git a/golden/modules/filter-dialog-sk/BUILD.bazel b/golden/modules/filter-dialog-sk/BUILD.bazel
index 33e4d79..b6c52f5 100644
--- a/golden/modules/filter-dialog-sk/BUILD.bazel
+++ b/golden/modules/filter-dialog-sk/BUILD.bazel
@@ -7,16 +7,20 @@
 
 sk_element(
     name = "filter-dialog-sk",
+    sass_deps = ["//elements-sk/modules/styles:buttons_sass_lib"],
     sass_srcs = ["filter-dialog-sk.scss"],
     sk_element_deps = [
         "//golden/modules/trace-filter-sk",
         "//infra-sk/modules/paramset-sk",
+        "//elements-sk/modules/checkbox-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:object_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_srcs = [
         "filter-dialog-sk.ts",
@@ -29,7 +33,11 @@
     name = "filter-dialog-sk-demo",
     html_file = "filter-dialog-sk-demo.html",
     sk_element_deps = [":filter-dialog-sk"],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = [
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:object_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
+    ],
     ts_entry_point = "filter-dialog-sk-demo.ts",
 )
 
@@ -39,10 +47,10 @@
     visibility = ["//visibility:public"],
     deps = [
         ":filter-dialog-sk",
+        "//elements-sk/modules/checkbox-sk",
         "//golden/modules/trace-filter-sk:trace-filter-sk_po_ts_lib",
         "//infra-sk/modules/page_object:page_object_element_ts_lib",
         "//infra-sk/modules/page_object:page_object_ts_lib",
-        "@npm//elements-sk",
     ],
 )
 
@@ -64,9 +72,9 @@
     deps = [
         ":filter-dialog-sk",
         ":filter-dialog-sk_po_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/golden/modules/filter-dialog-sk/filter-dialog-sk-demo.ts b/golden/modules/filter-dialog-sk/filter-dialog-sk-demo.ts
index 07ebdd2..a6d0faa 100644
--- a/golden/modules/filter-dialog-sk/filter-dialog-sk-demo.ts
+++ b/golden/modules/filter-dialog-sk/filter-dialog-sk-demo.ts
@@ -1,7 +1,7 @@
 import './index';
-import { $$ } from 'common-sk/modules/dom';
-import { ParamSet, fromParamSet } from 'common-sk/modules/query';
-import { deepCopy } from 'common-sk/modules/object';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { ParamSet, fromParamSet } from '../../../infra-sk/modules/query';
+import { deepCopy } from '../../../infra-sk/modules/object';
 import { FilterDialogSk, Filters } from './filter-dialog-sk';
 
 const paramSet: ParamSet = {
diff --git a/golden/modules/filter-dialog-sk/filter-dialog-sk.scss b/golden/modules/filter-dialog-sk/filter-dialog-sk.scss
index c0d91f8..eb0eba8 100644
--- a/golden/modules/filter-dialog-sk/filter-dialog-sk.scss
+++ b/golden/modules/filter-dialog-sk/filter-dialog-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 // This selector includes ".filter-dialog" to avoid overriding the styles of
 // the nested <query-dialog-sk/> (e.g. both define styles for the classes
 // "content" and "buttons").
diff --git a/golden/modules/filter-dialog-sk/filter-dialog-sk.ts b/golden/modules/filter-dialog-sk/filter-dialog-sk.ts
index ba3b1e6..b51c01a 100644
--- a/golden/modules/filter-dialog-sk/filter-dialog-sk.ts
+++ b/golden/modules/filter-dialog-sk/filter-dialog-sk.ts
@@ -9,16 +9,15 @@
  *         The "detail" field of the event contains the filter values entered by the user.
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { live } from 'lit-html/directives/live';
-import { $$ } from 'common-sk/modules/dom';
-import { deepCopy } from 'common-sk/modules/object';
-import { ParamSet } from 'common-sk/modules/query';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { deepCopy } from '../../../infra-sk/modules/object';
+import { ParamSet } from '../../../infra-sk/modules/query';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
-import 'elements-sk/styles/buttons';
-import 'elements-sk/checkbox-sk';
+import '../../../elements-sk/modules/checkbox-sk';
 import '../trace-filter-sk';
 import '../../../infra-sk/modules/paramset-sk';
 
diff --git a/golden/modules/filter-dialog-sk/filter-dialog-sk_po.ts b/golden/modules/filter-dialog-sk/filter-dialog-sk_po.ts
index 4597ca5..a7c4725 100644
--- a/golden/modules/filter-dialog-sk/filter-dialog-sk_po.ts
+++ b/golden/modules/filter-dialog-sk/filter-dialog-sk_po.ts
@@ -1,4 +1,4 @@
-import { CheckOrRadio } from 'elements-sk/checkbox-sk/checkbox-sk';
+import { CheckOrRadio } from '../../../elements-sk/modules/checkbox-sk/checkbox-sk';
 import { PageObject } from '../../../infra-sk/modules/page_object/page_object';
 import { TraceFilterSkPO } from '../trace-filter-sk/trace-filter-sk_po';
 import { Filters } from './filter-dialog-sk';
diff --git a/golden/modules/filter-dialog-sk/filter-dialog-sk_test.ts b/golden/modules/filter-dialog-sk/filter-dialog-sk_test.ts
index 372c676..a52b000 100644
--- a/golden/modules/filter-dialog-sk/filter-dialog-sk_test.ts
+++ b/golden/modules/filter-dialog-sk/filter-dialog-sk_test.ts
@@ -1,7 +1,7 @@
 import './index';
 
 import { expect } from 'chai';
-import { ParamSet } from 'common-sk/modules/query';
+import { ParamSet } from '../../../infra-sk/modules/query';
 import { setUpElementUnderTest, eventPromise, noEventPromise } from '../../../infra-sk/modules/test_util';
 import { FilterDialogSk, Filters } from './filter-dialog-sk';
 import { FilterDialogSkPO } from './filter-dialog-sk_po';
diff --git a/golden/modules/gold-scaffold-sk/BUILD.bazel b/golden/modules/gold-scaffold-sk/BUILD.bazel
index 895979c..8e7ea6b 100644
--- a/golden/modules/gold-scaffold-sk/BUILD.bazel
+++ b/golden/modules/gold-scaffold-sk/BUILD.bazel
@@ -9,20 +9,33 @@
     name = "gold-scaffold-sk",
     sass_deps = [
         "//golden/modules:colors_sass_lib",
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["gold-scaffold-sk.scss"],
     sk_element_deps = [
         "//golden/modules/last-commit-sk",
         "//infra-sk/modules/app-sk",
         "//infra-sk/modules/login-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/find-in-page-icon-sk",
+        "//elements-sk/modules/icons/folder-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/icons/home-icon-sk",
+        "//elements-sk/modules/icons/label-icon-sk",
+        "//elements-sk/modules/icons/laptop-chromebook-icon-sk",
+        "//elements-sk/modules/icons/list-icon-sk",
+        "//elements-sk/modules/icons/search-icon-sk",
+        "//elements-sk/modules/icons/sync-problem-icon-sk",
+        "//elements-sk/modules/icons/view-day-icon-sk",
+        "//elements-sk/modules/spinner-sk",
     ],
     ts_deps = [
         "//golden/modules:common_ts_lib",
         "//golden/modules:settings_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
     ],
     ts_srcs = [
         "gold-scaffold-sk.ts",
@@ -37,7 +50,7 @@
     sk_element_deps = [":gold-scaffold-sk"],
     ts_deps = [
         "//golden/modules:settings_ts_lib",
-        "@npm//common-sk",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "gold-scaffold-sk-demo.ts",
 )
@@ -58,14 +71,14 @@
     src = "gold-scaffold-sk_test.ts",
     deps = [
         ":gold-scaffold-sk",
+        "//elements-sk/modules/spinner-sk",
         "//golden/modules:common_ts_lib",
         "//golden/modules:settings_ts_lib",
         "//golden/modules/last-commit-sk:demo_data_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/golden/modules/gold-scaffold-sk/gold-scaffold-sk-demo.ts b/golden/modules/gold-scaffold-sk/gold-scaffold-sk-demo.ts
index 9f442eb..d0a7509 100644
--- a/golden/modules/gold-scaffold-sk/gold-scaffold-sk-demo.ts
+++ b/golden/modules/gold-scaffold-sk/gold-scaffold-sk-demo.ts
@@ -1,5 +1,5 @@
 import './index';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { testOnlySetSettings } from '../settings';
 import { GoldScaffoldSk } from './gold-scaffold-sk';
 
diff --git a/golden/modules/gold-scaffold-sk/gold-scaffold-sk.scss b/golden/modules/gold-scaffold-sk/gold-scaffold-sk.scss
index ab6959d..4897b5e 100644
--- a/golden/modules/gold-scaffold-sk/gold-scaffold-sk.scss
+++ b/golden/modules/gold-scaffold-sk/gold-scaffold-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 @import '../colors';
 
 gold-scaffold-sk {
diff --git a/golden/modules/gold-scaffold-sk/gold-scaffold-sk.ts b/golden/modules/gold-scaffold-sk/gold-scaffold-sk.ts
index 0da3c18..6952746 100644
--- a/golden/modules/gold-scaffold-sk/gold-scaffold-sk.ts
+++ b/golden/modules/gold-scaffold-sk/gold-scaffold-sk.ts
@@ -12,10 +12,10 @@
  *
  * @attr {boolean} testing_offline - If we should operate entirely in offline mode.
  */
-import { define } from 'elements-sk/define';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { define } from '../../../elements-sk/modules/define';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html } from 'lit-html';
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { title } from '../settings';
 import { FetchErrorEventDetail } from '../common';
@@ -25,18 +25,18 @@
 
 import '../last-commit-sk';
 
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/icon/find-in-page-icon-sk';
-import 'elements-sk/icon/folder-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/icon/home-icon-sk';
-import 'elements-sk/icon/label-icon-sk';
-import 'elements-sk/icon/laptop-chromebook-icon-sk';
-import 'elements-sk/icon/list-icon-sk';
-import 'elements-sk/icon/search-icon-sk';
-import 'elements-sk/icon/sync-problem-icon-sk';
-import 'elements-sk/icon/view-day-icon-sk';
-import 'elements-sk/spinner-sk';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/icons/find-in-page-icon-sk';
+import '../../../elements-sk/modules/icons/folder-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/icons/home-icon-sk';
+import '../../../elements-sk/modules/icons/label-icon-sk';
+import '../../../elements-sk/modules/icons/laptop-chromebook-icon-sk';
+import '../../../elements-sk/modules/icons/list-icon-sk';
+import '../../../elements-sk/modules/icons/search-icon-sk';
+import '../../../elements-sk/modules/icons/sync-problem-icon-sk';
+import '../../../elements-sk/modules/icons/view-day-icon-sk';
+import '../../../elements-sk/modules/spinner-sk';
 
 /** Moves the elements in a NodeList or HTMLCollection as children of another element. */
 function move(from: HTMLCollection | NodeList, to: HTMLElement) {
diff --git a/golden/modules/gold-scaffold-sk/gold-scaffold-sk_test.ts b/golden/modules/gold-scaffold-sk/gold-scaffold-sk_test.ts
index 376cbac..41bdd18 100644
--- a/golden/modules/gold-scaffold-sk/gold-scaffold-sk_test.ts
+++ b/golden/modules/gold-scaffold-sk/gold-scaffold-sk_test.ts
@@ -1,9 +1,9 @@
 import './index';
 
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { expect } from 'chai';
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
 import { eventPromise, setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
 import { sendBeginTask, sendEndTask } from '../common';
 import { exampleStatusData } from '../last-commit-sk/demo_data';
diff --git a/golden/modules/ignores-page-sk/BUILD.bazel b/golden/modules/ignores-page-sk/BUILD.bazel
index 98ab4aa..6a25e00 100644
--- a/golden/modules/ignores-page-sk/BUILD.bazel
+++ b/golden/modules/ignores-page-sk/BUILD.bazel
@@ -9,21 +9,28 @@
     name = "ignores-page-sk",
     sass_deps = [
         "//golden/modules:colors_sass_lib",
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["ignores-page-sk.scss"],
     sk_element_deps = [
         "//golden/modules/edit-ignore-rule-sk",
         "//infra-sk/modules/confirm-dialog-sk",
+        "//elements-sk/modules/checkbox-sk",
+        "//elements-sk/modules/icons/delete-icon-sk",
+        "//elements-sk/modules/icons/info-outline-icon-sk",
+        "//elements-sk/modules/icons/mode-edit-icon-sk",
     ],
     ts_deps = [
         "//golden/modules:common_ts_lib",
         "//golden/modules:rpc_types_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//infra-sk/modules:linkify_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "ignores-page-sk.ts",
@@ -68,13 +75,13 @@
     deps = [
         ":ignores-page-sk",
         ":test_data_ts_lib",
+        "//elements-sk/modules/checkbox-sk",
         "//golden/modules:rpc_types_ts_lib",
         "//golden/modules/edit-ignore-rule-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/golden/modules/ignores-page-sk/ignores-page-sk.scss b/golden/modules/ignores-page-sk/ignores-page-sk.scss
index c894b13..196facb 100644
--- a/golden/modules/ignores-page-sk/ignores-page-sk.scss
+++ b/golden/modules/ignores-page-sk/ignores-page-sk.scss
@@ -1,4 +1,5 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/styles/buttons';
+@import '../../../elements-sk/modules/colors';
 @import '../colors';
 
 ignores-page-sk {
diff --git a/golden/modules/ignores-page-sk/ignores-page-sk.ts b/golden/modules/ignores-page-sk/ignores-page-sk.ts
index 3110e50..e2fd118 100644
--- a/golden/modules/ignores-page-sk/ignores-page-sk.ts
+++ b/golden/modules/ignores-page-sk/ignores-page-sk.ts
@@ -5,13 +5,13 @@
  * Page to view/edit/delete ignore rules.
  */
 
-import * as human from 'common-sk/modules/human';
+import * as human from '../../../infra-sk/modules/human';
 
 import { classMap } from 'lit-html/directives/class-map';
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { stateReflector } from 'common-sk/modules/stateReflector';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { escapeAndLinkify } from '../../../infra-sk/modules/linkify';
 import {
@@ -25,11 +25,10 @@
 
 import '../../../infra-sk/modules/confirm-dialog-sk';
 import '../edit-ignore-rule-sk';
-import 'elements-sk/checkbox-sk';
-import 'elements-sk/icon/delete-icon-sk';
-import 'elements-sk/icon/info-outline-icon-sk';
-import 'elements-sk/icon/mode-edit-icon-sk';
-import 'elements-sk/styles/buttons';
+import '../../../elements-sk/modules/checkbox-sk';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
+import '../../../elements-sk/modules/icons/info-outline-icon-sk';
+import '../../../elements-sk/modules/icons/mode-edit-icon-sk';
 
 function trimEmail(s: string) {
   return `${s.split('@')[0]}@`;
diff --git a/golden/modules/ignores-page-sk/ignores-page-sk_test.ts b/golden/modules/ignores-page-sk/ignores-page-sk_test.ts
index c37e232..327cf0c 100644
--- a/golden/modules/ignores-page-sk/ignores-page-sk_test.ts
+++ b/golden/modules/ignores-page-sk/ignores-page-sk_test.ts
@@ -1,8 +1,8 @@
 import './index';
 
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
-import { CheckOrRadio } from 'elements-sk/checkbox-sk/checkbox-sk';
+import { CheckOrRadio } from '../../../elements-sk/modules/checkbox-sk/checkbox-sk';
 import { expect } from 'chai';
 import {
   eventPromise,
diff --git a/golden/modules/image-compare-sk/BUILD.bazel b/golden/modules/image-compare-sk/BUILD.bazel
index 2c60484..407a400 100644
--- a/golden/modules/image-compare-sk/BUILD.bazel
+++ b/golden/modules/image-compare-sk/BUILD.bazel
@@ -10,15 +10,19 @@
 sk_element(
     name = "image-compare-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["image-compare-sk.scss"],
-    sk_element_deps = ["//golden/modules/multi-zoom-sk"],
+    sk_element_deps = [
+        "//golden/modules/multi-zoom-sk",
+        "//elements-sk/modules/icons/open-in-new-icon-sk",
+    ],
     ts_deps = [
         "//golden/modules:common_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "image-compare-sk.ts",
@@ -31,7 +35,7 @@
     name = "image-compare-sk-demo",
     html_file = "image-compare-sk-demo.html",
     sk_element_deps = [":image-compare-sk"],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "image-compare-sk-demo.ts",
 )
 
diff --git a/golden/modules/image-compare-sk/image-compare-sk-demo.ts b/golden/modules/image-compare-sk/image-compare-sk-demo.ts
index 11a845d..6f7462a 100644
--- a/golden/modules/image-compare-sk/image-compare-sk-demo.ts
+++ b/golden/modules/image-compare-sk/image-compare-sk-demo.ts
@@ -1,5 +1,5 @@
 import './index';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { ImageCompareSk } from './image-compare-sk';
 
 const aDigest = '6246b773851984c726cb2e1cb13510c2';
diff --git a/golden/modules/image-compare-sk/image-compare-sk.scss b/golden/modules/image-compare-sk/image-compare-sk.scss
index e5c37e7..279604e 100644
--- a/golden/modules/image-compare-sk/image-compare-sk.scss
+++ b/golden/modules/image-compare-sk/image-compare-sk.scss
@@ -1,4 +1,5 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/styles/buttons';
+@import '../../../elements-sk/modules/colors';
 
 image-compare-sk {
   min-width: 510px;
diff --git a/golden/modules/image-compare-sk/image-compare-sk.ts b/golden/modules/image-compare-sk/image-compare-sk.ts
index 2d505d4..8ac1e45 100644
--- a/golden/modules/image-compare-sk/image-compare-sk.ts
+++ b/golden/modules/image-compare-sk/image-compare-sk.ts
@@ -6,13 +6,12 @@
  * only display one.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { MultiZoomSk } from '../multi-zoom-sk/multi-zoom-sk';
 
-import 'elements-sk/icon/open-in-new-icon-sk';
-import 'elements-sk/styles/buttons';
+import '../../../elements-sk/modules/icons/open-in-new-icon-sk';
 import { digestDiffImagePath, digestImagePath } from '../common';
 
 import '../multi-zoom-sk';
diff --git a/golden/modules/last-commit-sk/BUILD.bazel b/golden/modules/last-commit-sk/BUILD.bazel
index f645e52..598a34c 100644
--- a/golden/modules/last-commit-sk/BUILD.bazel
+++ b/golden/modules/last-commit-sk/BUILD.bazel
@@ -15,16 +15,16 @@
 sk_element(
     name = "last-commit-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["last-commit-sk.scss"],
     ts_deps = [
         "//golden/modules:rpc_types_ts_lib",
         "//golden/modules:settings_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -40,8 +40,8 @@
     ts_deps = [
         "//golden/modules:settings_ts_lib",
         ":demo_data_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "last-commit-sk-demo.ts",
 )
diff --git a/golden/modules/last-commit-sk/last-commit-sk-demo.ts b/golden/modules/last-commit-sk/last-commit-sk-demo.ts
index 79238bd..7011aaf 100644
--- a/golden/modules/last-commit-sk/last-commit-sk-demo.ts
+++ b/golden/modules/last-commit-sk/last-commit-sk-demo.ts
@@ -1,7 +1,7 @@
 import './index';
 
 import fetchMock from 'fetch-mock';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { testOnlySetSettings } from '../settings';
 import { exampleStatusData } from './demo_data';
 
diff --git a/golden/modules/last-commit-sk/last-commit-sk.scss b/golden/modules/last-commit-sk/last-commit-sk.scss
index e1e732b..5e91503 100644
--- a/golden/modules/last-commit-sk/last-commit-sk.scss
+++ b/golden/modules/last-commit-sk/last-commit-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 
 last-commit-sk {
   a {
diff --git a/golden/modules/last-commit-sk/last-commit-sk.ts b/golden/modules/last-commit-sk/last-commit-sk.ts
index b4a504c..221708a 100644
--- a/golden/modules/last-commit-sk/last-commit-sk.ts
+++ b/golden/modules/last-commit-sk/last-commit-sk.ts
@@ -6,9 +6,9 @@
  * ingested for it. If there are any network errors, it will log them and retry.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { baseRepoURL } from '../settings';
 import { StatusResponse } from '../rpc_types';
diff --git a/golden/modules/list-page-sk/BUILD.bazel b/golden/modules/list-page-sk/BUILD.bazel
index 0a79f71..ff68ad0 100644
--- a/golden/modules/list-page-sk/BUILD.bazel
+++ b/golden/modules/list-page-sk/BUILD.bazel
@@ -8,7 +8,7 @@
 sk_element(
     name = "list-page-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/themes/color-palette.scss",
+        "//elements-sk/modules/themes:color-palette_sass_lib",
     ],
     sass_srcs = ["list-page-sk.scss"],
     sk_element_deps = [
@@ -16,15 +16,22 @@
         "//golden/modules/query-dialog-sk",
         "//golden/modules/search-controls-sk",
         "//golden/modules/sort-toggle-sk",
+        "//elements-sk/modules/checkbox-sk",
+        "//elements-sk/modules/icons/group-work-icon-sk",
+        "//elements-sk/modules/icons/tune-icon-sk",
     ],
     ts_deps = [
         "//golden/modules:common_ts_lib",
         "//golden/modules:rpc_types_ts_lib",
         "//golden/modules:settings_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:hintable_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -74,10 +81,10 @@
         "//golden/modules/corpus-selector-sk:corpus-selector-sk_po_ts_lib",
         "//golden/modules/query-dialog-sk",
         "//golden/modules/query-dialog-sk:query-dialog-sk_po_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/golden/modules/list-page-sk/list-page-sk.scss b/golden/modules/list-page-sk/list-page-sk.scss
index 552113e..c7691dc 100644
--- a/golden/modules/list-page-sk/list-page-sk.scss
+++ b/golden/modules/list-page-sk/list-page-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/themes/color-palette.scss';
+@import '../../../elements-sk/modules/themes/color-palette';
 
 list-page-sk {
   table {
diff --git a/golden/modules/list-page-sk/list-page-sk.ts b/golden/modules/list-page-sk/list-page-sk.ts
index 225b95d..3fb613e 100644
--- a/golden/modules/list-page-sk/list-page-sk.ts
+++ b/golden/modules/list-page-sk/list-page-sk.ts
@@ -7,13 +7,13 @@
  *
  * It is a top level element.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { $$ } from 'common-sk/modules/dom';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { stateReflector } from 'common-sk/modules/stateReflector';
-import { fromObject } from 'common-sk/modules/query';
-import { HintableObject } from 'common-sk/modules/hintable';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
+import { fromObject } from '../../../infra-sk/modules/query';
+import { HintableObject } from '../../../infra-sk/modules/hintable';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import {
   clusterPageHref, sendBeginTask, sendEndTask, sendFetchError,
@@ -23,9 +23,9 @@
 import '../corpus-selector-sk';
 import '../query-dialog-sk';
 import '../sort-toggle-sk';
-import 'elements-sk/checkbox-sk';
-import 'elements-sk/icon/group-work-icon-sk';
-import 'elements-sk/icon/tune-icon-sk';
+import '../../../elements-sk/modules/checkbox-sk';
+import '../../../elements-sk/modules/icons/group-work-icon-sk';
+import '../../../elements-sk/modules/icons/tune-icon-sk';
 import { SearchCriteriaToHintableObject } from '../search-controls-sk';
 import { QueryDialogSk } from '../query-dialog-sk/query-dialog-sk';
 import { SortToggleSk } from '../sort-toggle-sk/sort-toggle-sk';
diff --git a/golden/modules/list-page-sk/list-page-sk_test.ts b/golden/modules/list-page-sk/list-page-sk_test.ts
index b556744..b68b8b3 100644
--- a/golden/modules/list-page-sk/list-page-sk_test.ts
+++ b/golden/modules/list-page-sk/list-page-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { expect } from 'chai';
 import {
diff --git a/golden/modules/multi-zoom-sk/BUILD.bazel b/golden/modules/multi-zoom-sk/BUILD.bazel
index 1c548c0..94acb90 100644
--- a/golden/modules/multi-zoom-sk/BUILD.bazel
+++ b/golden/modules/multi-zoom-sk/BUILD.bazel
@@ -10,13 +10,14 @@
 sk_element(
     name = "multi-zoom-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["multi-zoom-sk.scss"],
+    sk_element_deps = ["//elements-sk/modules/checkbox-sk"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -33,7 +34,7 @@
         ":test_data_ts_lib",
         "//golden/modules:common_ts_lib",
         "//golden/modules:demo_util_ts_lib",
-        "@npm//common-sk",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "multi-zoom-sk-demo.ts",
 )
@@ -43,9 +44,9 @@
     srcs = ["multi-zoom-sk_po.ts"],
     visibility = ["//visibility:public"],
     deps = [
+        "//elements-sk/modules/checkbox-sk",
         "//infra-sk/modules/page_object:page_object_element_ts_lib",
         "//infra-sk/modules/page_object:page_object_ts_lib",
-        "@npm//elements-sk",
     ],
 )
 
diff --git a/golden/modules/multi-zoom-sk/multi-zoom-sk-demo.ts b/golden/modules/multi-zoom-sk/multi-zoom-sk-demo.ts
index 6f04efc..f240aa0 100644
--- a/golden/modules/multi-zoom-sk/multi-zoom-sk-demo.ts
+++ b/golden/modules/multi-zoom-sk/multi-zoom-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { digestDiffImagePath, digestImagePath } from '../common';
 import { diff16x16, left16x16, right16x16 } from './test_data';
 import { isPuppeteerTest } from '../demo_util';
diff --git a/golden/modules/multi-zoom-sk/multi-zoom-sk.scss b/golden/modules/multi-zoom-sk/multi-zoom-sk.scss
index 936b4c9..6516125 100644
--- a/golden/modules/multi-zoom-sk/multi-zoom-sk.scss
+++ b/golden/modules/multi-zoom-sk/multi-zoom-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 
 multi-zoom-sk {
   font-family: sans-serif;
diff --git a/golden/modules/multi-zoom-sk/multi-zoom-sk.ts b/golden/modules/multi-zoom-sk/multi-zoom-sk.ts
index c817395..64594a5 100644
--- a/golden/modules/multi-zoom-sk/multi-zoom-sk.ts
+++ b/golden/modules/multi-zoom-sk/multi-zoom-sk.ts
@@ -10,11 +10,11 @@
  *
  * It should typically be wrapped in a dialog tag.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
-import 'elements-sk/checkbox-sk';
+import '../../../elements-sk/modules/checkbox-sk';
 
 const previewCanvasSize = 128;
 const zoomedCanvasSize = 500;
diff --git a/golden/modules/multi-zoom-sk/multi-zoom-sk_po.ts b/golden/modules/multi-zoom-sk/multi-zoom-sk_po.ts
index 787c257..f6dd86d 100644
--- a/golden/modules/multi-zoom-sk/multi-zoom-sk_po.ts
+++ b/golden/modules/multi-zoom-sk/multi-zoom-sk_po.ts
@@ -1,4 +1,4 @@
-import { CheckOrRadio } from 'elements-sk/checkbox-sk/checkbox-sk';
+import { CheckOrRadio } from '../../../elements-sk/modules/checkbox-sk/checkbox-sk';
 import { PageObject } from '../../../infra-sk/modules/page_object/page_object';
 import { PageObjectElement } from '../../../infra-sk/modules/page_object/page_object_element';
 
diff --git a/golden/modules/pagination-sk/BUILD.bazel b/golden/modules/pagination-sk/BUILD.bazel
index be44926..b3a0f17 100644
--- a/golden/modules/pagination-sk/BUILD.bazel
+++ b/golden/modules/pagination-sk/BUILD.bazel
@@ -3,13 +3,14 @@
 sk_element(
     name = "pagination-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["pagination-sk.scss"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/golden/modules/pagination-sk/pagination-sk.scss b/golden/modules/pagination-sk/pagination-sk.scss
index d5cfaab..5c4eb08 100644
--- a/golden/modules/pagination-sk/pagination-sk.scss
+++ b/golden/modules/pagination-sk/pagination-sk.scss
@@ -1,4 +1,5 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/styles/buttons';
+@import '../../../elements-sk/modules/colors';
 
 pagination-sk {
   button, div {
diff --git a/golden/modules/pagination-sk/pagination-sk.ts b/golden/modules/pagination-sk/pagination-sk.ts
index 3a39b72..37c1eb2 100644
--- a/golden/modules/pagination-sk/pagination-sk.ts
+++ b/golden/modules/pagination-sk/pagination-sk.ts
@@ -19,10 +19,9 @@
  */
 
 import { html } from 'lit-html';
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
-import 'elements-sk/styles/buttons';
 
 // MANY (2^31-1, aka math.MaxInt32) is a special value meaning the
 // server doesn't know how many items there are, only that it's more
diff --git a/golden/modules/query-dialog-sk/BUILD.bazel b/golden/modules/query-dialog-sk/BUILD.bazel
index 222ccbb..103230b 100644
--- a/golden/modules/query-dialog-sk/BUILD.bazel
+++ b/golden/modules/query-dialog-sk/BUILD.bazel
@@ -7,6 +7,7 @@
 
 sk_element(
     name = "query-dialog-sk",
+    sass_deps = ["//elements-sk/modules/styles:buttons_sass_lib"],
     sass_srcs = ["query-dialog-sk.scss"],
     sk_element_deps = [
         "//infra-sk/modules/paramset-sk",
@@ -14,9 +15,10 @@
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -29,7 +31,10 @@
     name = "query-dialog-sk-demo",
     html_file = "query-dialog-sk-demo.html",
     sk_element_deps = [":query-dialog-sk"],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = [
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
+    ],
     ts_entry_point = "query-dialog-sk-demo.ts",
 )
 
@@ -38,11 +43,11 @@
     srcs = ["query-dialog-sk_po.ts"],
     visibility = ["//visibility:public"],
     deps = [
+        "//infra-sk/modules:query_ts_lib",
         "//infra-sk/modules/page_object:page_object_element_ts_lib",
         "//infra-sk/modules/page_object:page_object_ts_lib",
         "//infra-sk/modules/paramset-sk:paramset-sk_po_ts_lib",
         "//infra-sk/modules/query-sk:query-sk_po_ts_lib",
-        "@npm//common-sk",
     ],
 )
 
@@ -64,9 +69,10 @@
     deps = [
         ":query-dialog-sk",
         ":query-dialog-sk_po_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/golden/modules/query-dialog-sk/query-dialog-sk-demo.ts b/golden/modules/query-dialog-sk/query-dialog-sk-demo.ts
index e2576fd..f531550 100644
--- a/golden/modules/query-dialog-sk/query-dialog-sk-demo.ts
+++ b/golden/modules/query-dialog-sk/query-dialog-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
-import { $$ } from 'common-sk/modules/dom';
-import { ParamSet, fromParamSet } from 'common-sk/modules/query';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { ParamSet, fromParamSet } from '../../../infra-sk/modules/query';
 import { QueryDialogSk } from './query-dialog-sk';
 
 const queryDialogSk = new QueryDialogSk();
diff --git a/golden/modules/query-dialog-sk/query-dialog-sk.scss b/golden/modules/query-dialog-sk/query-dialog-sk.scss
index e3184ad..3a5c42e 100644
--- a/golden/modules/query-dialog-sk/query-dialog-sk.scss
+++ b/golden/modules/query-dialog-sk/query-dialog-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 query-dialog-sk {
   .content {
     display: flex;
diff --git a/golden/modules/query-dialog-sk/query-dialog-sk.ts b/golden/modules/query-dialog-sk/query-dialog-sk.ts
index 7f1bb80..3fcd200 100644
--- a/golden/modules/query-dialog-sk/query-dialog-sk.ts
+++ b/golden/modules/query-dialog-sk/query-dialog-sk.ts
@@ -15,16 +15,15 @@
  *         the url-encoded selections.
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { $$ } from 'common-sk/modules/dom';
-import { ParamSet, toParamSet } from 'common-sk/modules/query';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { ParamSet, toParamSet } from '../../../infra-sk/modules/query';
 import { QuerySk, QuerySkQueryChangeEventDetail } from '../../../infra-sk/modules/query-sk/query-sk';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
 import '../../../infra-sk/modules/query-sk';
 import '../../../infra-sk/modules/paramset-sk';
-import 'elements-sk/styles/buttons';
 
 export class QueryDialogSk extends ElementSk {
   private static _template = (el: QueryDialogSk) => html`
diff --git a/golden/modules/query-dialog-sk/query-dialog-sk_po.ts b/golden/modules/query-dialog-sk/query-dialog-sk_po.ts
index 9d05f7c..06698f1 100644
--- a/golden/modules/query-dialog-sk/query-dialog-sk_po.ts
+++ b/golden/modules/query-dialog-sk/query-dialog-sk_po.ts
@@ -1,4 +1,4 @@
-import { ParamSet } from 'common-sk/modules/query';
+import { ParamSet } from '../../../infra-sk/modules/query';
 import { PageObject } from '../../../infra-sk/modules/page_object/page_object';
 import { ParamSetSkPO } from '../../../infra-sk/modules/paramset-sk/paramset-sk_po';
 import { QuerySkPO } from '../../../infra-sk/modules/query-sk/query-sk_po';
diff --git a/golden/modules/query-dialog-sk/query-dialog-sk_test.ts b/golden/modules/query-dialog-sk/query-dialog-sk_test.ts
index 711f0cf..34636b8 100644
--- a/golden/modules/query-dialog-sk/query-dialog-sk_test.ts
+++ b/golden/modules/query-dialog-sk/query-dialog-sk_test.ts
@@ -1,8 +1,8 @@
 import './index';
 
 import { expect } from 'chai';
-import { ParamSet, fromParamSet } from 'common-sk/modules/query';
-import { $$ } from 'common-sk/modules/dom';
+import { ParamSet, fromParamSet } from '../../../infra-sk/modules/query';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { setUpElementUnderTest, eventPromise, noEventPromise } from '../../../infra-sk/modules/test_util';
 import { QueryDialogSk } from './query-dialog-sk';
 import { QueryDialogSkPO } from './query-dialog-sk_po';
diff --git a/golden/modules/search-controls-sk/BUILD.bazel b/golden/modules/search-controls-sk/BUILD.bazel
index 617d6f1..c8cb630 100644
--- a/golden/modules/search-controls-sk/BUILD.bazel
+++ b/golden/modules/search-controls-sk/BUILD.bazel
@@ -7,18 +7,23 @@
 
 sk_element(
     name = "search-controls-sk",
+    sass_deps = ["//elements-sk/modules/styles:buttons_sass_lib"],
     sass_srcs = ["search-controls-sk.scss"],
     sk_element_deps = [
         "//golden/modules/corpus-selector-sk",
         "//golden/modules/filter-dialog-sk",
         "//golden/modules/trace-filter-sk",
+        "//elements-sk/modules/checkbox-sk",
     ],
     ts_deps = [
         "//golden/modules:settings_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:hintable_ts_lib",
+        "//infra-sk/modules:object_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -31,7 +36,10 @@
     name = "search-controls-sk-demo",
     html_file = "search-controls-sk-demo.html",
     sk_element_deps = [":search-controls-sk"],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = [
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
+    ],
     ts_entry_point = "search-controls-sk-demo.ts",
 )
 
@@ -41,12 +49,12 @@
     visibility = ["//visibility:public"],
     deps = [
         ":search-controls-sk",
+        "//elements-sk/modules/checkbox-sk",
         "//golden/modules/corpus-selector-sk:corpus-selector-sk_po_ts_lib",
         "//golden/modules/filter-dialog-sk:filter-dialog-sk_po_ts_lib",
         "//golden/modules/trace-filter-sk:trace-filter-sk_po_ts_lib",
         "//infra-sk/modules/page_object:page_object_element_ts_lib",
         "//infra-sk/modules/page_object:page_object_ts_lib",
-        "@npm//elements-sk",
     ],
 )
 
@@ -68,9 +76,10 @@
         ":search-controls-sk",
         ":search-controls-sk_po_ts_lib",
         "//golden/modules:settings_ts_lib",
+        "//infra-sk/modules:hintable_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/golden/modules/search-controls-sk/search-controls-sk-demo.ts b/golden/modules/search-controls-sk/search-controls-sk-demo.ts
index 991022d..75f9b89 100644
--- a/golden/modules/search-controls-sk/search-controls-sk-demo.ts
+++ b/golden/modules/search-controls-sk/search-controls-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
-import { ParamSet, fromParamSet } from 'common-sk/modules/query';
-import { $$ } from 'common-sk/modules/dom';
+import { ParamSet, fromParamSet } from '../../../infra-sk/modules/query';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { SearchControlsSk, SearchCriteria } from './search-controls-sk';
 
 const corpora = ['canvaskit', 'colorImage', 'gm', 'image', 'pathkit', 'skp', 'svg'];
diff --git a/golden/modules/search-controls-sk/search-controls-sk.scss b/golden/modules/search-controls-sk/search-controls-sk.scss
index 46d7256..3060712 100644
--- a/golden/modules/search-controls-sk/search-controls-sk.scss
+++ b/golden/modules/search-controls-sk/search-controls-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 search-controls-sk {
   display: flex;
   flex-direction: column;
diff --git a/golden/modules/search-controls-sk/search-controls-sk.ts b/golden/modules/search-controls-sk/search-controls-sk.ts
index a439d1b..ac54b6e 100644
--- a/golden/modules/search-controls-sk/search-controls-sk.ts
+++ b/golden/modules/search-controls-sk/search-controls-sk.ts
@@ -9,17 +9,16 @@
  */
 import { html } from 'lit-html';
 import { live } from 'lit-html/directives/live';
-import { $$ } from 'common-sk/modules/dom';
-import { define } from 'elements-sk/define';
-import { deepCopy } from 'common-sk/modules/object';
-import { fromParamSet, toParamSet, ParamSet } from 'common-sk/modules/query';
-import { HintableObject } from 'common-sk/modules/hintable';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
+import { deepCopy } from '../../../infra-sk/modules/object';
+import { fromParamSet, toParamSet, ParamSet } from '../../../infra-sk/modules/query';
+import { HintableObject } from '../../../infra-sk/modules/hintable';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { FilterDialogSk, Filters } from '../filter-dialog-sk/filter-dialog-sk';
 import { defaultCorpus } from '../settings';
 
-import 'elements-sk/checkbox-sk';
-import 'elements-sk/styles/buttons';
+import '../../../elements-sk/modules/checkbox-sk';
 import '../corpus-selector-sk';
 import '../filter-dialog-sk';
 import '../trace-filter-sk';
diff --git a/golden/modules/search-controls-sk/search-controls-sk_po.ts b/golden/modules/search-controls-sk/search-controls-sk_po.ts
index 013db3a..94e8c24 100644
--- a/golden/modules/search-controls-sk/search-controls-sk_po.ts
+++ b/golden/modules/search-controls-sk/search-controls-sk_po.ts
@@ -1,4 +1,4 @@
-import { CheckOrRadio } from 'elements-sk/checkbox-sk/checkbox-sk';
+import { CheckOrRadio } from '../../../elements-sk/modules/checkbox-sk/checkbox-sk';
 import { PageObject } from '../../../infra-sk/modules/page_object/page_object';
 import { CorpusSelectorSkPO } from '../corpus-selector-sk/corpus-selector-sk_po';
 import { TraceFilterSkPO } from '../trace-filter-sk/trace-filter-sk_po';
diff --git a/golden/modules/search-controls-sk/search-controls-sk_test.ts b/golden/modules/search-controls-sk/search-controls-sk_test.ts
index 873e477..8a5d5ad 100644
--- a/golden/modules/search-controls-sk/search-controls-sk_test.ts
+++ b/golden/modules/search-controls-sk/search-controls-sk_test.ts
@@ -1,8 +1,8 @@
 import './index';
 import { expect } from 'chai';
-import { ParamSet } from 'common-sk/modules/query';
-import * as query from 'common-sk/modules/query';
-import { HintableObject } from 'common-sk/modules/hintable';
+import { ParamSet } from '../../../infra-sk/modules/query';
+import * as query from '../../../infra-sk/modules/query';
+import { HintableObject } from '../../../infra-sk/modules/hintable';
 import { setUpElementUnderTest, eventPromise } from '../../../infra-sk/modules/test_util';
 import {
   SearchControlsSk, SearchCriteria, SearchCriteriaHintableObject, SearchCriteriaFromHintableObject, SearchCriteriaToHintableObject,
diff --git a/golden/modules/search-page-sk/BUILD.bazel b/golden/modules/search-page-sk/BUILD.bazel
index f5e77a0..4da5c87 100644
--- a/golden/modules/search-page-sk/BUILD.bazel
+++ b/golden/modules/search-page-sk/BUILD.bazel
@@ -16,6 +16,7 @@
 
 sk_element(
     name = "search-page-sk",
+    sass_deps = ["//elements-sk/modules/styles:buttons_sass_lib"],
     sass_srcs = ["search-page-sk.scss"],
     sk_element_deps = [
         "//golden/modules/bulk-triage-sk",
@@ -23,15 +24,20 @@
         "//golden/modules/digest-details-sk",
         "//golden/modules/search-controls-sk",
         "//golden/modules/pagination-sk",
+        "//elements-sk/modules/checkbox-sk",
     ],
     ts_deps = [
         "//golden/modules:common_ts_lib",
         "//golden/modules:rpc_types_ts_lib",
         "//golden/modules:settings_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:hintable_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:object_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -51,9 +57,11 @@
         ":demo_data_ts_lib",
         "//golden/modules:rpc_types_ts_lib",
         "//golden/modules:settings_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
         "//golden/modules:demo_util_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:object_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_entry_point = "search-page-sk-demo.ts",
 )
@@ -100,10 +108,11 @@
         "//golden/modules/pagination-sk:pagination-sk_po_ts_lib",
         "//golden/modules/search-controls-sk",
         "//golden/modules/search-controls-sk:search-controls-sk_po_ts_lib",
+        "//infra-sk/modules:object_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/golden/modules/search-page-sk/search-page-sk-demo.ts b/golden/modules/search-page-sk/search-page-sk-demo.ts
index dbafa05..2ace94e 100644
--- a/golden/modules/search-page-sk/search-page-sk-demo.ts
+++ b/golden/modules/search-page-sk/search-page-sk-demo.ts
@@ -1,8 +1,8 @@
 import './index';
 import '../gold-scaffold-sk';
-import { $$ } from 'common-sk/modules/dom';
-import { deepCopy } from 'common-sk/modules/object';
-import { toParamSet } from 'common-sk/modules/query';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { deepCopy } from '../../../infra-sk/modules/object';
+import { toParamSet } from '../../../infra-sk/modules/query';
 import fetchMock, { MockResponseObject } from 'fetch-mock';
 import { testOnlySetSettings } from '../settings';
 import { SearchPageSk } from './search-page-sk';
diff --git a/golden/modules/search-page-sk/search-page-sk.scss b/golden/modules/search-page-sk/search-page-sk.scss
index 3ada4fc..50b3c7c 100644
--- a/golden/modules/search-page-sk/search-page-sk.scss
+++ b/golden/modules/search-page-sk/search-page-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 search-page-sk {
   display: block;
 
diff --git a/golden/modules/search-page-sk/search-page-sk.ts b/golden/modules/search-page-sk/search-page-sk.ts
index 66888cd..9df3d19 100644
--- a/golden/modules/search-page-sk/search-page-sk.ts
+++ b/golden/modules/search-page-sk/search-page-sk.ts
@@ -4,12 +4,12 @@
  *
  */
 import { html } from 'lit-html';
-import { define } from 'elements-sk/define';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { deepCopy } from 'common-sk/modules/object';
-import { stateReflector } from 'common-sk/modules/stateReflector';
-import { fromObject, fromParamSet, ParamSet } from 'common-sk/modules/query';
-import { HintableObject } from 'common-sk/modules/hintable';
+import { define } from '../../../elements-sk/modules/define';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { deepCopy } from '../../../infra-sk/modules/object';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
+import { fromObject, fromParamSet, ParamSet } from '../../../infra-sk/modules/query';
+import { HintableObject } from '../../../infra-sk/modules/hintable';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { ChangelistControlsSkChangeEventDetail } from '../changelist-controls-sk/changelist-controls-sk';
 import {
@@ -29,8 +29,7 @@
   StatusResponse,
 } from '../rpc_types';
 
-import 'elements-sk/checkbox-sk';
-import 'elements-sk/styles/buttons';
+import '../../../elements-sk/modules/checkbox-sk';
 import '../bulk-triage-sk';
 import '../search-controls-sk';
 import '../changelist-controls-sk';
diff --git a/golden/modules/search-page-sk/search-page-sk_test.ts b/golden/modules/search-page-sk/search-page-sk_test.ts
index 5fd57a7..9909bd3 100644
--- a/golden/modules/search-page-sk/search-page-sk_test.ts
+++ b/golden/modules/search-page-sk/search-page-sk_test.ts
@@ -1,8 +1,8 @@
 import './index';
 import fetchMock from 'fetch-mock';
 import { expect } from 'chai';
-import { deepCopy } from 'common-sk/modules/object';
-import { fromObject } from 'common-sk/modules/query';
+import { deepCopy } from '../../../infra-sk/modules/object';
+import { fromObject } from '../../../infra-sk/modules/query';
 import {
   searchResponse, statusResponse, paramSetResponse, changeListSummaryResponse, groupingsResponse,
 } from './demo_data';
diff --git a/golden/modules/shared_demo_data.ts b/golden/modules/shared_demo_data.ts
index 80a67b9..a33221f 100644
--- a/golden/modules/shared_demo_data.ts
+++ b/golden/modules/shared_demo_data.ts
@@ -1,4 +1,4 @@
-import { ParamSet } from 'common-sk/modules/query';
+import { ParamSet } from '../../infra-sk/modules/query';
 
 export const manyParams: ParamSet = {
   alpha_type: [
diff --git a/golden/modules/sort-toggle-sk/BUILD.bazel b/golden/modules/sort-toggle-sk/BUILD.bazel
index 8eb9b86..cef1b93 100644
--- a/golden/modules/sort-toggle-sk/BUILD.bazel
+++ b/golden/modules/sort-toggle-sk/BUILD.bazel
@@ -8,10 +8,14 @@
 sk_element(
     name = "sort-toggle-sk",
     sass_srcs = ["sort-toggle-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/icons/arrow-drop-down-icon-sk",
+        "//elements-sk/modules/icons/arrow-drop-up-icon-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -25,8 +29,8 @@
     html_file = "sort-toggle-sk-demo.html",
     sk_element_deps = [":sort-toggle-sk"],
     ts_deps = [
-        "@npm//common-sk",
         "@npm//lit-html",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "sort-toggle-sk-demo.ts",
 )
diff --git a/golden/modules/sort-toggle-sk/sort-toggle-sk-demo.ts b/golden/modules/sort-toggle-sk/sort-toggle-sk-demo.ts
index 940035f..7d93944 100644
--- a/golden/modules/sort-toggle-sk/sort-toggle-sk-demo.ts
+++ b/golden/modules/sort-toggle-sk/sort-toggle-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 import { html, render } from 'lit-html';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { repeat } from 'lit-html/directives/repeat';
 import { SortToggleSk } from './sort-toggle-sk';
 
diff --git a/golden/modules/sort-toggle-sk/sort-toggle-sk.ts b/golden/modules/sort-toggle-sk/sort-toggle-sk.ts
index 5560caf..b48dab3 100644
--- a/golden/modules/sort-toggle-sk/sort-toggle-sk.ts
+++ b/golden/modules/sort-toggle-sk/sort-toggle-sk.ts
@@ -18,12 +18,12 @@
  * @evt sort-changed: The user has changed how to sort the data. The arr passed in via property
  *   is now sorted to match that intent.
  */
-import { define } from 'elements-sk/define';
-import { $, $$ } from 'common-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
-import 'elements-sk/icon/arrow-drop-down-icon-sk';
-import 'elements-sk/icon/arrow-drop-up-icon-sk';
+import '../../../elements-sk/modules/icons/arrow-drop-down-icon-sk';
+import '../../../elements-sk/modules/icons/arrow-drop-up-icon-sk';
 
 export type SortDirection = 'down' | 'up';
 
diff --git a/golden/modules/trace-filter-sk/BUILD.bazel b/golden/modules/trace-filter-sk/BUILD.bazel
index dbaf814..23b8e1c 100644
--- a/golden/modules/trace-filter-sk/BUILD.bazel
+++ b/golden/modules/trace-filter-sk/BUILD.bazel
@@ -7,6 +7,7 @@
 
 sk_element(
     name = "trace-filter-sk",
+    sass_deps = ["//elements-sk/modules/styles:buttons_sass_lib"],
     sass_srcs = ["trace-filter-sk.scss"],
     sk_element_deps = [
         "//golden/modules/query-dialog-sk",
@@ -15,9 +16,10 @@
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -30,7 +32,7 @@
     name = "trace-filter-sk-demo",
     html_file = "trace-filter-sk-demo.html",
     sk_element_deps = [":trace-filter-sk"],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "trace-filter-sk-demo.ts",
 )
 
@@ -40,10 +42,10 @@
     visibility = ["//visibility:public"],
     deps = [
         "//golden/modules/query-dialog-sk:query-dialog-sk_po_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
         "//infra-sk/modules/page_object:page_object_element_ts_lib",
         "//infra-sk/modules/page_object:page_object_ts_lib",
         "//infra-sk/modules/paramset-sk:paramset-sk_po_ts_lib",
-        "@npm//common-sk",
     ],
 )
 
@@ -65,9 +67,9 @@
     deps = [
         ":trace-filter-sk",
         ":trace-filter-sk_po_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/golden/modules/trace-filter-sk/trace-filter-sk-demo.ts b/golden/modules/trace-filter-sk/trace-filter-sk-demo.ts
index 6aa7a3b..69e9654 100644
--- a/golden/modules/trace-filter-sk/trace-filter-sk-demo.ts
+++ b/golden/modules/trace-filter-sk/trace-filter-sk-demo.ts
@@ -1,5 +1,5 @@
 import './index';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { TraceFilterSk } from './trace-filter-sk';
 
 const traceFilterSk = new TraceFilterSk();
diff --git a/golden/modules/trace-filter-sk/trace-filter-sk.scss b/golden/modules/trace-filter-sk/trace-filter-sk.scss
index 4df8770..49c0c08 100644
--- a/golden/modules/trace-filter-sk/trace-filter-sk.scss
+++ b/golden/modules/trace-filter-sk/trace-filter-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 trace-filter-sk {
   display: flex;
   flex-direction: row;
diff --git a/golden/modules/trace-filter-sk/trace-filter-sk.ts b/golden/modules/trace-filter-sk/trace-filter-sk.ts
index 5c00a6c..601f429 100644
--- a/golden/modules/trace-filter-sk/trace-filter-sk.ts
+++ b/golden/modules/trace-filter-sk/trace-filter-sk.ts
@@ -10,14 +10,13 @@
  *                           contains the new ParamSet.
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { ParamSet, fromParamSet, toParamSet } from 'common-sk/modules/query';
-import { $$ } from 'common-sk/modules/dom';
+import { ParamSet, fromParamSet, toParamSet } from '../../../infra-sk/modules/query';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { QueryDialogSk } from '../query-dialog-sk/query-dialog-sk';
 
-import 'elements-sk/styles/buttons';
 import '../../../infra-sk/modules/query-sk';
 import '../../../infra-sk/modules/paramset-sk';
 import '../query-dialog-sk';
diff --git a/golden/modules/trace-filter-sk/trace-filter-sk_po.ts b/golden/modules/trace-filter-sk/trace-filter-sk_po.ts
index 449a19a..64c9d36 100644
--- a/golden/modules/trace-filter-sk/trace-filter-sk_po.ts
+++ b/golden/modules/trace-filter-sk/trace-filter-sk_po.ts
@@ -1,4 +1,4 @@
-import { ParamSet } from 'common-sk/modules/query';
+import { ParamSet } from '../../../infra-sk/modules/query';
 import { PageObject } from '../../../infra-sk/modules/page_object/page_object';
 import { ParamSetSkPO } from '../../../infra-sk/modules/paramset-sk/paramset-sk_po';
 import { QueryDialogSkPO } from '../query-dialog-sk/query-dialog-sk_po';
diff --git a/golden/modules/trace-filter-sk/trace-filter-sk_test.ts b/golden/modules/trace-filter-sk/trace-filter-sk_test.ts
index 7d9170b..0fefca9 100644
--- a/golden/modules/trace-filter-sk/trace-filter-sk_test.ts
+++ b/golden/modules/trace-filter-sk/trace-filter-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 import { expect } from 'chai';
-import { ParamSet } from 'common-sk/modules/query';
+import { ParamSet } from '../../../infra-sk/modules/query';
 import { eventPromise, noEventPromise, setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
 import { TraceFilterSk } from './trace-filter-sk';
 import { TraceFilterSkPO } from './trace-filter-sk_po';
diff --git a/golden/modules/triage-sk/BUILD.bazel b/golden/modules/triage-sk/BUILD.bazel
index 19fc03a..fbea867 100644
--- a/golden/modules/triage-sk/BUILD.bazel
+++ b/golden/modules/triage-sk/BUILD.bazel
@@ -9,14 +9,20 @@
     name = "triage-sk",
     sass_deps = [
         "//golden/modules:colors_sass_lib",
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["triage-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/icons/cancel-icon-sk",
+        "//elements-sk/modules/icons/check-circle-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+    ],
     ts_deps = [
         "//golden/modules:rpc_types_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/golden/modules/triage-sk/triage-sk.scss b/golden/modules/triage-sk/triage-sk.scss
index f2b952d..0a485df 100644
--- a/golden/modules/triage-sk/triage-sk.scss
+++ b/golden/modules/triage-sk/triage-sk.scss
@@ -1,5 +1,6 @@
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../colors';
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 
 triage-sk {
   display: inline-block;
diff --git a/golden/modules/triage-sk/triage-sk.ts b/golden/modules/triage-sk/triage-sk.ts
index 06a949f..e87733b 100644
--- a/golden/modules/triage-sk/triage-sk.ts
+++ b/golden/modules/triage-sk/triage-sk.ts
@@ -10,11 +10,10 @@
  *     "positive" or "negative").
  */
 
-import 'elements-sk/styles/buttons';
-import 'elements-sk/icon/check-circle-icon-sk';
-import 'elements-sk/icon/cancel-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import { define } from 'elements-sk/define';
+import '../../../elements-sk/modules/icons/check-circle-icon-sk';
+import '../../../elements-sk/modules/icons/cancel-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { Label } from '../rpc_types';
diff --git a/golden/modules/triagelog-page-sk/BUILD.bazel b/golden/modules/triagelog-page-sk/BUILD.bazel
index c39fc02..20f8c50 100644
--- a/golden/modules/triagelog-page-sk/BUILD.bazel
+++ b/golden/modules/triagelog-page-sk/BUILD.bazel
@@ -22,17 +22,21 @@
 sk_element(
     name = "triagelog-page-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["triagelog-page-sk.scss"],
-    sk_element_deps = ["//golden/modules/pagination-sk"],
+    sk_element_deps = [
+        "//golden/modules/pagination-sk",
+        "//elements-sk/modules/checkbox-sk",
+    ],
     ts_deps = [
         "//golden/modules:common_ts_lib",
         "//golden/modules:rpc_types_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -54,8 +58,8 @@
         "//golden/modules:rpc_types_ts_lib",
         "//golden/modules:settings_ts_lib",
         ":demo_data_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "triagelog-page-sk-demo.ts",
 )
diff --git a/golden/modules/triagelog-page-sk/triagelog-page-sk-demo.ts b/golden/modules/triagelog-page-sk/triagelog-page-sk-demo.ts
index 06662a7..60ce691 100644
--- a/golden/modules/triagelog-page-sk/triagelog-page-sk-demo.ts
+++ b/golden/modules/triagelog-page-sk/triagelog-page-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 import '../gold-scaffold-sk';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { delay } from '../demo_util';
 import { triageLogs } from './demo_data';
diff --git a/golden/modules/triagelog-page-sk/triagelog-page-sk.scss b/golden/modules/triagelog-page-sk/triagelog-page-sk.scss
index 760fe11..07e0ae6 100644
--- a/golden/modules/triagelog-page-sk/triagelog-page-sk.scss
+++ b/golden/modules/triagelog-page-sk/triagelog-page-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 
 triagelog-page-sk {
   table {
diff --git a/golden/modules/triagelog-page-sk/triagelog-page-sk.ts b/golden/modules/triagelog-page-sk/triagelog-page-sk.ts
index ff0f8f4..b2b0ba1 100644
--- a/golden/modules/triagelog-page-sk/triagelog-page-sk.ts
+++ b/golden/modules/triagelog-page-sk/triagelog-page-sk.ts
@@ -6,11 +6,11 @@
  * labels applied to triaged diffs.
  */
 
-import { define } from 'elements-sk/define';
-import 'elements-sk/checkbox-sk';
+import { define } from '../../../elements-sk/modules/define';
+import '../../../elements-sk/modules/checkbox-sk';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { stateReflector } from 'common-sk/modules/stateReflector';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import '../pagination-sk';
 import {
diff --git a/infra-sk/BUILD.bazel b/infra-sk/BUILD.bazel
index 34ec33f..3f4fdfb 100644
--- a/infra-sk/BUILD.bazel
+++ b/infra-sk/BUILD.bazel
@@ -38,10 +38,10 @@
     srcs = ["themes.scss"],
     visibility = ["//visibility:public"],
     deps = [
-        "@npm//:node_modules/elements-sk/styles/buttons/buttons.scss",
-        "@npm//:node_modules/elements-sk/styles/select/select.scss",
-        "@npm//:node_modules/elements-sk/styles/table/table.scss",
-        "@npm//:node_modules/elements-sk/themes/color-palette.scss",
-        "@npm//:node_modules/elements-sk/themes/themes.scss",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules/styles:select_sass_lib",
+        "//elements-sk/modules/styles:table_sass_lib",
+        "//elements-sk/modules/themes:color-palette_sass_lib",
+        "//elements-sk/modules/themes:themes_sass_lib",
     ],
 )
diff --git a/infra-sk/modules/BUILD.bazel b/infra-sk/modules/BUILD.bazel
index f1cae83..e546e50 100644
--- a/infra-sk/modules/BUILD.bazel
+++ b/infra-sk/modules/BUILD.bazel
@@ -42,11 +42,11 @@
     name = "test_util_test",
     src = "test_util_test.ts",
     deps = [
+        ":dom_ts_lib",
         ":test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//@types/sinon",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//sinon",
     ],
 )
@@ -56,9 +56,9 @@
     srcs = ["test_util.ts"],
     visibility = ["//visibility:public"],
     deps = [
+        ":object_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
 
diff --git a/infra-sk/modules/ElementSk/BUILD.bazel b/infra-sk/modules/ElementSk/BUILD.bazel
index c284cc9..9f25eb0 100644
--- a/infra-sk/modules/ElementSk/BUILD.bazel
+++ b/infra-sk/modules/ElementSk/BUILD.bazel
@@ -5,9 +5,9 @@
     src = "ElementSk_test.ts",
     deps = [
         ":elementsk_ts_lib",
+        "//elements-sk/modules:define_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//elements-sk",
         "@npm//lit-html",
     ],
 )
@@ -17,7 +17,7 @@
     srcs = ["ElementSk.ts"],
     visibility = ["//visibility:public"],
     deps = [
-        "@npm//elements-sk",
+        "//elements-sk/modules:upgradeproperty_ts_lib",
         "@npm//lit-html",
     ],
 )
diff --git a/infra-sk/modules/ElementSk/ElementSk.ts b/infra-sk/modules/ElementSk/ElementSk.ts
index d42033a..8f23288 100644
--- a/infra-sk/modules/ElementSk/ElementSk.ts
+++ b/infra-sk/modules/ElementSk/ElementSk.ts
@@ -4,7 +4,7 @@
  *
  */
 import { render } from 'lit-html';
-import { upgradeProperty } from 'elements-sk/upgradeProperty';
+import { upgradeProperty } from '../../../elements-sk/modules/upgradeProperty';
 
 /**
  * A base class that records the connected status of the element in this._connected and provides a
diff --git a/infra-sk/modules/ElementSk/ElementSk_test.ts b/infra-sk/modules/ElementSk/ElementSk_test.ts
index 7605712..0165bcf 100644
--- a/infra-sk/modules/ElementSk/ElementSk_test.ts
+++ b/infra-sk/modules/ElementSk/ElementSk_test.ts
@@ -1,4 +1,4 @@
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { assert } from 'chai';
 import { ElementSk } from './ElementSk';
diff --git a/infra-sk/modules/alogin-sk/BUILD.bazel b/infra-sk/modules/alogin-sk/BUILD.bazel
index 32fb789..7fb93aa 100644
--- a/infra-sk/modules/alogin-sk/BUILD.bazel
+++ b/infra-sk/modules/alogin-sk/BUILD.bazel
@@ -8,15 +8,16 @@
 sk_element(
     name = "alogin-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/themes/color-palette.scss",
-        "@npm//:node_modules/elements-sk/themes/themes.scss",
+        "//elements-sk/modules/themes:color-palette_sass_lib",
+        "//elements-sk/modules/themes:themes_sass_lib",
     ],
     sass_srcs = ["alogin-sk.scss"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//infra-sk/modules/json:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
     ],
     ts_srcs = [
         "alogin-sk.ts",
diff --git a/infra-sk/modules/alogin-sk/alogin-sk.scss b/infra-sk/modules/alogin-sk/alogin-sk.scss
index ed89896..1c39cb0 100644
--- a/infra-sk/modules/alogin-sk/alogin-sk.scss
+++ b/infra-sk/modules/alogin-sk/alogin-sk.scss
@@ -1,5 +1,5 @@
-@import 'node_modules/elements-sk/themes/color-palette.scss';
-@import 'node_modules/elements-sk/themes/themes.scss';
+@import '../../../elements-sk/modules/themes/color-palette';
+@import '../../../elements-sk/modules/themes/themes';
 
 alogin-sk {
   display: inline-block;
diff --git a/infra-sk/modules/alogin-sk/alogin-sk.ts b/infra-sk/modules/alogin-sk/alogin-sk.ts
index c29ab81..319d13d 100644
--- a/infra-sk/modules/alogin-sk/alogin-sk.ts
+++ b/infra-sk/modules/alogin-sk/alogin-sk.ts
@@ -9,8 +9,8 @@
  *
  * @attr {string} url - The url that returns the JSON serialized alogin.Status response.
  */
-import { define } from 'elements-sk/define';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { define } from '../../../elements-sk/modules/define';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html } from 'lit-html';
 import { ElementSk } from '../ElementSk';
 import { Status } from '../json';
diff --git a/infra-sk/modules/app-sk/BUILD.bazel b/infra-sk/modules/app-sk/BUILD.bazel
index 9acce48..31cb613 100644
--- a/infra-sk/modules/app-sk/BUILD.bazel
+++ b/infra-sk/modules/app-sk/BUILD.bazel
@@ -3,11 +3,12 @@
 sk_element(
     name = "app-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/themes/color-palette.scss",
-        "@npm//:node_modules/elements-sk/themes/themes.scss",
+        "//elements-sk/modules/themes:color-palette_sass_lib",
+        "//elements-sk/modules/themes:themes_sass_lib",
     ],
     sass_srcs = ["app-sk.scss"],
-    ts_deps = ["@npm//elements-sk"],
+    sk_element_deps = ["//elements-sk/modules/icons/menu-icon-sk"],
+    ts_deps = ["//elements-sk/modules:define_ts_lib"],
     ts_srcs = [
         "app-sk.ts",
         "index.ts",
@@ -23,8 +24,9 @@
         "//infra-sk/modules/login-sk",
         ":app-sk",
         "//infra-sk/modules/theme-chooser-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/create-icon-sk",
     ],
-    ts_deps = ["@npm//elements-sk"],
     ts_entry_point = "app-sk-demo.ts",
 )
 
diff --git a/infra-sk/modules/app-sk/app-sk-demo.ts b/infra-sk/modules/app-sk/app-sk-demo.ts
index 5ef4122..2684d25 100644
--- a/infra-sk/modules/app-sk/app-sk-demo.ts
+++ b/infra-sk/modules/app-sk/app-sk-demo.ts
@@ -1,7 +1,7 @@
-import 'elements-sk/icon/create-icon-sk';
+import '../../../elements-sk/modules/icons/create-icon-sk';
 
 import '../login-sk';
 import './index';
-import 'elements-sk/error-toast-sk';
+import '../../../elements-sk/modules/error-toast-sk';
 import '../theme-chooser-sk';
 
diff --git a/infra-sk/modules/app-sk/app-sk.scss b/infra-sk/modules/app-sk/app-sk.scss
index 4b65f67..037117f 100644
--- a/infra-sk/modules/app-sk/app-sk.scss
+++ b/infra-sk/modules/app-sk/app-sk.scss
@@ -1,6 +1,6 @@
 @import url('https://fonts.googleapis.com/css?family=Roboto:400,400i,700,700i');
-@import 'node_modules/elements-sk/themes/color-palette.scss';
-@import 'node_modules/elements-sk/themes/themes.scss';
+@import '../../../elements-sk/modules/themes/color-palette';
+@import '../../../elements-sk/modules/themes/themes';
 
 /*
 
diff --git a/infra-sk/modules/app-sk/app-sk.ts b/infra-sk/modules/app-sk/app-sk.ts
index decba5c..97cbaf7 100644
--- a/infra-sk/modules/app-sk/app-sk.ts
+++ b/infra-sk/modules/app-sk/app-sk.ts
@@ -36,8 +36,8 @@
  *  </app-sk>
  *
  */
-import { define } from 'elements-sk/define';
-import 'elements-sk/icon/menu-icon-sk';
+import { define } from '../../../elements-sk/modules/define';
+import '../../../elements-sk/modules/icons/menu-icon-sk';
 
 const buttonTemplate = document.createElement('template');
 buttonTemplate.innerHTML = `
diff --git a/infra-sk/modules/autogrow-textarea-sk/BUILD.bazel b/infra-sk/modules/autogrow-textarea-sk/BUILD.bazel
index e4b4e66..f1c38bb 100644
--- a/infra-sk/modules/autogrow-textarea-sk/BUILD.bazel
+++ b/infra-sk/modules/autogrow-textarea-sk/BUILD.bazel
@@ -3,14 +3,19 @@
 sk_element(
     name = "autogrow-textarea-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/themes/color-palette.scss",
-        "@npm//:node_modules/elements-sk/themes/themes.scss",
+        "//elements-sk/modules/themes:color-palette_sass_lib",
+        "//elements-sk/modules/themes:themes_sass_lib",
     ],
     sass_srcs = ["autogrow-textarea-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/collapse-sk",
+        "//elements-sk/modules/icons/expand-less-icon-sk",
+        "//elements-sk/modules/icons/expand-more-icon-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "autogrow-textarea-sk.ts",
@@ -26,7 +31,7 @@
         "//infra-sk/modules/theme-chooser-sk",
         ":autogrow-textarea-sk",
     ],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "autogrow-textarea-sk-demo.ts",
 )
 
diff --git a/infra-sk/modules/autogrow-textarea-sk/autogrow-textarea-sk-demo.ts b/infra-sk/modules/autogrow-textarea-sk/autogrow-textarea-sk-demo.ts
index ade90fa..a671675 100644
--- a/infra-sk/modules/autogrow-textarea-sk/autogrow-textarea-sk-demo.ts
+++ b/infra-sk/modules/autogrow-textarea-sk/autogrow-textarea-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 import '../theme-chooser-sk';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 
 const si = document.createElement('autogrow-textarea-sk');
 $$('#container')!.appendChild(si);
diff --git a/infra-sk/modules/autogrow-textarea-sk/autogrow-textarea-sk.scss b/infra-sk/modules/autogrow-textarea-sk/autogrow-textarea-sk.scss
index 54eb483..b49c2f7 100644
--- a/infra-sk/modules/autogrow-textarea-sk/autogrow-textarea-sk.scss
+++ b/infra-sk/modules/autogrow-textarea-sk/autogrow-textarea-sk.scss
@@ -1,5 +1,5 @@
-@import 'node_modules/elements-sk/themes/color-palette.scss';
-@import 'node_modules/elements-sk/themes/themes.scss';
+@import '../../../elements-sk/modules/themes/color-palette';
+@import '../../../elements-sk/modules/themes/themes';
 
 autogrow-textarea-sk {
   textarea {
diff --git a/infra-sk/modules/autogrow-textarea-sk/autogrow-textarea-sk.ts b/infra-sk/modules/autogrow-textarea-sk/autogrow-textarea-sk.ts
index ec49eee..2a19319 100644
--- a/infra-sk/modules/autogrow-textarea-sk/autogrow-textarea-sk.ts
+++ b/infra-sk/modules/autogrow-textarea-sk/autogrow-textarea-sk.ts
@@ -8,14 +8,14 @@
  * @attr {number} minRows - Minimum (and initial) rows in the textarea.
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 
 import { ElementSk } from '../ElementSk';
 
-import 'elements-sk/collapse-sk';
-import 'elements-sk/icon/expand-more-icon-sk';
-import 'elements-sk/icon/expand-less-icon-sk';
+import '../../../elements-sk/modules/collapse-sk';
+import '../../../elements-sk/modules/icons/expand-more-icon-sk';
+import '../../../elements-sk/modules/icons/expand-less-icon-sk';
 
 const defaultRows = 5;
 
diff --git a/infra-sk/modules/clipboard-sk/BUILD.bazel b/infra-sk/modules/clipboard-sk/BUILD.bazel
index c0700be..420207e 100644
--- a/infra-sk/modules/clipboard-sk/BUILD.bazel
+++ b/infra-sk/modules/clipboard-sk/BUILD.bazel
@@ -8,12 +8,15 @@
 sk_element(
     name = "clipboard-sk",
     sass_srcs = ["clipboard-sk.scss"],
-    sk_element_deps = ["//infra-sk/modules/tooltip-sk"],
+    sk_element_deps = [
+        "//infra-sk/modules/tooltip-sk",
+        "//elements-sk/modules/icons/content-copy-icon-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
-        "@npm//common-sk",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "clipboard-sk.ts",
@@ -27,7 +30,7 @@
     html_file = "clipboard-sk-demo.html",
     scss_entry_point = "clipboard-sk-demo.scss",
     sk_element_deps = [":clipboard-sk"],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "clipboard-sk-demo.ts",
 )
 
@@ -47,10 +50,10 @@
     src = "clipboard-sk_test.ts",
     deps = [
         ":clipboard-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "//infra-sk/modules/tooltip-sk",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/infra-sk/modules/clipboard-sk/clipboard-sk-demo.ts b/infra-sk/modules/clipboard-sk/clipboard-sk-demo.ts
index 935a2b5..09be551 100644
--- a/infra-sk/modules/clipboard-sk/clipboard-sk-demo.ts
+++ b/infra-sk/modules/clipboard-sk/clipboard-sk-demo.ts
@@ -1,4 +1,4 @@
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { ClipboardSk } from './clipboard-sk';
 import './index';
 
diff --git a/infra-sk/modules/clipboard-sk/clipboard-sk.ts b/infra-sk/modules/clipboard-sk/clipboard-sk.ts
index e435f64..b3a0fee 100644
--- a/infra-sk/modules/clipboard-sk/clipboard-sk.ts
+++ b/infra-sk/modules/clipboard-sk/clipboard-sk.ts
@@ -12,12 +12,12 @@
  * @attr value - The content to put into the clipboard.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { ElementSk } from '../ElementSk';
 
-import 'elements-sk/icon/content-copy-icon-sk';
+import '../../../elements-sk/modules/icons/content-copy-icon-sk';
 import '../tooltip-sk';
 import { TooltipSk } from '../tooltip-sk/tooltip-sk';
 
diff --git a/infra-sk/modules/clipboard-sk/clipboard-sk_test.ts b/infra-sk/modules/clipboard-sk/clipboard-sk_test.ts
index 981edb7..3696e35 100644
--- a/infra-sk/modules/clipboard-sk/clipboard-sk_test.ts
+++ b/infra-sk/modules/clipboard-sk/clipboard-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 import { assert } from 'chai';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { ClipboardSk, defaultToolTipMessage } from './clipboard-sk';
 
 import { setUpElementUnderTest } from '../test_util';
diff --git a/infra-sk/modules/confirm-dialog-sk/BUILD.bazel b/infra-sk/modules/confirm-dialog-sk/BUILD.bazel
index fe87213..6f5c3bd 100644
--- a/infra-sk/modules/confirm-dialog-sk/BUILD.bazel
+++ b/infra-sk/modules/confirm-dialog-sk/BUILD.bazel
@@ -2,10 +2,11 @@
 
 sk_element(
     name = "confirm-dialog-sk",
+    sass_deps = ["//elements-sk/modules/styles:buttons_sass_lib"],
     sass_srcs = ["confirm-dialog-sk.scss"],
     ts_deps = [
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "confirm-dialog-sk.ts",
@@ -17,11 +18,10 @@
 sk_page(
     name = "confirm-dialog-sk-demo",
     html_file = "confirm-dialog-sk-demo.html",
+    sass_deps = ["//elements-sk/modules/styles:buttons_sass_lib"],
+    scss_entry_point = "confirm-dialog-sk-demo.scss",
     sk_element_deps = [":confirm-dialog-sk"],
-    ts_deps = [
-        "@npm//common-sk",
-        "@npm//elements-sk",
-    ],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "confirm-dialog-sk-demo.ts",
 )
 
diff --git a/infra-sk/modules/confirm-dialog-sk/confirm-dialog-sk-demo.scss b/infra-sk/modules/confirm-dialog-sk/confirm-dialog-sk-demo.scss
new file mode 100644
index 0000000..c7d1c55
--- /dev/null
+++ b/infra-sk/modules/confirm-dialog-sk/confirm-dialog-sk-demo.scss
@@ -0,0 +1 @@
+@import '../../../elements-sk/modules/styles/buttons';
diff --git a/infra-sk/modules/confirm-dialog-sk/confirm-dialog-sk-demo.ts b/infra-sk/modules/confirm-dialog-sk/confirm-dialog-sk-demo.ts
index 9c0073f..1a0b61c 100644
--- a/infra-sk/modules/confirm-dialog-sk/confirm-dialog-sk-demo.ts
+++ b/infra-sk/modules/confirm-dialog-sk/confirm-dialog-sk-demo.ts
@@ -1,6 +1,5 @@
-import 'elements-sk/styles/buttons';
 
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 
 import './index';
 import { ConfirmDialogSk } from './confirm-dialog-sk';
diff --git a/infra-sk/modules/confirm-dialog-sk/confirm-dialog-sk.scss b/infra-sk/modules/confirm-dialog-sk/confirm-dialog-sk.scss
index fa26dc1..7d88024 100644
--- a/infra-sk/modules/confirm-dialog-sk/confirm-dialog-sk.scss
+++ b/infra-sk/modules/confirm-dialog-sk/confirm-dialog-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 confirm-dialog-sk {
   .buttons {
     display: flex;
diff --git a/infra-sk/modules/confirm-dialog-sk/confirm-dialog-sk.ts b/infra-sk/modules/confirm-dialog-sk/confirm-dialog-sk.ts
index 9860545..a8e40a4 100644
--- a/infra-sk/modules/confirm-dialog-sk/confirm-dialog-sk.ts
+++ b/infra-sk/modules/confirm-dialog-sk/confirm-dialog-sk.ts
@@ -22,10 +22,9 @@
  * </script>
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, render } from 'lit-html';
 
-import 'elements-sk/styles/buttons';
 
 export class ConfirmDialogSk extends HTMLElement {
   private static template = (ele: ConfirmDialogSk) => html`
diff --git a/infra-sk/modules/expandable-textarea-sk/BUILD.bazel b/infra-sk/modules/expandable-textarea-sk/BUILD.bazel
index 0341c57..1358d9e 100644
--- a/infra-sk/modules/expandable-textarea-sk/BUILD.bazel
+++ b/infra-sk/modules/expandable-textarea-sk/BUILD.bazel
@@ -8,15 +8,21 @@
 sk_element(
     name = "expandable-textarea-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/themes/color-palette.scss",
-        "@npm//:node_modules/elements-sk/themes/themes.scss",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules/themes:color-palette_sass_lib",
+        "//elements-sk/modules/themes:themes_sass_lib",
     ],
     sass_srcs = ["expandable-textarea-sk.scss"],
-    sk_element_deps = ["//infra-sk/modules/autogrow-textarea-sk"],
+    sk_element_deps = [
+        "//infra-sk/modules/autogrow-textarea-sk",
+        "//elements-sk/modules/collapse-sk",
+        "//elements-sk/modules/icons/expand-less-icon-sk",
+        "//elements-sk/modules/icons/expand-more-icon-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "expandable-textarea-sk.ts",
@@ -51,11 +57,11 @@
     src = "expandable-textarea-sk_test.ts",
     deps = [
         ":expandable-textarea-sk",
+        "//elements-sk/modules/collapse-sk",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//@types/chai-dom",
         "@npm//chai",
         "@npm//chai-dom",
-        "@npm//elements-sk",
     ],
 )
diff --git a/infra-sk/modules/expandable-textarea-sk/expandable-textarea-sk.scss b/infra-sk/modules/expandable-textarea-sk/expandable-textarea-sk.scss
index de45afe..bf48e11 100644
--- a/infra-sk/modules/expandable-textarea-sk/expandable-textarea-sk.scss
+++ b/infra-sk/modules/expandable-textarea-sk/expandable-textarea-sk.scss
@@ -1,5 +1,6 @@
-@import 'node_modules/elements-sk/themes/color-palette.scss';
-@import 'node_modules/elements-sk/themes/themes.scss';
+@import '../../../elements-sk/modules/styles/buttons';
+@import '../../../elements-sk/modules/themes/color-palette';
+@import '../../../elements-sk/modules/themes/themes';
 
 expandable-textarea-sk {
   button.expander {
diff --git a/infra-sk/modules/expandable-textarea-sk/expandable-textarea-sk.ts b/infra-sk/modules/expandable-textarea-sk/expandable-textarea-sk.ts
index d2fca8d..623ed8d 100644
--- a/infra-sk/modules/expandable-textarea-sk/expandable-textarea-sk.ts
+++ b/infra-sk/modules/expandable-textarea-sk/expandable-textarea-sk.ts
@@ -11,18 +11,17 @@
  * @attr {number} minRows - Minimum (and initial) rows in the textarea.
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 
 import '../autogrow-textarea-sk';
-import { CollapseSk } from 'elements-sk/collapse-sk/collapse-sk';
+import { CollapseSk } from '../../../elements-sk/modules/collapse-sk/collapse-sk';
 import { AutogrowTextareaSk } from '../autogrow-textarea-sk/autogrow-textarea-sk';
 import { ElementSk } from '../ElementSk';
 
-import 'elements-sk/collapse-sk';
-import 'elements-sk/icon/expand-more-icon-sk';
-import 'elements-sk/icon/expand-less-icon-sk';
-import 'elements-sk/styles/buttons';
+import '../../../elements-sk/modules/collapse-sk';
+import '../../../elements-sk/modules/icons/expand-more-icon-sk';
+import '../../../elements-sk/modules/icons/expand-less-icon-sk';
 
 export class ExpandableTextareaSk extends ElementSk {
   private static template = (ele: ExpandableTextareaSk) => html`
diff --git a/infra-sk/modules/expandable-textarea-sk/expandable-textarea-sk_test.ts b/infra-sk/modules/expandable-textarea-sk/expandable-textarea-sk_test.ts
index 3732f95..3ce86d6 100644
--- a/infra-sk/modules/expandable-textarea-sk/expandable-textarea-sk_test.ts
+++ b/infra-sk/modules/expandable-textarea-sk/expandable-textarea-sk_test.ts
@@ -1,7 +1,7 @@
 import './index';
 
 import { ExpandableTextareaSk } from './expandable-textarea-sk';
-import { CollapseSk } from 'elements-sk/collapse-sk/collapse-sk';
+import { CollapseSk } from '../../../elements-sk/modules/collapse-sk/collapse-sk';
 import { setUpElementUnderTest } from '../test_util';
 import { expect } from 'chai';
 import chai from 'chai';
diff --git a/infra-sk/modules/human-date-sk/BUILD.bazel b/infra-sk/modules/human-date-sk/BUILD.bazel
index bdd7882..21eb6e6 100644
--- a/infra-sk/modules/human-date-sk/BUILD.bazel
+++ b/infra-sk/modules/human-date-sk/BUILD.bazel
@@ -9,9 +9,10 @@
     name = "human-date-sk",
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:upgradeproperty_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
     ],
     ts_srcs = [
         "human-date-sk.ts",
@@ -43,9 +44,9 @@
     src = "human-date-sk_test.ts",
     deps = [
         ":human-date-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/infra-sk/modules/human-date-sk/human-date-sk.ts b/infra-sk/modules/human-date-sk/human-date-sk.ts
index 7b88582..54f808a 100644
--- a/infra-sk/modules/human-date-sk/human-date-sk.ts
+++ b/infra-sk/modules/human-date-sk/human-date-sk.ts
@@ -10,10 +10,10 @@
  * @property seconds - Indicates that the given date is expressed in seconds, not milliseconds.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { diffDate } from 'common-sk/modules/human';
-import { upgradeProperty } from 'elements-sk/upgradeProperty';
+import { diffDate } from '../../../infra-sk/modules/human';
+import { upgradeProperty } from '../../../elements-sk/modules/upgradeProperty';
 import { ElementSk } from '../ElementSk';
 
 export class HumanDateSk extends ElementSk {
diff --git a/infra-sk/modules/human-date-sk/human-date-sk_test.ts b/infra-sk/modules/human-date-sk/human-date-sk_test.ts
index 385f401..ba490b8 100644
--- a/infra-sk/modules/human-date-sk/human-date-sk_test.ts
+++ b/infra-sk/modules/human-date-sk/human-date-sk_test.ts
@@ -3,7 +3,7 @@
 
 import { setUpElementUnderTest } from '../test_util';
 import { expect } from 'chai';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 
 describe('human-date-sk', () => {
   const newInstance = setUpElementUnderTest<HumanDateSk>('human-date-sk');
diff --git a/infra-sk/modules/login-sk/BUILD.bazel b/infra-sk/modules/login-sk/BUILD.bazel
index 12a3f99..9951281 100644
--- a/infra-sk/modules/login-sk/BUILD.bazel
+++ b/infra-sk/modules/login-sk/BUILD.bazel
@@ -8,12 +8,13 @@
 sk_element(
     name = "login-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["login-sk.scss"],
     ts_deps = [
         "//infra-sk/modules:login_ts_lib",
-        "@npm//elements-sk",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -25,7 +26,9 @@
 sk_page(
     name = "login-sk-demo",
     html_file = "login-sk-demo.html",
-    sk_element_deps = [":login-sk"],
-    ts_deps = ["@npm//elements-sk"],
+    sk_element_deps = [
+        ":login-sk",
+        "//elements-sk/modules/error-toast-sk",
+    ],
     ts_entry_point = "login-sk-demo.ts",
 )
diff --git a/infra-sk/modules/login-sk/login-sk-demo.ts b/infra-sk/modules/login-sk/login-sk-demo.ts
index 930427f..863c11e 100644
--- a/infra-sk/modules/login-sk/login-sk-demo.ts
+++ b/infra-sk/modules/login-sk/login-sk-demo.ts
@@ -1,2 +1,2 @@
 import './index';
-import 'elements-sk/error-toast-sk';
+import '../../../elements-sk/modules/error-toast-sk';
diff --git a/infra-sk/modules/login-sk/login-sk.scss b/infra-sk/modules/login-sk/login-sk.scss
index 98ace6b..f1f7293 100644
--- a/infra-sk/modules/login-sk/login-sk.scss
+++ b/infra-sk/modules/login-sk/login-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 
 @media (max-width: 500px) {
   login-sk .email {
diff --git a/infra-sk/modules/login-sk/login-sk.ts b/infra-sk/modules/login-sk/login-sk.ts
index 75b0368..78f5117 100644
--- a/infra-sk/modules/login-sk/login-sk.ts
+++ b/infra-sk/modules/login-sk/login-sk.ts
@@ -15,8 +15,8 @@
  *
  * <p>
  */
-import { define } from 'elements-sk/define';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { define } from '../../../elements-sk/modules/define';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { LoginTo } from '../login';
 
 define('login-sk', class extends HTMLElement {
diff --git a/infra-sk/modules/multi-input-sk/BUILD.bazel b/infra-sk/modules/multi-input-sk/BUILD.bazel
index 2f4d63a..fc5312b 100644
--- a/infra-sk/modules/multi-input-sk/BUILD.bazel
+++ b/infra-sk/modules/multi-input-sk/BUILD.bazel
@@ -8,15 +8,16 @@
 sk_element(
     name = "multi-input-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/themes/color-palette.scss",
-        "@npm//:node_modules/elements-sk/themes/themes.scss",
+        "//elements-sk/modules/themes:color-palette_sass_lib",
+        "//elements-sk/modules/themes:themes_sass_lib",
     ],
     sass_srcs = ["multi-input-sk.scss"],
+    sk_element_deps = ["//elements-sk/modules/icons/close-icon-sk"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -48,9 +49,9 @@
     src = "multi-input-sk_test.ts",
     deps = [
         ":multi-input-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/infra-sk/modules/multi-input-sk/multi-input-sk.scss b/infra-sk/modules/multi-input-sk/multi-input-sk.scss
index 3ea9d70..baf9276 100644
--- a/infra-sk/modules/multi-input-sk/multi-input-sk.scss
+++ b/infra-sk/modules/multi-input-sk/multi-input-sk.scss
@@ -1,5 +1,5 @@
-@import 'node_modules/elements-sk/themes/color-palette.scss';
-@import 'node_modules/elements-sk/themes/themes.scss';
+@import '../../../elements-sk/modules/themes/color-palette';
+@import '../../../elements-sk/modules/themes/themes';
 
 multi-input-sk {
   .input-container {
diff --git a/infra-sk/modules/multi-input-sk/multi-input-sk.ts b/infra-sk/modules/multi-input-sk/multi-input-sk.ts
index f1aa7ad..890841e 100644
--- a/infra-sk/modules/multi-input-sk/multi-input-sk.ts
+++ b/infra-sk/modules/multi-input-sk/multi-input-sk.ts
@@ -5,11 +5,11 @@
  * multi-input-sk behaves similarly to <input type="text"> but its value is a
  * string[].
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { ElementSk } from '../ElementSk';
-import 'elements-sk/icon/close-icon-sk';
+import '../../../elements-sk/modules/icons/close-icon-sk';
 
 export class MultiInputSk extends ElementSk {
   private static template = (ele: MultiInputSk) => html`
diff --git a/infra-sk/modules/multi-input-sk/multi-input-sk_test.ts b/infra-sk/modules/multi-input-sk/multi-input-sk_test.ts
index afd65a0..d840166 100644
--- a/infra-sk/modules/multi-input-sk/multi-input-sk_test.ts
+++ b/infra-sk/modules/multi-input-sk/multi-input-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 import { expect } from 'chai';
-import { $ } from 'common-sk/modules/dom';
+import { $ } from '../../../infra-sk/modules/dom';
 import { MultiInputSk } from './multi-input-sk';
 
 import { setUpElementUnderTest } from '../test_util';
diff --git a/infra-sk/modules/paramset-sk/BUILD.bazel b/infra-sk/modules/paramset-sk/BUILD.bazel
index 8c49564..5229c64 100644
--- a/infra-sk/modules/paramset-sk/BUILD.bazel
+++ b/infra-sk/modules/paramset-sk/BUILD.bazel
@@ -8,14 +8,15 @@
 sk_element(
     name = "paramset-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["paramset-sk.scss"],
+    sk_element_deps = ["//elements-sk/modules/icons/add-icon-sk"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -29,7 +30,7 @@
     html_file = "paramset-sk-demo.html",
     scss_entry_point = "paramset-sk-demo.scss",
     sk_element_deps = [":paramset-sk"],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:query_ts_lib"],
     ts_entry_point = "paramset-sk-demo.ts",
 )
 
@@ -38,9 +39,9 @@
     srcs = ["paramset-sk_po.ts"],
     visibility = ["//visibility:public"],
     deps = [
+        "//infra-sk/modules:query_ts_lib",
         "//infra-sk/modules/page_object:page_object_element_ts_lib",
         "//infra-sk/modules/page_object:page_object_ts_lib",
-        "@npm//common-sk",
     ],
 )
 
@@ -63,9 +64,9 @@
     deps = [
         ":paramset-sk",
         ":paramset-sk_po_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/infra-sk/modules/paramset-sk/paramset-sk-demo.ts b/infra-sk/modules/paramset-sk/paramset-sk-demo.ts
index 86eb3d4..4f53f01 100644
--- a/infra-sk/modules/paramset-sk/paramset-sk-demo.ts
+++ b/infra-sk/modules/paramset-sk/paramset-sk-demo.ts
@@ -1,5 +1,5 @@
 import './index';
-import { ParamSet } from 'common-sk/modules/query';
+import { ParamSet } from '../../../infra-sk/modules/query';
 import { ParamSetSk, ParamSetSkClickEventDetail } from './paramset-sk';
 
 const paramSet1: ParamSet = {
diff --git a/infra-sk/modules/paramset-sk/paramset-sk.scss b/infra-sk/modules/paramset-sk/paramset-sk.scss
index 65226e0..49710ed 100644
--- a/infra-sk/modules/paramset-sk/paramset-sk.scss
+++ b/infra-sk/modules/paramset-sk/paramset-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 
 paramset-sk {
   td,
diff --git a/infra-sk/modules/paramset-sk/paramset-sk.ts b/infra-sk/modules/paramset-sk/paramset-sk.ts
index 4f8e159..b5e7960 100644
--- a/infra-sk/modules/paramset-sk/paramset-sk.ts
+++ b/infra-sk/modules/paramset-sk/paramset-sk.ts
@@ -48,11 +48,11 @@
  * that contains the key and values for that row.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
-import { ParamSet } from 'common-sk/modules/query';
+import { ParamSet } from '../../../infra-sk/modules/query';
 import { ElementSk } from '../ElementSk';
-import 'elements-sk/icon/add-icon-sk';
+import '../../../elements-sk/modules/icons/add-icon-sk';
 
 export interface ParamSetSkClickEventDetail {
   readonly key: string;
diff --git a/infra-sk/modules/paramset-sk/paramset-sk_po.ts b/infra-sk/modules/paramset-sk/paramset-sk_po.ts
index fc1b43c..0443025 100644
--- a/infra-sk/modules/paramset-sk/paramset-sk_po.ts
+++ b/infra-sk/modules/paramset-sk/paramset-sk_po.ts
@@ -1,4 +1,4 @@
-import { ParamSet } from 'common-sk/modules/query';
+import { ParamSet } from '../../../infra-sk/modules/query';
 import { PageObject } from '../page_object/page_object';
 import { PageObjectElement, PageObjectElementList } from '../page_object/page_object_element';
 
diff --git a/infra-sk/modules/paramset-sk/paramset-sk_test.ts b/infra-sk/modules/paramset-sk/paramset-sk_test.ts
index 54a6c9d..5a7caee 100644
--- a/infra-sk/modules/paramset-sk/paramset-sk_test.ts
+++ b/infra-sk/modules/paramset-sk/paramset-sk_test.ts
@@ -1,7 +1,7 @@
 import './index';
 
 import { expect } from 'chai';
-import { ParamSet } from 'common-sk/modules/query';
+import { ParamSet } from '../../../infra-sk/modules/query';
 import { setUpElementUnderTest, eventPromise, noEventPromise } from '../test_util';
 import { ParamSetSk, ParamSetSkClickEventDetail, ParamSetSkPlusClickEventDetail } from './paramset-sk';
 import { ParamSetSkPO, ParamSetKeyValueTuple } from './paramset-sk_po';
diff --git a/infra-sk/modules/query-sk/BUILD.bazel b/infra-sk/modules/query-sk/BUILD.bazel
index 8d4348b..32981e7 100644
--- a/infra-sk/modules/query-sk/BUILD.bazel
+++ b/infra-sk/modules/query-sk/BUILD.bazel
@@ -8,19 +8,21 @@
 sk_element(
     name = "query-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
-        "@npm//:node_modules/elements-sk/select-sk/select-sk.scss",
-        "@npm//:node_modules/elements-sk/styles/buttons/buttons.scss",
-        "@npm//:node_modules/elements-sk/themes/color-palette.scss",
-        "@npm//:node_modules/elements-sk/themes/themes.scss",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules/themes:color-palette_sass_lib",
+        "//elements-sk/modules/themes:themes_sass_lib",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["query-sk.scss"],
-    sk_element_deps = ["//infra-sk/modules/query-values-sk"],
+    sk_element_deps = [
+        "//infra-sk/modules/query-values-sk",
+        "//elements-sk/modules/select-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -42,10 +44,10 @@
     srcs = ["query-sk_po.ts"],
     visibility = ["//visibility:public"],
     deps = [
+        "//infra-sk/modules:query_ts_lib",
         "//infra-sk/modules/page_object:page_object_element_ts_lib",
         "//infra-sk/modules/page_object:page_object_ts_lib",
         "//infra-sk/modules/query-values-sk:query-values-sk_po_ts_lib",
-        "@npm//common-sk",
     ],
 )
 
@@ -66,9 +68,9 @@
     deps = [
         ":query-sk",
         ":query-sk_po_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/infra-sk/modules/query-sk/query-sk.scss b/infra-sk/modules/query-sk/query-sk.scss
index ba2a48b..e7492ac 100644
--- a/infra-sk/modules/query-sk/query-sk.scss
+++ b/infra-sk/modules/query-sk/query-sk.scss
@@ -1,8 +1,8 @@
-@import 'node_modules/elements-sk/colors.scss';
-@import 'node_modules/elements-sk/themes/color-palette.scss';
-@import 'node_modules/elements-sk/themes/themes.scss';
-@import 'node_modules/elements-sk/select-sk/select-sk.scss';
-@import 'node_modules/elements-sk/styles/buttons/buttons.scss';
+@import '../../../elements-sk/modules/colors';
+@import '../../../elements-sk/modules/themes/color-palette';
+@import '../../../elements-sk/modules/themes/themes';
+@import '../../../elements-sk/modules/select-sk/select-sk';
+@import '../../../elements-sk/modules/styles/buttons';
 
 query-sk {
   display: block;
diff --git a/infra-sk/modules/query-sk/query-sk.ts b/infra-sk/modules/query-sk/query-sk.ts
index 9976c0e..ff989b7 100644
--- a/infra-sk/modules/query-sk/query-sk.ts
+++ b/infra-sk/modules/query-sk/query-sk.ts
@@ -18,10 +18,10 @@
  *       available to the user.
  * @attr {boolean} values_only - If true then only display the values selection and hide the key selection.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { ParamSet, toParamSet, fromParamSet } from 'common-sk/modules/query';
-import { SelectSk } from 'elements-sk/select-sk/select-sk';
+import { ParamSet, toParamSet, fromParamSet } from '../../../infra-sk/modules/query';
+import { SelectSk } from '../../../elements-sk/modules/select-sk/select-sk';
 import { ElementSk } from '../ElementSk';
 import {
   QueryValuesSk,
@@ -29,8 +29,7 @@
 } from '../query-values-sk/query-values-sk';
 
 import '../query-values-sk';
-import 'elements-sk/select-sk';
-import 'elements-sk/styles/buttons';
+import '../../../elements-sk/modules/select-sk';
 
 // The delay in ms before sending a delayed query-change event.
 const DELAY_MS = 500;
diff --git a/infra-sk/modules/query-sk/query-sk_po.ts b/infra-sk/modules/query-sk/query-sk_po.ts
index be54b94..c23f857 100644
--- a/infra-sk/modules/query-sk/query-sk_po.ts
+++ b/infra-sk/modules/query-sk/query-sk_po.ts
@@ -1,4 +1,4 @@
-import { ParamSet } from 'common-sk/modules/query';
+import { ParamSet } from '../../../infra-sk/modules/query';
 import { PageObject } from '../page_object/page_object';
 import { QueryValuesSkPO } from '../query-values-sk/query-values-sk_po';
 import { PageObjectElement, PageObjectElementList } from '../page_object/page_object_element';
diff --git a/infra-sk/modules/query-sk/query-sk_test.ts b/infra-sk/modules/query-sk/query-sk_test.ts
index e3e83ff..4bf4b32 100644
--- a/infra-sk/modules/query-sk/query-sk_test.ts
+++ b/infra-sk/modules/query-sk/query-sk_test.ts
@@ -1,5 +1,5 @@
 import './index';
-import { ParamSet, toParamSet, fromParamSet } from 'common-sk/modules/query';
+import { ParamSet, toParamSet, fromParamSet } from '../../../infra-sk/modules/query';
 import { assert } from 'chai';
 import { removePrefix, QuerySk } from './query-sk';
 import { QuerySkPO } from './query-sk_po';
diff --git a/infra-sk/modules/query-values-sk/BUILD.bazel b/infra-sk/modules/query-values-sk/BUILD.bazel
index 8402331..f844f54 100644
--- a/infra-sk/modules/query-values-sk/BUILD.bazel
+++ b/infra-sk/modules/query-values-sk/BUILD.bazel
@@ -8,16 +8,18 @@
 sk_element(
     name = "query-values-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/checkbox-sk/checkbox-sk.scss",
-        "@npm//:node_modules/elements-sk/multi-select-sk/multi-select-sk.scss",
-        "@npm//:node_modules/elements-sk/themes/color-palette.scss",
-        "@npm//:node_modules/elements-sk/themes/themes.scss",
+        "//elements-sk/modules/themes:color-palette_sass_lib",
+        "//elements-sk/modules/themes:themes_sass_lib",
     ],
     sass_srcs = ["query-values-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/checkbox-sk",
+        "//elements-sk/modules/multi-select-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -39,10 +41,10 @@
     srcs = ["query-values-sk_po.ts"],
     visibility = ["//visibility:public"],
     deps = [
+        "//elements-sk/modules/checkbox-sk",
         "//infra-sk/modules:async_ts_lib",
         "//infra-sk/modules/page_object:page_object_element_ts_lib",
         "//infra-sk/modules/page_object:page_object_ts_lib",
-        "@npm//elements-sk",
     ],
 )
 
diff --git a/infra-sk/modules/query-values-sk/query-values-sk.scss b/infra-sk/modules/query-values-sk/query-values-sk.scss
index ee593f0..d987b18 100644
--- a/infra-sk/modules/query-values-sk/query-values-sk.scss
+++ b/infra-sk/modules/query-values-sk/query-values-sk.scss
@@ -1,7 +1,7 @@
-@import 'node_modules/elements-sk/themes/color-palette.scss';
-@import 'node_modules/elements-sk/themes/themes.scss';
-@import 'node_modules/elements-sk/checkbox-sk/checkbox-sk.scss';
-@import 'node_modules/elements-sk/multi-select-sk/multi-select-sk.scss';
+@import '../../../elements-sk/modules/themes/color-palette';
+@import '../../../elements-sk/modules/themes/themes';
+@import '../../../elements-sk/modules/checkbox-sk/checkbox-sk';
+@import '../../../elements-sk/modules/multi-select-sk/multi-select-sk';
 
 query-values-sk {
   #regex ~ #values,
diff --git a/infra-sk/modules/query-values-sk/query-values-sk.ts b/infra-sk/modules/query-values-sk/query-values-sk.ts
index 8408356..a66ea7a 100644
--- a/infra-sk/modules/query-values-sk/query-values-sk.ts
+++ b/infra-sk/modules/query-values-sk/query-values-sk.ts
@@ -13,17 +13,17 @@
  * @attr {boolean} hide_regex - If the option to include regex in the query should be made
  *       available to the user.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { CheckOrRadio } from 'elements-sk/checkbox-sk/checkbox-sk';
+import { CheckOrRadio } from '../../../elements-sk/modules/checkbox-sk/checkbox-sk';
 import {
   MultiSelectSk,
   MultiSelectSkSelectionChangedEventDetail,
-} from 'elements-sk/multi-select-sk/multi-select-sk';
+} from '../../../elements-sk/modules/multi-select-sk/multi-select-sk';
 import { ElementSk } from '../ElementSk';
 
-import 'elements-sk/checkbox-sk';
-import 'elements-sk/multi-select-sk';
+import '../../../elements-sk/modules/checkbox-sk';
+import '../../../elements-sk/modules/multi-select-sk';
 
 export interface QueryValuesSkQueryValuesChangedEventDetail {
   invert: boolean;
diff --git a/infra-sk/modules/query-values-sk/query-values-sk_po.ts b/infra-sk/modules/query-values-sk/query-values-sk_po.ts
index 2a4e2bf..5613a61 100644
--- a/infra-sk/modules/query-values-sk/query-values-sk_po.ts
+++ b/infra-sk/modules/query-values-sk/query-values-sk_po.ts
@@ -1,4 +1,4 @@
-import { CheckOrRadio } from 'elements-sk/checkbox-sk/checkbox-sk';
+import { CheckOrRadio } from '../../../elements-sk/modules/checkbox-sk/checkbox-sk';
 import { PageObject } from '../page_object/page_object';
 import { PageObjectElement, PageObjectElementList } from '../page_object/page_object_element';
 import { asyncForEach } from '../async';
diff --git a/infra-sk/modules/sort-sk/BUILD.bazel b/infra-sk/modules/sort-sk/BUILD.bazel
index 0380b0d..e6bce3a 100644
--- a/infra-sk/modules/sort-sk/BUILD.bazel
+++ b/infra-sk/modules/sort-sk/BUILD.bazel
@@ -8,15 +8,19 @@
 sk_element(
     name = "sort-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
-        "@npm//:node_modules/elements-sk/themes/color-palette.scss",
-        "@npm//:node_modules/elements-sk/themes/themes.scss",
+        "//elements-sk/modules/themes:color-palette_sass_lib",
+        "//elements-sk/modules/themes:themes_sass_lib",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["sort-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/icons/arrow-drop-down-icon-sk",
+        "//elements-sk/modules/icons/arrow-drop-up-icon-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -28,11 +32,10 @@
 sk_page(
     name = "sort-sk-demo",
     html_file = "sort-sk-demo.html",
+    sass_deps = ["//elements-sk/modules/styles:buttons_sass_lib"],
+    scss_entry_point = "sort-sk-demo.scss",
     sk_element_deps = [":sort-sk"],
-    ts_deps = [
-        "@npm//common-sk",
-        "@npm//elements-sk",
-    ],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "sort-sk-demo.ts",
 )
 
@@ -52,8 +55,8 @@
     src = "sort-sk_test.ts",
     deps = [
         ":sort-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/infra-sk/modules/sort-sk/sort-sk-demo.scss b/infra-sk/modules/sort-sk/sort-sk-demo.scss
new file mode 100644
index 0000000..c7d1c55
--- /dev/null
+++ b/infra-sk/modules/sort-sk/sort-sk-demo.scss
@@ -0,0 +1 @@
+@import '../../../elements-sk/modules/styles/buttons';
diff --git a/infra-sk/modules/sort-sk/sort-sk-demo.ts b/infra-sk/modules/sort-sk/sort-sk-demo.ts
index f745fa9..9df2cd5 100644
--- a/infra-sk/modules/sort-sk/sort-sk-demo.ts
+++ b/infra-sk/modules/sort-sk/sort-sk-demo.ts
@@ -1,6 +1,5 @@
 import './index';
-import 'elements-sk/styles/buttons';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { SortSk } from './sort-sk';
 
 const sortSk = $$('#as_table')! as SortSk;
diff --git a/infra-sk/modules/sort-sk/sort-sk.scss b/infra-sk/modules/sort-sk/sort-sk.scss
index ee5c94d..3726a57 100644
--- a/infra-sk/modules/sort-sk/sort-sk.scss
+++ b/infra-sk/modules/sort-sk/sort-sk.scss
@@ -1,7 +1,7 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 
-@import 'node_modules/elements-sk/themes/color-palette.scss';
-@import 'node_modules/elements-sk/themes/themes.scss';
+@import '../../../elements-sk/modules/themes/color-palette';
+@import '../../../elements-sk/modules/themes/themes';
 
 sort-sk {
   display: flex;
diff --git a/infra-sk/modules/sort-sk/sort-sk.ts b/infra-sk/modules/sort-sk/sort-sk.ts
index 32e752f..b3adf1b 100644
--- a/infra-sk/modules/sort-sk/sort-sk.ts
+++ b/infra-sk/modules/sort-sk/sort-sk.ts
@@ -38,11 +38,11 @@
  * @attr target - The id of the container element whose children are to be sorted.
  *
  */
-import { define } from 'elements-sk/define';
-import { $, $$ } from 'common-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import { ElementSk } from '../ElementSk';
-import 'elements-sk/icon/arrow-drop-down-icon-sk';
-import 'elements-sk/icon/arrow-drop-up-icon-sk';
+import '../../../elements-sk/modules/icons/arrow-drop-down-icon-sk';
+import '../../../elements-sk/modules/icons/arrow-drop-up-icon-sk';
 
 export type SortDirection = 'down' | 'up';
 
diff --git a/infra-sk/modules/sort-sk/sort-sk_test.ts b/infra-sk/modules/sort-sk/sort-sk_test.ts
index dde06d5..569b97a 100644
--- a/infra-sk/modules/sort-sk/sort-sk_test.ts
+++ b/infra-sk/modules/sort-sk/sort-sk_test.ts
@@ -1,5 +1,5 @@
 import './index';
-import { $ } from 'common-sk/modules/dom';
+import { $ } from '../../../infra-sk/modules/dom';
 
 import { assert } from 'chai';
 
diff --git a/infra-sk/modules/task-driver-sk/BUILD.bazel b/infra-sk/modules/task-driver-sk/BUILD.bazel
index 9f222ff..076d19b 100644
--- a/infra-sk/modules/task-driver-sk/BUILD.bazel
+++ b/infra-sk/modules/task-driver-sk/BUILD.bazel
@@ -8,15 +8,21 @@
 sk_element(
     name = "task-driver-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["task-driver-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/collapse-sk",
+        "//elements-sk/modules/icons/launch-icon-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules:linkify_ts_lib",
         "//task_driver/modules/json:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:upgradeproperty_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/infra-sk/modules/task-driver-sk/task-driver-sk.scss b/infra-sk/modules/task-driver-sk/task-driver-sk.scss
index 48ec1b3..d7977ea 100644
--- a/infra-sk/modules/task-driver-sk/task-driver-sk.scss
+++ b/infra-sk/modules/task-driver-sk/task-driver-sk.scss
@@ -1,4 +1,5 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/styles/buttons';
+@import '../../../elements-sk/modules/colors';
 
 task-driver-sk {
   a {
diff --git a/infra-sk/modules/task-driver-sk/task-driver-sk.ts b/infra-sk/modules/task-driver-sk/task-driver-sk.ts
index b9d83bd..3323152 100644
--- a/infra-sk/modules/task-driver-sk/task-driver-sk.ts
+++ b/infra-sk/modules/task-driver-sk/task-driver-sk.ts
@@ -7,16 +7,15 @@
  * </p>
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, render } from 'lit-html';
-import { localeTime, strDuration } from 'common-sk/modules/human';
-import { upgradeProperty } from 'elements-sk/upgradeProperty';
-import { CollapseSk } from 'elements-sk/collapse-sk/collapse-sk';
+import { localeTime, strDuration } from '../../../infra-sk/modules/human';
+import { upgradeProperty } from '../../../elements-sk/modules/upgradeProperty';
+import { CollapseSk } from '../../../elements-sk/modules/collapse-sk/collapse-sk';
 import { escapeAndLinkify } from '../linkify';
 import { StepData, StepDisplay, TaskDriverRunDisplay } from '../../../task_driver/modules/json';
-import 'elements-sk/collapse-sk';
-import 'elements-sk/icon/launch-icon-sk';
-import 'elements-sk/styles/buttons';
+import '../../../elements-sk/modules/collapse-sk';
+import '../../../elements-sk/modules/icons/launch-icon-sk';
 
 /**
  * Describes the extra fields that this custom element adds to the JSON-encoded
diff --git a/infra-sk/modules/test_util.ts b/infra-sk/modules/test_util.ts
index d74fa1b..e37ddd3 100644
--- a/infra-sk/modules/test_util.ts
+++ b/infra-sk/modules/test_util.ts
@@ -7,7 +7,7 @@
  * </p>
  */
 
-import { deepCopy } from 'common-sk/modules/object';
+import { deepCopy } from '../../infra-sk/modules/object';
 import { expect } from 'chai';
 
 /**
diff --git a/infra-sk/modules/test_util_test.ts b/infra-sk/modules/test_util_test.ts
index d8688b9..48b645b 100644
--- a/infra-sk/modules/test_util_test.ts
+++ b/infra-sk/modules/test_util_test.ts
@@ -1,5 +1,5 @@
 import { expect } from 'chai';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../infra-sk/modules/dom';
 import sinon from 'sinon';
 import {
   setUpElementUnderTest,
diff --git a/infra-sk/modules/theme-chooser-sk/BUILD.bazel b/infra-sk/modules/theme-chooser-sk/BUILD.bazel
index bd84e14..137699a 100644
--- a/infra-sk/modules/theme-chooser-sk/BUILD.bazel
+++ b/infra-sk/modules/theme-chooser-sk/BUILD.bazel
@@ -9,13 +9,14 @@
     name = "theme-chooser-sk",
     sass_deps = [
         "//infra-sk:themes_sass_lib",
-        "@npm//:node_modules/elements-sk/icon/icon-sk.scss",
+        "//elements-sk/modules/icons:icon-sk_sass_lib",
     ],
     sass_srcs = ["theme-chooser-sk.scss"],
+    sk_element_deps = ["//elements-sk/modules/icons/invert-colors-icon-sk"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/infra-sk/modules/theme-chooser-sk/theme-chooser-sk.scss b/infra-sk/modules/theme-chooser-sk/theme-chooser-sk.scss
index 1e1b315..ae6e530 100644
--- a/infra-sk/modules/theme-chooser-sk/theme-chooser-sk.scss
+++ b/infra-sk/modules/theme-chooser-sk/theme-chooser-sk.scss
@@ -1,2 +1,2 @@
-@import 'node_modules/elements-sk/icon/icon-sk.scss';
+@import '../../../elements-sk/modules/icons/icon-sk';
 @import '../../../infra-sk/themes.scss';
diff --git a/infra-sk/modules/theme-chooser-sk/theme-chooser-sk.ts b/infra-sk/modules/theme-chooser-sk/theme-chooser-sk.ts
index 34f5e81..5e3e202 100644
--- a/infra-sk/modules/theme-chooser-sk/theme-chooser-sk.ts
+++ b/infra-sk/modules/theme-chooser-sk/theme-chooser-sk.ts
@@ -26,10 +26,10 @@
  *   </pre>
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../ElementSk';
-import 'elements-sk/icon/invert-colors-icon-sk';
+import '../../../elements-sk/modules/icons/invert-colors-icon-sk';
 
 /** Class applied to <body> to enable darkmode. */
 export const DARKMODE_CLASS = 'darkmode';
diff --git a/infra-sk/modules/tooltip-sk/BUILD.bazel b/infra-sk/modules/tooltip-sk/BUILD.bazel
index cfbb2ed..9cb1592 100644
--- a/infra-sk/modules/tooltip-sk/BUILD.bazel
+++ b/infra-sk/modules/tooltip-sk/BUILD.bazel
@@ -11,8 +11,8 @@
     sass_srcs = ["tooltip-sk.scss"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "tooltip-sk.ts",
@@ -45,9 +45,9 @@
     src = "tooltip-sk_test.ts",
     deps = [
         ":tooltip-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/infra-sk/modules/tooltip-sk/tooltip-sk.ts b/infra-sk/modules/tooltip-sk/tooltip-sk.ts
index 3fe586b..043ba86 100644
--- a/infra-sk/modules/tooltip-sk/tooltip-sk.ts
+++ b/infra-sk/modules/tooltip-sk/tooltip-sk.ts
@@ -12,7 +12,7 @@
  * @attr value - The text to display.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../ElementSk';
 
diff --git a/infra-sk/modules/tooltip-sk/tooltip-sk_test.ts b/infra-sk/modules/tooltip-sk/tooltip-sk_test.ts
index 36a9295..b03abc0 100644
--- a/infra-sk/modules/tooltip-sk/tooltip-sk_test.ts
+++ b/infra-sk/modules/tooltip-sk/tooltip-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 import { assert } from 'chai';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { hiddenClassName, targetAriaAttribute, TooltipSk } from './tooltip-sk';
 
 import { setUpElementUnderTest } from '../test_util';
diff --git a/infra-sk/modules/uniform-color-sk/BUILD.bazel b/infra-sk/modules/uniform-color-sk/BUILD.bazel
index b207579..7daefc3 100644
--- a/infra-sk/modules/uniform-color-sk/BUILD.bazel
+++ b/infra-sk/modules/uniform-color-sk/BUILD.bazel
@@ -11,9 +11,9 @@
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//infra-sk/modules/uniform:uniform_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -26,7 +26,7 @@
     name = "uniform-color-sk-demo",
     html_file = "uniform-color-sk-demo.html",
     sk_element_deps = [":uniform-color-sk"],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "uniform-color-sk-demo.ts",
 )
 
@@ -46,9 +46,9 @@
     src = "uniform-color-sk_test.ts",
     deps = [
         ":uniform-color-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/infra-sk/modules/uniform-color-sk/uniform-color-sk-demo.ts b/infra-sk/modules/uniform-color-sk/uniform-color-sk-demo.ts
index 042c6da..499ad1e 100644
--- a/infra-sk/modules/uniform-color-sk/uniform-color-sk-demo.ts
+++ b/infra-sk/modules/uniform-color-sk/uniform-color-sk-demo.ts
@@ -1,8 +1,8 @@
 import './index';
 
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import './index';
-import { $ } from 'common-sk/modules/dom';
+import { $ } from '../../../infra-sk/modules/dom';
 import { UniformColorSk } from './uniform-color-sk';
 
 $$('#apply')!.addEventListener('click', () => {
diff --git a/infra-sk/modules/uniform-color-sk/uniform-color-sk.ts b/infra-sk/modules/uniform-color-sk/uniform-color-sk.ts
index 9e173f4..dbf7dfb 100644
--- a/infra-sk/modules/uniform-color-sk/uniform-color-sk.ts
+++ b/infra-sk/modules/uniform-color-sk/uniform-color-sk.ts
@@ -7,8 +7,8 @@
  *
  * The color uniform values are floats in [0, 1] and are in RGB order.
  */
-import { $$ } from 'common-sk/modules/dom';
-import { define } from 'elements-sk/define';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../ElementSk';
 import { Uniform, UniformControl } from '../uniform/uniform';
diff --git a/infra-sk/modules/uniform-color-sk/uniform-color-sk_test.ts b/infra-sk/modules/uniform-color-sk/uniform-color-sk_test.ts
index 32c5cd6..c412c2a 100644
--- a/infra-sk/modules/uniform-color-sk/uniform-color-sk_test.ts
+++ b/infra-sk/modules/uniform-color-sk/uniform-color-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 import { assert } from 'chai';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { hexToSlot, slotToHex, UniformColorSk } from './uniform-color-sk';
 import { setUpElementUnderTest } from '../test_util';
 
diff --git a/infra-sk/modules/uniform-dimensions-sk/BUILD.bazel b/infra-sk/modules/uniform-dimensions-sk/BUILD.bazel
index 6a47b12..47bdde6 100644
--- a/infra-sk/modules/uniform-dimensions-sk/BUILD.bazel
+++ b/infra-sk/modules/uniform-dimensions-sk/BUILD.bazel
@@ -11,8 +11,8 @@
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//infra-sk/modules/uniform:uniform_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -25,7 +25,7 @@
     name = "uniform-dimensions-sk-demo",
     html_file = "uniform-dimensions-sk-demo.html",
     sk_element_deps = [":uniform-dimensions-sk"],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "uniform-dimensions-sk-demo.ts",
 )
 
diff --git a/infra-sk/modules/uniform-dimensions-sk/uniform-dimensions-sk-demo.ts b/infra-sk/modules/uniform-dimensions-sk/uniform-dimensions-sk-demo.ts
index 0e8a4cf..a152801 100644
--- a/infra-sk/modules/uniform-dimensions-sk/uniform-dimensions-sk-demo.ts
+++ b/infra-sk/modules/uniform-dimensions-sk/uniform-dimensions-sk-demo.ts
@@ -1,4 +1,4 @@
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import './index';
 import { DimensionsChangedEventDetail, dimensionsChangedEventName, UniformDimensionsSk } from './uniform-dimensions-sk';
 
diff --git a/infra-sk/modules/uniform-dimensions-sk/uniform-dimensions-sk.ts b/infra-sk/modules/uniform-dimensions-sk/uniform-dimensions-sk.ts
index 8ab6851..655d7b0 100644
--- a/infra-sk/modules/uniform-dimensions-sk/uniform-dimensions-sk.ts
+++ b/infra-sk/modules/uniform-dimensions-sk/uniform-dimensions-sk.ts
@@ -10,7 +10,7 @@
  *
  * Emits a `dimensions-changed` event when the user has changed the dimensions.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../ElementSk';
 import { Uniform, UniformControl } from '../uniform/uniform';
diff --git a/infra-sk/modules/uniform-fps-sk/BUILD.bazel b/infra-sk/modules/uniform-fps-sk/BUILD.bazel
index dc307ca..00abc5f 100644
--- a/infra-sk/modules/uniform-fps-sk/BUILD.bazel
+++ b/infra-sk/modules/uniform-fps-sk/BUILD.bazel
@@ -12,8 +12,8 @@
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//infra-sk/modules/fps:fps_ts_lib",
         "//infra-sk/modules/uniform:uniform_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/infra-sk/modules/uniform-fps-sk/uniform-fps-sk.ts b/infra-sk/modules/uniform-fps-sk/uniform-fps-sk.ts
index da755e1..5bb077d 100644
--- a/infra-sk/modules/uniform-fps-sk/uniform-fps-sk.ts
+++ b/infra-sk/modules/uniform-fps-sk/uniform-fps-sk.ts
@@ -4,7 +4,7 @@
  *
  * Displays the frames per second.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../ElementSk';
 import { FPS } from '../fps/fps';
diff --git a/infra-sk/modules/uniform-generic-sk/BUILD.bazel b/infra-sk/modules/uniform-generic-sk/BUILD.bazel
index 629477f..cf93d40 100644
--- a/infra-sk/modules/uniform-generic-sk/BUILD.bazel
+++ b/infra-sk/modules/uniform-generic-sk/BUILD.bazel
@@ -11,9 +11,9 @@
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//infra-sk/modules/uniform:uniform_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -26,7 +26,7 @@
     name = "uniform-generic-sk-demo",
     html_file = "uniform-generic-sk-demo.html",
     sk_element_deps = [":uniform-generic-sk"],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "uniform-generic-sk-demo.ts",
 )
 
@@ -46,9 +46,9 @@
     src = "uniform-generic-sk_test.ts",
     deps = [
         ":uniform-generic-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/infra-sk/modules/uniform-generic-sk/uniform-generic-sk-demo.ts b/infra-sk/modules/uniform-generic-sk/uniform-generic-sk-demo.ts
index e199b50..45ccece 100644
--- a/infra-sk/modules/uniform-generic-sk/uniform-generic-sk-demo.ts
+++ b/infra-sk/modules/uniform-generic-sk/uniform-generic-sk-demo.ts
@@ -1,4 +1,4 @@
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import './index';
 import { UniformGenericSk } from './uniform-generic-sk';
 
diff --git a/infra-sk/modules/uniform-generic-sk/uniform-generic-sk.ts b/infra-sk/modules/uniform-generic-sk/uniform-generic-sk.ts
index 36ffaee..5a99d8a 100644
--- a/infra-sk/modules/uniform-generic-sk/uniform-generic-sk.ts
+++ b/infra-sk/modules/uniform-generic-sk/uniform-generic-sk.ts
@@ -6,8 +6,8 @@
  *
  * Simply displays number input controls in a table.
  */
-import { $$ } from 'common-sk/modules/dom';
-import { define } from 'elements-sk/define';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
 import { ElementSk } from '../ElementSk';
 import { Uniform, UniformControl } from '../uniform/uniform';
diff --git a/infra-sk/modules/uniform-generic-sk/uniform-generic-sk_test.ts b/infra-sk/modules/uniform-generic-sk/uniform-generic-sk_test.ts
index 2f661aa..12c3724 100644
--- a/infra-sk/modules/uniform-generic-sk/uniform-generic-sk_test.ts
+++ b/infra-sk/modules/uniform-generic-sk/uniform-generic-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 import { assert } from 'chai';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { UniformGenericSk } from './uniform-generic-sk';
 
 import { setUpElementUnderTest } from '../test_util';
diff --git a/infra-sk/modules/uniform-imageresolution-sk/BUILD.bazel b/infra-sk/modules/uniform-imageresolution-sk/BUILD.bazel
index f7da970..7795c8e 100644
--- a/infra-sk/modules/uniform-imageresolution-sk/BUILD.bazel
+++ b/infra-sk/modules/uniform-imageresolution-sk/BUILD.bazel
@@ -10,7 +10,7 @@
     sass_srcs = ["uniform-imageresolution-sk.scss"],
     ts_deps = [
         "//infra-sk/modules/uniform:uniform_ts_lib",
-        "@npm//elements-sk",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -23,7 +23,7 @@
     name = "uniform-imageresolution-sk-demo",
     html_file = "uniform-imageresolution-sk-demo.html",
     sk_element_deps = [":uniform-imageresolution-sk"],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "uniform-imageresolution-sk-demo.ts",
 )
 
diff --git a/infra-sk/modules/uniform-imageresolution-sk/uniform-imageresolution-sk-demo.ts b/infra-sk/modules/uniform-imageresolution-sk/uniform-imageresolution-sk-demo.ts
index 3f2fc56..db66575 100644
--- a/infra-sk/modules/uniform-imageresolution-sk/uniform-imageresolution-sk-demo.ts
+++ b/infra-sk/modules/uniform-imageresolution-sk/uniform-imageresolution-sk-demo.ts
@@ -1,4 +1,4 @@
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import './index';
 import { UniformImageresolutionSk } from './uniform-imageresolution-sk';
 
diff --git a/infra-sk/modules/uniform-imageresolution-sk/uniform-imageresolution-sk.ts b/infra-sk/modules/uniform-imageresolution-sk/uniform-imageresolution-sk.ts
index 66b8845..bd797ce 100644
--- a/infra-sk/modules/uniform-imageresolution-sk/uniform-imageresolution-sk.ts
+++ b/infra-sk/modules/uniform-imageresolution-sk/uniform-imageresolution-sk.ts
@@ -6,7 +6,7 @@
  *
  * Note this control doesn't display anything.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { Uniform, UniformControl } from '../uniform/uniform';
 
 // All source images are 512 x 512 px.
diff --git a/infra-sk/modules/uniform-mouse-sk/BUILD.bazel b/infra-sk/modules/uniform-mouse-sk/BUILD.bazel
index 374b727..e343d92 100644
--- a/infra-sk/modules/uniform-mouse-sk/BUILD.bazel
+++ b/infra-sk/modules/uniform-mouse-sk/BUILD.bazel
@@ -10,7 +10,7 @@
     sass_srcs = ["uniform-mouse-sk.scss"],
     ts_deps = [
         "//infra-sk/modules/uniform:uniform_ts_lib",
-        "@npm//elements-sk",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -23,7 +23,7 @@
     name = "uniform-mouse-sk-demo",
     html_file = "uniform-mouse-sk-demo.html",
     sk_element_deps = [":uniform-mouse-sk"],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "uniform-mouse-sk-demo.ts",
 )
 
diff --git a/infra-sk/modules/uniform-mouse-sk/uniform-mouse-sk-demo.ts b/infra-sk/modules/uniform-mouse-sk/uniform-mouse-sk-demo.ts
index 4c8bd35..ad96186 100644
--- a/infra-sk/modules/uniform-mouse-sk/uniform-mouse-sk-demo.ts
+++ b/infra-sk/modules/uniform-mouse-sk/uniform-mouse-sk-demo.ts
@@ -1,4 +1,4 @@
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import './index';
 import { UniformMouseSk } from './uniform-mouse-sk';
 
diff --git a/infra-sk/modules/uniform-mouse-sk/uniform-mouse-sk.ts b/infra-sk/modules/uniform-mouse-sk/uniform-mouse-sk.ts
index 41d028e..48c8478 100644
--- a/infra-sk/modules/uniform-mouse-sk/uniform-mouse-sk.ts
+++ b/infra-sk/modules/uniform-mouse-sk/uniform-mouse-sk.ts
@@ -9,7 +9,7 @@
  * See https://www.shadertoy.com/view/Mss3zH for an explanation of how the
  * iMouse uniform behaves.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { Uniform, UniformControl } from '../uniform/uniform';
 
 const defaultUniform: Uniform = {
diff --git a/infra-sk/modules/uniform-slider-sk/BUILD.bazel b/infra-sk/modules/uniform-slider-sk/BUILD.bazel
index c8d1100..4dc9f3d 100644
--- a/infra-sk/modules/uniform-slider-sk/BUILD.bazel
+++ b/infra-sk/modules/uniform-slider-sk/BUILD.bazel
@@ -8,16 +8,16 @@
 sk_element(
     name = "uniform-slider-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/themes/color-palette.scss",
-        "@npm//:node_modules/elements-sk/themes/themes.scss",
+        "//elements-sk/modules/themes:color-palette_sass_lib",
+        "//elements-sk/modules/themes:themes_sass_lib",
     ],
     sass_srcs = ["uniform-slider-sk.scss"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//infra-sk/modules/uniform:uniform_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -30,7 +30,7 @@
     name = "uniform-slider-sk-demo",
     html_file = "uniform-slider-sk-demo.html",
     sk_element_deps = [":uniform-slider-sk"],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "uniform-slider-sk-demo.ts",
 )
 
diff --git a/infra-sk/modules/uniform-slider-sk/uniform-slider-sk-demo.ts b/infra-sk/modules/uniform-slider-sk/uniform-slider-sk-demo.ts
index f3fe600..4c42d29 100644
--- a/infra-sk/modules/uniform-slider-sk/uniform-slider-sk-demo.ts
+++ b/infra-sk/modules/uniform-slider-sk/uniform-slider-sk-demo.ts
@@ -1,6 +1,6 @@
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import './index';
-import { $ } from 'common-sk/modules/dom';
+import { $ } from '../../../infra-sk/modules/dom';
 import { UniformSliderSk } from './uniform-slider-sk';
 
 $$('#apply')!.addEventListener('click', () => {
diff --git a/infra-sk/modules/uniform-slider-sk/uniform-slider-sk.scss b/infra-sk/modules/uniform-slider-sk/uniform-slider-sk.scss
index dd1a16e..0ae5d4e 100644
--- a/infra-sk/modules/uniform-slider-sk/uniform-slider-sk.scss
+++ b/infra-sk/modules/uniform-slider-sk/uniform-slider-sk.scss
@@ -1,5 +1,5 @@
-@import 'node_modules/elements-sk/themes/color-palette.scss';
-@import 'node_modules/elements-sk/themes/themes.scss';
+@import '../../../elements-sk/modules/themes/color-palette';
+@import '../../../elements-sk/modules/themes/themes';
 
 uniform-slider-sk {
   display: block;
diff --git a/infra-sk/modules/uniform-slider-sk/uniform-slider-sk.ts b/infra-sk/modules/uniform-slider-sk/uniform-slider-sk.ts
index 314a6a3..d56a75e 100644
--- a/infra-sk/modules/uniform-slider-sk/uniform-slider-sk.ts
+++ b/infra-sk/modules/uniform-slider-sk/uniform-slider-sk.ts
@@ -4,8 +4,8 @@
  *
  * Constructs a single slider for a single float uniform.
  */
-import { $$ } from 'common-sk/modules/dom';
-import { define } from 'elements-sk/define';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../ElementSk';
 import { Uniform, UniformControl } from '../uniform/uniform';
diff --git a/infra-sk/modules/uniform-time-sk/BUILD.bazel b/infra-sk/modules/uniform-time-sk/BUILD.bazel
index 6ff37ee..7d70e12 100644
--- a/infra-sk/modules/uniform-time-sk/BUILD.bazel
+++ b/infra-sk/modules/uniform-time-sk/BUILD.bazel
@@ -7,12 +7,18 @@
 
 sk_element(
     name = "uniform-time-sk",
+    sass_deps = ["//elements-sk/modules/styles:buttons_sass_lib"],
     sass_srcs = ["uniform-time-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/icons/fast-rewind-icon-sk",
+        "//elements-sk/modules/icons/pause-icon-sk",
+        "//elements-sk/modules/icons/play-arrow-icon-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//infra-sk/modules/uniform:uniform_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -25,7 +31,7 @@
     name = "uniform-time-sk-demo",
     html_file = "uniform-time-sk-demo.html",
     sk_element_deps = [":uniform-time-sk"],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "uniform-time-sk-demo.ts",
 )
 
@@ -45,9 +51,9 @@
     src = "uniform-time-sk_test.ts",
     deps = [
         ":uniform-time-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/infra-sk/modules/uniform-time-sk/uniform-time-sk-demo.ts b/infra-sk/modules/uniform-time-sk/uniform-time-sk-demo.ts
index 1cc3add..73d763b 100644
--- a/infra-sk/modules/uniform-time-sk/uniform-time-sk-demo.ts
+++ b/infra-sk/modules/uniform-time-sk/uniform-time-sk-demo.ts
@@ -1,4 +1,4 @@
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import { UniformTimeSk } from './uniform-time-sk';
 import './index';
 
diff --git a/infra-sk/modules/uniform-time-sk/uniform-time-sk.scss b/infra-sk/modules/uniform-time-sk/uniform-time-sk.scss
index a44311f..a8ad2a6 100644
--- a/infra-sk/modules/uniform-time-sk/uniform-time-sk.scss
+++ b/infra-sk/modules/uniform-time-sk/uniform-time-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 uniform-time-sk {
   display: block;
 
diff --git a/infra-sk/modules/uniform-time-sk/uniform-time-sk.ts b/infra-sk/modules/uniform-time-sk/uniform-time-sk.ts
index 6783d68..c2a6239 100644
--- a/infra-sk/modules/uniform-time-sk/uniform-time-sk.ts
+++ b/infra-sk/modules/uniform-time-sk/uniform-time-sk.ts
@@ -6,14 +6,13 @@
  *
  * Displays the play/pause and rewind buttons.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../ElementSk';
-import 'elements-sk/icon/play-arrow-icon-sk';
-import 'elements-sk/icon/pause-icon-sk';
-import 'elements-sk/icon/fast-rewind-icon-sk';
+import '../../../elements-sk/modules/icons/play-arrow-icon-sk';
+import '../../../elements-sk/modules/icons/pause-icon-sk';
+import '../../../elements-sk/modules/icons/fast-rewind-icon-sk';
 import { Uniform, UniformControl } from '../uniform/uniform';
-import 'elements-sk/styles/buttons';
 
 const defaultUniform: Uniform = {
   name: 'iTime',
diff --git a/infra-sk/modules/uniform-time-sk/uniform-time-sk_test.ts b/infra-sk/modules/uniform-time-sk/uniform-time-sk_test.ts
index 97fb11b..3b2d9f1 100644
--- a/infra-sk/modules/uniform-time-sk/uniform-time-sk_test.ts
+++ b/infra-sk/modules/uniform-time-sk/uniform-time-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 import { assert } from 'chai';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { UniformTimeSk } from './uniform-time-sk';
 
 import { setUpElementUnderTest } from '../test_util';
diff --git a/infra-sk/themes.scss b/infra-sk/themes.scss
index 29adb04..3a48cc8 100644
--- a/infra-sk/themes.scss
+++ b/infra-sk/themes.scss
@@ -61,13 +61,13 @@
 
 */
 
-@import 'node_modules/elements-sk/themes/color-palette.scss';
-@import 'node_modules/elements-sk/themes/themes.scss';
+@import '../elements-sk/modules/themes/color-palette';
+@import '../elements-sk/modules/themes/themes';
 @import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,400italic|Roboto+Mono:400,500|Material+Icons');
 
-@import 'node_modules/elements-sk/styles/buttons/buttons.scss';
-@import 'node_modules/elements-sk/styles/select/select.scss';
-@import 'node_modules/elements-sk/styles/table/table.scss';
+@import '../elements-sk/modules/styles/buttons';
+@import '../elements-sk/modules/styles/select';
+@import '../elements-sk/modules/styles/table';
 
 .body-sk {
   &.font-sk,
diff --git a/jsfiddle/modules/canvaskit-fiddle-sk/BUILD.bazel b/jsfiddle/modules/canvaskit-fiddle-sk/BUILD.bazel
index 05d0c24..bfdbccc 100644
--- a/jsfiddle/modules/canvaskit-fiddle-sk/BUILD.bazel
+++ b/jsfiddle/modules/canvaskit-fiddle-sk/BUILD.bazel
@@ -6,11 +6,12 @@
         "//infra-sk/modules/theme-chooser-sk",
         "//jsfiddle/modules/wasm-fiddle-sk",
         "//infra-sk/modules/app-sk",
+        "//elements-sk/modules/error-toast-sk",
     ],
     ts_deps = [
-        "@npm//elements-sk",
         "@npm//lit-html",
         "@npm//canvaskit-wasm",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "canvaskit-fiddle-sk.ts",
@@ -26,7 +27,7 @@
         "//jsfiddle/modules/wasm-fiddle-sk",
         ":canvaskit-fiddle-sk",
     ],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "canvaskit-fiddle-sk-demo.ts",
 )
 
diff --git a/jsfiddle/modules/canvaskit-fiddle-sk/canvaskit-fiddle-sk-demo.ts b/jsfiddle/modules/canvaskit-fiddle-sk/canvaskit-fiddle-sk-demo.ts
index 78df961..9c5d806 100644
--- a/jsfiddle/modules/canvaskit-fiddle-sk/canvaskit-fiddle-sk-demo.ts
+++ b/jsfiddle/modules/canvaskit-fiddle-sk/canvaskit-fiddle-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { WasmFiddle } from '../wasm-fiddle-sk/wasm-fiddle-sk';
 
 const ck = $$<WasmFiddle>('canvaskit-fiddle-sk')!;
diff --git a/jsfiddle/modules/canvaskit-fiddle-sk/canvaskit-fiddle-sk.ts b/jsfiddle/modules/canvaskit-fiddle-sk/canvaskit-fiddle-sk.ts
index dccb78a..cfec967 100644
--- a/jsfiddle/modules/canvaskit-fiddle-sk/canvaskit-fiddle-sk.ts
+++ b/jsfiddle/modules/canvaskit-fiddle-sk/canvaskit-fiddle-sk.ts
@@ -1,5 +1,5 @@
-import 'elements-sk/error-toast-sk';
-import { define } from 'elements-sk/define';
+import '../../../elements-sk/modules/error-toast-sk';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { CanvasKitInit as CKInit } from 'canvaskit-wasm';
 import { WasmFiddle } from '../wasm-fiddle-sk/wasm-fiddle-sk';
diff --git a/jsfiddle/modules/pathkit-fiddle-sk/BUILD.bazel b/jsfiddle/modules/pathkit-fiddle-sk/BUILD.bazel
index 23c8f4f..1c93e1d 100644
--- a/jsfiddle/modules/pathkit-fiddle-sk/BUILD.bazel
+++ b/jsfiddle/modules/pathkit-fiddle-sk/BUILD.bazel
@@ -11,10 +11,11 @@
         "//infra-sk/modules/theme-chooser-sk",
         "//jsfiddle/modules/wasm-fiddle-sk",
         "//infra-sk/modules/app-sk",
+        "//elements-sk/modules/error-toast-sk",
     ],
     ts_deps = [
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -30,6 +31,6 @@
         "//jsfiddle/modules/wasm-fiddle-sk",
         ":pathkit-fiddle-sk",
     ],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "pathkit-fiddle-sk-demo.ts",
 )
diff --git a/jsfiddle/modules/pathkit-fiddle-sk/pathkit-fiddle-sk-demo.ts b/jsfiddle/modules/pathkit-fiddle-sk/pathkit-fiddle-sk-demo.ts
index dbe8098..135877f 100644
--- a/jsfiddle/modules/pathkit-fiddle-sk/pathkit-fiddle-sk-demo.ts
+++ b/jsfiddle/modules/pathkit-fiddle-sk/pathkit-fiddle-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { WasmFiddle } from '../wasm-fiddle-sk/wasm-fiddle-sk';
 
 const pk = $$ <WasmFiddle>('pathkit-fiddle')!;
diff --git a/jsfiddle/modules/pathkit-fiddle-sk/pathkit-fiddle-sk.ts b/jsfiddle/modules/pathkit-fiddle-sk/pathkit-fiddle-sk.ts
index 8aef759..3907967 100644
--- a/jsfiddle/modules/pathkit-fiddle-sk/pathkit-fiddle-sk.ts
+++ b/jsfiddle/modules/pathkit-fiddle-sk/pathkit-fiddle-sk.ts
@@ -1,5 +1,5 @@
-import 'elements-sk/error-toast-sk';
-import { define } from 'elements-sk/define';
+import '../../../elements-sk/modules/error-toast-sk';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { WasmFiddle } from '../wasm-fiddle-sk/wasm-fiddle-sk';
 import '../../../infra-sk/modules/theme-chooser-sk';
diff --git a/jsfiddle/modules/wasm-fiddle-sk/BUILD.bazel b/jsfiddle/modules/wasm-fiddle-sk/BUILD.bazel
index 8f54427..7222593 100644
--- a/jsfiddle/modules/wasm-fiddle-sk/BUILD.bazel
+++ b/jsfiddle/modules/wasm-fiddle-sk/BUILD.bazel
@@ -7,6 +7,7 @@
         "@npm//:node_modules/codemirror/lib/codemirror.css",
         "@npm//:node_modules/codemirror/theme/ambiance.css",
         "@npm//:node_modules/codemirror/theme/base16-light.css",
+        "//elements-sk/modules/styles:buttons_sass_lib",
     ],
     sass_srcs = ["wasm-fiddle-sk.scss"],
     sk_element_deps = ["//infra-sk/modules/theme-chooser-sk"],
@@ -14,10 +15,11 @@
         "//infra-sk/modules/fps:fps_ts_lib",
         "@npm//@types/codemirror",
         "@npm//codemirror",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "@npm//canvaskit-wasm",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/jsfiddle/modules/wasm-fiddle-sk/wasm-fiddle-sk.scss b/jsfiddle/modules/wasm-fiddle-sk/wasm-fiddle-sk.scss
index 62a740a..a19f934 100644
--- a/jsfiddle/modules/wasm-fiddle-sk/wasm-fiddle-sk.scss
+++ b/jsfiddle/modules/wasm-fiddle-sk/wasm-fiddle-sk.scss
@@ -1,6 +1,7 @@
 @use 'node_modules/codemirror/lib/codemirror.css';
 @use 'node_modules/codemirror/theme/ambiance.css';
 @use 'node_modules/codemirror/theme/base16-light.css';
+@import '../../../elements-sk/modules/styles/buttons';
 
 @import '../../../infra-sk/themes.scss';
 
diff --git a/jsfiddle/modules/wasm-fiddle-sk/wasm-fiddle-sk.ts b/jsfiddle/modules/wasm-fiddle-sk/wasm-fiddle-sk.ts
index 88b96e9f..bc8201c 100644
--- a/jsfiddle/modules/wasm-fiddle-sk/wasm-fiddle-sk.ts
+++ b/jsfiddle/modules/wasm-fiddle-sk/wasm-fiddle-sk.ts
@@ -1,16 +1,14 @@
-import 'elements-sk/styles/buttons';
 
 import 'codemirror/mode/javascript/javascript'; // Syntax highlighting for js.
-import { $$ } from 'common-sk/modules/dom';
-import { errorMessage } from 'elements-sk/errorMessage';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
 import { html, render, TemplateResult } from 'lit-html';
 import CodeMirror from 'codemirror';
 import type {
   CanvasKit,
 } from 'canvaskit-wasm';
 import { FPS } from '../../../infra-sk/modules/fps/fps';
-import 'elements-sk/styles/buttons';
 import 'codemirror/mode/clike/clike'; // Syntax highlighting for c-like languages.
 
 import { isDarkMode } from '../../../infra-sk/modules/theme-chooser-sk/theme-chooser-sk';
diff --git a/leasing/modules/BUILD.bazel b/leasing/modules/BUILD.bazel
index 4cbef1a..aa5f6d0 100644
--- a/leasing/modules/BUILD.bazel
+++ b/leasing/modules/BUILD.bazel
@@ -5,9 +5,9 @@
     srcs = ["leasing.ts"],
     visibility = ["//visibility:public"],
     deps = [
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
         "//modules/devices:devices_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
     ],
 )
 
diff --git a/leasing/modules/leasing-list-sk/BUILD.bazel b/leasing/modules/leasing-list-sk/BUILD.bazel
index 243ad9b..a19e96c 100644
--- a/leasing/modules/leasing-list-sk/BUILD.bazel
+++ b/leasing/modules/leasing-list-sk/BUILD.bazel
@@ -9,13 +9,22 @@
     sk_element_deps = [
         "//infra-sk/modules/login-sk",
         "//leasing/modules/leasing-task-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/folder-icon-sk",
+        "//elements-sk/modules/icons/gesture-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/icons/home-icon-sk",
+        "//elements-sk/modules/icons/star-icon-sk",
+        "//elements-sk/modules/nav-button-sk",
+        "//elements-sk/modules/nav-links-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//leasing/modules/json:index_ts_lib",
         "//leasing/modules:leasing_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:upgradeproperty_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/leasing/modules/leasing-list-sk/leasing-list-sk.ts b/leasing/modules/leasing-list-sk/leasing-list-sk.ts
index 64536ca..22b94e0 100644
--- a/leasing/modules/leasing-list-sk/leasing-list-sk.ts
+++ b/leasing/modules/leasing-list-sk/leasing-list-sk.ts
@@ -8,21 +8,21 @@
  *
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
-import { upgradeProperty } from 'elements-sk/upgradeProperty';
+import { upgradeProperty } from '../../../elements-sk/modules/upgradeProperty';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
 import '../leasing-task-sk';
 
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/icon/folder-icon-sk';
-import 'elements-sk/icon/gesture-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/icon/home-icon-sk';
-import 'elements-sk/icon/star-icon-sk';
-import 'elements-sk/nav-button-sk';
-import 'elements-sk/nav-links-sk';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/icons/folder-icon-sk';
+import '../../../elements-sk/modules/icons/gesture-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/icons/home-icon-sk';
+import '../../../elements-sk/modules/icons/star-icon-sk';
+import '../../../elements-sk/modules/nav-button-sk';
+import '../../../elements-sk/modules/nav-links-sk';
 import { doImpl } from '../leasing';
 
 import '../../../infra-sk/modules/login-sk';
diff --git a/leasing/modules/leasing-scaffold-sk/BUILD.bazel b/leasing/modules/leasing-scaffold-sk/BUILD.bazel
index 01781f7..091b3c4 100644
--- a/leasing/modules/leasing-scaffold-sk/BUILD.bazel
+++ b/leasing/modules/leasing-scaffold-sk/BUILD.bazel
@@ -7,11 +7,17 @@
         "//infra-sk/modules/app-sk",
         "//infra-sk/modules/login-sk",
         "//infra-sk/modules/theme-chooser-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/account-box-icon-sk",
+        "//elements-sk/modules/icons/folder-icon-sk",
+        "//elements-sk/modules/icons/group-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/icons/home-icon-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/leasing/modules/leasing-scaffold-sk/leasing-scaffold-sk.ts b/leasing/modules/leasing-scaffold-sk/leasing-scaffold-sk.ts
index 68c2bb3..9a4e71e 100644
--- a/leasing/modules/leasing-scaffold-sk/leasing-scaffold-sk.ts
+++ b/leasing/modules/leasing-scaffold-sk/leasing-scaffold-sk.ts
@@ -9,16 +9,16 @@
  *
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/icon/folder-icon-sk';
-import 'elements-sk/icon/account-box-icon-sk';
-import 'elements-sk/icon/group-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/icon/home-icon-sk';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/icons/folder-icon-sk';
+import '../../../elements-sk/modules/icons/account-box-icon-sk';
+import '../../../elements-sk/modules/icons/group-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/icons/home-icon-sk';
 
 import '../../../infra-sk/modules/app-sk';
 import '../../../infra-sk/modules/login-sk';
diff --git a/leasing/modules/leasing-selections-sk/BUILD.bazel b/leasing/modules/leasing-selections-sk/BUILD.bazel
index ff62db6..c1e033e 100644
--- a/leasing/modules/leasing-selections-sk/BUILD.bazel
+++ b/leasing/modules/leasing-selections-sk/BUILD.bazel
@@ -3,17 +3,30 @@
 sk_element(
     name = "leasing-selections-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules/styles:select_sass_lib",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["leasing-selections-sk.scss"],
-    sk_element_deps = ["//infra-sk/modules/login-sk"],
+    sk_element_deps = [
+        "//infra-sk/modules/login-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/folder-icon-sk",
+        "//elements-sk/modules/icons/gesture-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/icons/home-icon-sk",
+        "//elements-sk/modules/icons/star-icon-sk",
+        "//elements-sk/modules/nav-button-sk",
+        "//elements-sk/modules/nav-links-sk",
+        "//elements-sk/modules/select-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//leasing/modules/json:index_ts_lib",
         "//leasing/modules:leasing_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/leasing/modules/leasing-selections-sk/leasing-selections-sk.scss b/leasing/modules/leasing-selections-sk/leasing-selections-sk.scss
index be2e033..c74ec36 100644
--- a/leasing/modules/leasing-selections-sk/leasing-selections-sk.scss
+++ b/leasing/modules/leasing-selections-sk/leasing-selections-sk.scss
@@ -1,4 +1,5 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/styles/select';
+@import '../../../elements-sk/modules/colors';
 
 leasing-selections-sk {
   display: block;
diff --git a/leasing/modules/leasing-selections-sk/leasing-selections-sk.ts b/leasing/modules/leasing-selections-sk/leasing-selections-sk.ts
index 48a3733..2fb180a 100644
--- a/leasing/modules/leasing-selections-sk/leasing-selections-sk.ts
+++ b/leasing/modules/leasing-selections-sk/leasing-selections-sk.ts
@@ -9,21 +9,20 @@
  *
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/icon/folder-icon-sk';
-import 'elements-sk/icon/gesture-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/icon/home-icon-sk';
-import 'elements-sk/icon/star-icon-sk';
-import 'elements-sk/nav-button-sk';
-import 'elements-sk/nav-links-sk';
-import 'elements-sk/select-sk';
-import 'elements-sk/styles/select';
-import { errorMessage } from 'elements-sk/errorMessage';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/icons/folder-icon-sk';
+import '../../../elements-sk/modules/icons/gesture-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/icons/home-icon-sk';
+import '../../../elements-sk/modules/icons/star-icon-sk';
+import '../../../elements-sk/modules/nav-button-sk';
+import '../../../elements-sk/modules/nav-links-sk';
+import '../../../elements-sk/modules/select-sk';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { device, getAKAStr, doImpl } from '../leasing';
 
diff --git a/leasing/modules/leasing-task-sk/BUILD.bazel b/leasing/modules/leasing-task-sk/BUILD.bazel
index d0d75ba..4bcb076 100644
--- a/leasing/modules/leasing-task-sk/BUILD.bazel
+++ b/leasing/modules/leasing-task-sk/BUILD.bazel
@@ -6,14 +6,24 @@
         "//leasing/modules:colors_sass_lib",
     ],
     sass_srcs = ["leasing-task-sk.scss"],
-    sk_element_deps = ["//infra-sk/modules/login-sk"],
+    sk_element_deps = [
+        "//infra-sk/modules/login-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/folder-icon-sk",
+        "//elements-sk/modules/icons/gesture-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/icons/home-icon-sk",
+        "//elements-sk/modules/icons/star-icon-sk",
+        "//elements-sk/modules/nav-button-sk",
+        "//elements-sk/modules/nav-links-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//leasing/modules/json:index_ts_lib",
         "//leasing/modules:leasing_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/leasing/modules/leasing-task-sk/leasing-task-sk.ts b/leasing/modules/leasing-task-sk/leasing-task-sk.ts
index 217c4af..c05dace 100644
--- a/leasing/modules/leasing-task-sk/leasing-task-sk.ts
+++ b/leasing/modules/leasing-task-sk/leasing-task-sk.ts
@@ -8,19 +8,19 @@
  *
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/icon/folder-icon-sk';
-import 'elements-sk/icon/gesture-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/icon/home-icon-sk';
-import 'elements-sk/icon/star-icon-sk';
-import 'elements-sk/nav-button-sk';
-import 'elements-sk/nav-links-sk';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/icons/folder-icon-sk';
+import '../../../elements-sk/modules/icons/gesture-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/icons/home-icon-sk';
+import '../../../elements-sk/modules/icons/star-icon-sk';
+import '../../../elements-sk/modules/nav-button-sk';
+import '../../../elements-sk/modules/nav-links-sk';
 import { device, getAKAStr, doImpl } from '../leasing';
 
 import '../../../infra-sk/modules/login-sk';
diff --git a/leasing/modules/leasing.ts b/leasing/modules/leasing.ts
index 77ea3d8..70b2f3c 100644
--- a/leasing/modules/leasing.ts
+++ b/leasing/modules/leasing.ts
@@ -1,6 +1,6 @@
 // Functions used by more than one element.
-import { errorMessage } from 'elements-sk/errorMessage';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { errorMessage } from '../../elements-sk/modules/errorMessage';
+import { jsonOrThrow } from '../../infra-sk/modules/jsonOrThrow';
 import { DEVICE_ALIASES } from '../../modules/devices/devices';
 
 const UNKNOWN = 'unknown';
diff --git a/machine/modules/auto-refresh-sk/BUILD.bazel b/machine/modules/auto-refresh-sk/BUILD.bazel
index f9aae09..20f0b66 100644
--- a/machine/modules/auto-refresh-sk/BUILD.bazel
+++ b/machine/modules/auto-refresh-sk/BUILD.bazel
@@ -8,10 +8,14 @@
 sk_element(
     name = "auto-refresh-sk",
     sass_srcs = ["auto-refresh-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/icons/pause-icon-sk",
+        "//elements-sk/modules/icons/play-arrow-icon-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "auto-refresh-sk.ts",
@@ -25,7 +29,7 @@
     html_file = "auto-refresh-sk-demo.html",
     scss_entry_point = "auto-refresh-sk-demo.scss",
     sk_element_deps = [":auto-refresh-sk"],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "auto-refresh-sk-demo.ts",
 )
 
@@ -45,9 +49,9 @@
     src = "auto-refresh-sk_test.ts",
     deps = [
         ":auto-refresh-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/machine/modules/auto-refresh-sk/auto-refresh-sk-demo.ts b/machine/modules/auto-refresh-sk/auto-refresh-sk-demo.ts
index 6d67609..77ac36e 100644
--- a/machine/modules/auto-refresh-sk/auto-refresh-sk-demo.ts
+++ b/machine/modules/auto-refresh-sk/auto-refresh-sk-demo.ts
@@ -1,4 +1,4 @@
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { AutoRefreshSk } from './auto-refresh-sk';
 import './index';
 
diff --git a/machine/modules/auto-refresh-sk/auto-refresh-sk.ts b/machine/modules/auto-refresh-sk/auto-refresh-sk.ts
index 0594537..2597450 100644
--- a/machine/modules/auto-refresh-sk/auto-refresh-sk.ts
+++ b/machine/modules/auto-refresh-sk/auto-refresh-sk.ts
@@ -11,11 +11,11 @@
  * @evt refresh-page - This event bubbles, and is produced every time the data
  *   on the page should be refreshed.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
-import 'elements-sk/icon/pause-icon-sk';
-import 'elements-sk/icon/play-arrow-icon-sk';
+import '../../../elements-sk/modules/icons/pause-icon-sk';
+import '../../../elements-sk/modules/icons/play-arrow-icon-sk';
 
 const REFRESH_LOCALSTORAGE_KEY = 'autorefresh';
 
diff --git a/machine/modules/auto-refresh-sk/auto-refresh-sk_test.ts b/machine/modules/auto-refresh-sk/auto-refresh-sk_test.ts
index 7bdb537..b601a80 100644
--- a/machine/modules/auto-refresh-sk/auto-refresh-sk_test.ts
+++ b/machine/modules/auto-refresh-sk/auto-refresh-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 import { assert } from 'chai';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { AutoRefreshSk } from './auto-refresh-sk';
 
 import { eventPromise, setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
diff --git a/machine/modules/device-editor-sk/BUILD.bazel b/machine/modules/device-editor-sk/BUILD.bazel
index cb9983e..04b56c0 100644
--- a/machine/modules/device-editor-sk/BUILD.bazel
+++ b/machine/modules/device-editor-sk/BUILD.bazel
@@ -9,14 +9,16 @@
     name = "device-editor-sk",
     sass_deps = [
         "//machine/modules/theme:theme_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
     ],
     sass_srcs = ["device-editor-sk.scss"],
+    sk_element_deps = ["//elements-sk/modules/checkbox-sk"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "//machine/modules/json:index_ts_lib",
-        "@npm//common-sk",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "device-editor-sk.ts",
@@ -29,7 +31,7 @@
     name = "device-editor-sk-demo",
     html_file = "device-editor-sk-demo.html",
     sk_element_deps = [":device-editor-sk"],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "device-editor-sk-demo.ts",
 )
 
@@ -45,9 +47,9 @@
     src = "device-editor-sk_test.ts",
     deps = [
         ":device-editor-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/machine/modules/device-editor-sk/device-editor-sk-demo.ts b/machine/modules/device-editor-sk/device-editor-sk-demo.ts
index 2e3587f..4166341 100644
--- a/machine/modules/device-editor-sk/device-editor-sk-demo.ts
+++ b/machine/modules/device-editor-sk/device-editor-sk-demo.ts
@@ -1,4 +1,4 @@
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import './index';
 import { DeviceEditorSk } from './device-editor-sk';
 
diff --git a/machine/modules/device-editor-sk/device-editor-sk.scss b/machine/modules/device-editor-sk/device-editor-sk.scss
index 92b8a60..18d120a 100644
--- a/machine/modules/device-editor-sk/device-editor-sk.scss
+++ b/machine/modules/device-editor-sk/device-editor-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../theme/theme';
 
 device-editor-sk {
diff --git a/machine/modules/device-editor-sk/device-editor-sk.ts b/machine/modules/device-editor-sk/device-editor-sk.ts
index 4c57eb4..596fe96 100644
--- a/machine/modules/device-editor-sk/device-editor-sk.ts
+++ b/machine/modules/device-editor-sk/device-editor-sk.ts
@@ -6,11 +6,10 @@
  *
  * It emits events when the user takes actions.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { $$ } from 'common-sk/modules/dom';
-import 'elements-sk/styles/buttons';
-import 'elements-sk/checkbox-sk';
+import { $$ } from '../../../infra-sk/modules/dom';
+import '../../../elements-sk/modules/checkbox-sk';
 import { SwarmingDimensions } from '../json';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
diff --git a/machine/modules/device-editor-sk/device-editor-sk_test.ts b/machine/modules/device-editor-sk/device-editor-sk_test.ts
index d199266..23ac4de 100644
--- a/machine/modules/device-editor-sk/device-editor-sk_test.ts
+++ b/machine/modules/device-editor-sk/device-editor-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 import { assert } from 'chai';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import {
   ClearDeviceEvent, DeviceEditorSk, UpdateDimensionsDetails, UpdateDimensionsEvent,
 } from './device-editor-sk';
diff --git a/machine/modules/machine-app-sk/BUILD.bazel b/machine/modules/machine-app-sk/BUILD.bazel
index 09ccf69..9054a00 100644
--- a/machine/modules/machine-app-sk/BUILD.bazel
+++ b/machine/modules/machine-app-sk/BUILD.bazel
@@ -13,12 +13,18 @@
         "//infra-sk/modules/app-sk",
         "//infra-sk/modules/theme-chooser-sk",
         "//machine/modules/machine-table-columns-dialog-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/more-vert-icon-sk",
+        "//elements-sk/modules/tabs-panel-sk",
+        "//elements-sk/modules/tabs-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:hintable_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -43,10 +49,10 @@
     src = "machine-app-sk_test.ts",
     deps = [
         ":machine-app-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//machine/modules/json:index_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/machine/modules/machine-app-sk/machine-app-sk.ts b/machine/modules/machine-app-sk/machine-app-sk.ts
index 9b1a1b5..b54f1c2 100644
--- a/machine/modules/machine-app-sk/machine-app-sk.ts
+++ b/machine/modules/machine-app-sk/machine-app-sk.ts
@@ -7,14 +7,14 @@
  */
 import { html, TemplateResult } from 'lit-html';
 
-import { $$ } from 'common-sk/modules/dom';
-import { define } from 'elements-sk/define';
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/tabs-sk';
-import 'elements-sk/tabs-panel-sk';
-import 'elements-sk/icon/more-vert-icon-sk';
-import { stateReflector } from 'common-sk/modules/stateReflector';
-import { HintableObject } from 'common-sk/modules/hintable';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/tabs-sk';
+import '../../../elements-sk/modules/tabs-panel-sk';
+import '../../../elements-sk/modules/icons/more-vert-icon-sk';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
+import { HintableObject } from '../../../infra-sk/modules/hintable';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { MachinesTableSk, MachineTableSkChangeEventDetail, WaitCursor } from '../machines-table-sk';
 import '../machines-table-sk';
diff --git a/machine/modules/machine-app-sk/machine-app-sk_test.ts b/machine/modules/machine-app-sk/machine-app-sk_test.ts
index d1f14f5..f4bdab5 100644
--- a/machine/modules/machine-app-sk/machine-app-sk_test.ts
+++ b/machine/modules/machine-app-sk/machine-app-sk_test.ts
@@ -1,7 +1,7 @@
 import './index';
 
 import { assert } from 'chai';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { MachineAppSk } from './index';
 import { Description } from '../json';
diff --git a/machine/modules/machine-table-columns-dialog-sk/BUILD.bazel b/machine/modules/machine-table-columns-dialog-sk/BUILD.bazel
index 5d569a0..51b5a8a 100644
--- a/machine/modules/machine-table-columns-dialog-sk/BUILD.bazel
+++ b/machine/modules/machine-table-columns-dialog-sk/BUILD.bazel
@@ -11,11 +11,12 @@
         "//machine/modules/theme:theme_sass_lib",
     ],
     sass_srcs = ["machine-table-columns-dialog-sk.scss"],
+    sk_element_deps = ["//elements-sk/modules/checkbox-sk"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
-        "@npm//common-sk",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "machine-table-columns-dialog-sk.ts",
@@ -28,7 +29,7 @@
     name = "machine-table-columns-dialog-sk-demo",
     html_file = "machine-table-columns-dialog-sk-demo.html",
     sk_element_deps = [":machine-table-columns-dialog-sk"],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "machine-table-columns-dialog-sk-demo.ts",
 )
 
@@ -48,10 +49,10 @@
     src = "machine-table-columns-dialog-sk_test.ts",
     deps = [
         ":machine-table-columns-dialog-sk",
+        "//elements-sk/modules/checkbox-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
-        "@npm//elements-sk",
     ],
 )
diff --git a/machine/modules/machine-table-columns-dialog-sk/machine-table-columns-dialog-sk-demo.ts b/machine/modules/machine-table-columns-dialog-sk/machine-table-columns-dialog-sk-demo.ts
index 0a9fb2b..f7686d4 100644
--- a/machine/modules/machine-table-columns-dialog-sk/machine-table-columns-dialog-sk-demo.ts
+++ b/machine/modules/machine-table-columns-dialog-sk/machine-table-columns-dialog-sk-demo.ts
@@ -1,4 +1,4 @@
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import './index';
 import { MachineTableColumnsDialogSk } from './machine-table-columns-dialog-sk';
 
diff --git a/machine/modules/machine-table-columns-dialog-sk/machine-table-columns-dialog-sk.ts b/machine/modules/machine-table-columns-dialog-sk/machine-table-columns-dialog-sk.ts
index 3d304cc..35f8531 100644
--- a/machine/modules/machine-table-columns-dialog-sk/machine-table-columns-dialog-sk.ts
+++ b/machine/modules/machine-table-columns-dialog-sk/machine-table-columns-dialog-sk.ts
@@ -7,12 +7,12 @@
  *
  */
 
-import { $ } from 'common-sk/modules/dom';
-import { define } from 'elements-sk/define';
+import { $ } from '../../../infra-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { CheckOrRadio } from 'elements-sk/checkbox-sk/checkbox-sk';
+import { CheckOrRadio } from '../../../elements-sk/modules/checkbox-sk/checkbox-sk';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
-import 'elements-sk/checkbox-sk';
+import '../../../elements-sk/modules/checkbox-sk';
 
 export type ColumnTitles = 'Machine' | 'Attached' | 'Device' | 'Mode' | 'Recovering' |'Power' | 'Details' | 'Quarantined' | 'Task' | 'Battery' | 'Temperature' | 'Last Seen' | 'Uptime' | 'Dimensions' | 'Launched Swarming' | 'Note' | 'Annotation' | 'Version' | 'Delete' | 'Clear Quarantine';
 
diff --git a/machine/modules/machine-table-columns-dialog-sk/machine-table-columns-dialog-sk_test.ts b/machine/modules/machine-table-columns-dialog-sk/machine-table-columns-dialog-sk_test.ts
index 153b851..cbc559b 100644
--- a/machine/modules/machine-table-columns-dialog-sk/machine-table-columns-dialog-sk_test.ts
+++ b/machine/modules/machine-table-columns-dialog-sk/machine-table-columns-dialog-sk_test.ts
@@ -1,7 +1,7 @@
 import './index';
 import { assert } from 'chai';
-import { $$ } from 'common-sk/modules/dom';
-import { CheckOrRadio } from 'elements-sk/checkbox-sk/checkbox-sk';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { CheckOrRadio } from '../../../elements-sk/modules/checkbox-sk/checkbox-sk';
 import { ColumnOrder, ColumnTitles, MachineTableColumnsDialogSk } from './machine-table-columns-dialog-sk';
 
 import { setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
diff --git a/machine/modules/machines-table-sk/BUILD.bazel b/machine/modules/machines-table-sk/BUILD.bazel
index c5b13a8..398c025 100644
--- a/machine/modules/machines-table-sk/BUILD.bazel
+++ b/machine/modules/machines-table-sk/BUILD.bazel
@@ -4,6 +4,8 @@
     name = "machines-table-sk",
     sass_deps = [
         "//machine/modules/theme:theme_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules/styles:select_sass_lib",
     ],
     sass_srcs = ["machines-table-sk.scss"],
     sk_element_deps = [
@@ -13,16 +15,32 @@
         "//machine/modules/device-editor-sk",
         "//machine/modules/machine-table-columns-dialog-sk",
         "//infra-sk/modules/clipboard-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/arrow-drop-down-icon-sk",
+        "//elements-sk/modules/icons/arrow-drop-up-icon-sk",
+        "//elements-sk/modules/icons/block-icon-sk",
+        "//elements-sk/modules/icons/cached-icon-sk",
+        "//elements-sk/modules/icons/clear-all-icon-sk",
+        "//elements-sk/modules/icons/content-copy-icon-sk",
+        "//elements-sk/modules/icons/delete-icon-sk",
+        "//elements-sk/modules/icons/edit-icon-sk",
+        "//elements-sk/modules/icons/launch-icon-sk",
+        "//elements-sk/modules/icons/power-settings-new-icon-sk",
+        "//elements-sk/modules/icons/sort-icon-sk",
+        "//elements-sk/modules/icons/warning-icon-sk",
+        "//elements-sk/modules/spinner-sk",
     ],
     ts_deps = [
         "//machine/modules/json:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "//modules/devices:devices_ts_lib",
         "//machine/modules/sort:index_ts_lib",
         "//infra-sk/modules/ElementSk:elementsk_ts_lib",
         "//machine/modules/filter-array:index_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -36,12 +54,12 @@
     src = "machines-table-sk_test.ts",
     deps = [
         ":machines-table-sk",
+        "//elements-sk/modules/spinner-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//machine/modules/json:index_ts_lib",
         "//machine/modules/sort:index_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/machine/modules/machines-table-sk/machines-table-sk.scss b/machine/modules/machines-table-sk/machines-table-sk.scss
index bdae33b..56b2887 100644
--- a/machine/modules/machines-table-sk/machines-table-sk.scss
+++ b/machine/modules/machines-table-sk/machines-table-sk.scss
@@ -1,3 +1,5 @@
+@import '../../../elements-sk/modules/styles/select';
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../theme/theme.scss';
 
 machines-table-sk {
diff --git a/machine/modules/machines-table-sk/machines-table-sk.ts b/machine/modules/machines-table-sk/machines-table-sk.ts
index e011f1f..1153282 100644
--- a/machine/modules/machines-table-sk/machines-table-sk.ts
+++ b/machine/modules/machines-table-sk/machines-table-sk.ts
@@ -10,10 +10,10 @@
  */
 import { html, TemplateResult } from 'lit-html';
 
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { diffDate, strDuration } from 'common-sk/modules/human';
-import { $$ } from 'common-sk/modules/dom';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { diffDate, strDuration } from '../../../infra-sk/modules/human';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import {
   Annotation,
   AttachedDevice, Description, SetAttachedDevice, SetNoteRequest, SupplyChromeOSRequest,
@@ -21,22 +21,20 @@
 
 import '../../../infra-sk/modules/theme-chooser-sk/theme-chooser-sk';
 import '../../../infra-sk/modules/clipboard-sk';
-import 'elements-sk/error-toast-sk/index';
-import 'elements-sk/icon/block-icon-sk';
-import 'elements-sk/icon/cached-icon-sk';
-import 'elements-sk/icon/delete-icon-sk';
-import 'elements-sk/icon/edit-icon-sk';
-import 'elements-sk/icon/launch-icon-sk';
-import 'elements-sk/icon/power-settings-new-icon-sk';
-import 'elements-sk/icon/warning-icon-sk';
-import 'elements-sk/styles/buttons';
-import 'elements-sk/styles/select';
-import 'elements-sk/spinner-sk';
-import 'elements-sk/icon/sort-icon-sk';
-import 'elements-sk/icon/arrow-drop-down-icon-sk';
-import 'elements-sk/icon/arrow-drop-up-icon-sk';
-import 'elements-sk/icon/clear-all-icon-sk';
-import 'elements-sk/icon/content-copy-icon-sk';
+import '../../../elements-sk/modules/error-toast-sk/index';
+import '../../../elements-sk/modules/icons/block-icon-sk';
+import '../../../elements-sk/modules/icons/cached-icon-sk';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
+import '../../../elements-sk/modules/icons/edit-icon-sk';
+import '../../../elements-sk/modules/icons/launch-icon-sk';
+import '../../../elements-sk/modules/icons/power-settings-new-icon-sk';
+import '../../../elements-sk/modules/icons/warning-icon-sk';
+import '../../../elements-sk/modules/spinner-sk';
+import '../../../elements-sk/modules/icons/sort-icon-sk';
+import '../../../elements-sk/modules/icons/arrow-drop-down-icon-sk';
+import '../../../elements-sk/modules/icons/arrow-drop-up-icon-sk';
+import '../../../elements-sk/modules/icons/clear-all-icon-sk';
+import '../../../elements-sk/modules/icons/content-copy-icon-sk';
 import { NoteEditorSk } from '../note-editor-sk/note-editor-sk';
 import '../auto-refresh-sk';
 import '../device-editor-sk';
diff --git a/machine/modules/machines-table-sk/machines-table-sk_test.ts b/machine/modules/machines-table-sk/machines-table-sk_test.ts
index 9f419e3..105e1b6 100644
--- a/machine/modules/machines-table-sk/machines-table-sk_test.ts
+++ b/machine/modules/machines-table-sk/machines-table-sk_test.ts
@@ -1,8 +1,8 @@
 import './machines-table-sk';
 import fetchMock, { MockRequest, MockResponse } from 'fetch-mock';
 import { assert } from 'chai';
-import { $$ } from 'common-sk/modules/dom';
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
 import {
   AttachedDevice, Annotation, SwarmingDimensions,
 } from '../json';
diff --git a/machine/modules/note-editor-sk/BUILD.bazel b/machine/modules/note-editor-sk/BUILD.bazel
index cdeb6dd..2f9fb37 100644
--- a/machine/modules/note-editor-sk/BUILD.bazel
+++ b/machine/modules/note-editor-sk/BUILD.bazel
@@ -9,14 +9,15 @@
     name = "note-editor-sk",
     sass_deps = [
         "//machine/modules/theme:theme_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
     ],
     sass_srcs = ["note-editor-sk.scss"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//machine/modules/json:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -32,7 +33,7 @@
     sk_element_deps = [":note-editor-sk"],
     ts_deps = [
         "//machine/modules/json:index_ts_lib",
-        "@npm//common-sk",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "note-editor-sk-demo.ts",
 )
@@ -53,10 +54,10 @@
     src = "note-editor-sk_test.ts",
     deps = [
         ":note-editor-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "//machine/modules/json:index_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/machine/modules/note-editor-sk/note-editor-sk-demo.ts b/machine/modules/note-editor-sk/note-editor-sk-demo.ts
index a1946b5..36716ee 100644
--- a/machine/modules/note-editor-sk/note-editor-sk-demo.ts
+++ b/machine/modules/note-editor-sk/note-editor-sk-demo.ts
@@ -1,4 +1,4 @@
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { Annotation } from '../json';
 import './index';
 import { NoteEditorSk } from './note-editor-sk';
diff --git a/machine/modules/note-editor-sk/note-editor-sk.scss b/machine/modules/note-editor-sk/note-editor-sk.scss
index 3cee677..291c66a 100644
--- a/machine/modules/note-editor-sk/note-editor-sk.scss
+++ b/machine/modules/note-editor-sk/note-editor-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../theme/theme';
 
 note-editor-sk {
diff --git a/machine/modules/note-editor-sk/note-editor-sk.ts b/machine/modules/note-editor-sk/note-editor-sk.ts
index bdce7ab..19bd7e6 100644
--- a/machine/modules/note-editor-sk/note-editor-sk.ts
+++ b/machine/modules/note-editor-sk/note-editor-sk.ts
@@ -4,12 +4,11 @@
  *
  * Displays a dialog to edit an Annotation Message.
  */
-import { $$ } from 'common-sk/modules/dom';
-import { define } from 'elements-sk/define';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { Annotation } from '../json';
-import 'elements-sk/styles/buttons';
 
 const defaultAnnotation: Annotation = {
   Message: '',
diff --git a/machine/modules/note-editor-sk/note-editor-sk_test.ts b/machine/modules/note-editor-sk/note-editor-sk_test.ts
index da213bc..606f18f 100644
--- a/machine/modules/note-editor-sk/note-editor-sk_test.ts
+++ b/machine/modules/note-editor-sk/note-editor-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 import { assert } from 'chai';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { NoteEditorSk } from './note-editor-sk';
 
 import { setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
diff --git a/perf/modules/alert-config-sk/BUILD.bazel b/perf/modules/alert-config-sk/BUILD.bazel
index 567af8d..b6a11f5 100644
--- a/perf/modules/alert-config-sk/BUILD.bazel
+++ b/perf/modules/alert-config-sk/BUILD.bazel
@@ -4,21 +4,26 @@
     name = "alert-config-sk",
     sass_deps = [
         "//perf/modules/themes:themes_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
     ],
     sass_srcs = ["alert-config-sk.scss"],
     sk_element_deps = [
         "//infra-sk/modules/query-sk",
         "//perf/modules/algo-select-sk",
         "//perf/modules/query-chooser-sk",
+        "//elements-sk/modules/checkbox-sk",
+        "//elements-sk/modules/multi-select-sk",
+        "//elements-sk/modules/select-sk",
+        "//elements-sk/modules/spinner-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//perf/modules/errorMessage:index_ts_lib",
         "//perf/modules/json:index_ts_lib",
         "//perf/modules/window:window_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "alert-config-sk.ts",
@@ -33,7 +38,7 @@
     sk_element_deps = [":alert-config-sk"],
     ts_deps = [
         "//perf/modules/json:index_ts_lib",
-        "@npm//common-sk",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "alert-config-sk-demo.ts",
 )
diff --git a/perf/modules/alert-config-sk/alert-config-sk-demo.ts b/perf/modules/alert-config-sk/alert-config-sk-demo.ts
index 56976b9..95c97e1 100644
--- a/perf/modules/alert-config-sk/alert-config-sk-demo.ts
+++ b/perf/modules/alert-config-sk/alert-config-sk-demo.ts
@@ -1,5 +1,5 @@
 import './index';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import { AlertConfigSk } from './alert-config-sk';
 import { Alert } from '../json';
 
diff --git a/perf/modules/alert-config-sk/alert-config-sk.scss b/perf/modules/alert-config-sk/alert-config-sk.scss
index f23de35..c844367 100644
--- a/perf/modules/alert-config-sk/alert-config-sk.scss
+++ b/perf/modules/alert-config-sk/alert-config-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../themes/themes.scss';
 
 alert-config-sk {
diff --git a/perf/modules/alert-config-sk/alert-config-sk.ts b/perf/modules/alert-config-sk/alert-config-sk.ts
index cbccc44..8518d4b 100644
--- a/perf/modules/alert-config-sk/alert-config-sk.ts
+++ b/perf/modules/alert-config-sk/alert-config-sk.ts
@@ -5,21 +5,20 @@
  * Control that allows editing an alert.Config.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
 
-import 'elements-sk/checkbox-sk';
-import 'elements-sk/multi-select-sk';
-import 'elements-sk/select-sk';
-import 'elements-sk/spinner-sk';
-import 'elements-sk/styles/buttons';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
+import '../../../elements-sk/modules/checkbox-sk';
+import '../../../elements-sk/modules/multi-select-sk';
+import '../../../elements-sk/modules/select-sk';
+import '../../../elements-sk/modules/spinner-sk';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
 import {
   SelectSk,
   SelectSkSelectionChangedEventDetail,
-} from 'elements-sk/select-sk/select-sk';
-import { MultiSelectSkSelectionChangedEventDetail } from 'elements-sk/multi-select-sk/multi-select-sk';
+} from '../../../elements-sk/modules/select-sk/select-sk';
+import { MultiSelectSkSelectionChangedEventDetail } from '../../../elements-sk/modules/multi-select-sk/multi-select-sk';
 import { errorMessage } from '../errorMessage';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import {
diff --git a/perf/modules/alerts-page-sk/BUILD.bazel b/perf/modules/alerts-page-sk/BUILD.bazel
index 01aa472..84546f3 100644
--- a/perf/modules/alerts-page-sk/BUILD.bazel
+++ b/perf/modules/alerts-page-sk/BUILD.bazel
@@ -4,11 +4,15 @@
     name = "alerts-page-sk",
     sass_deps = [
         "//perf/modules/themes:themes_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
     ],
     sass_srcs = ["alerts-page-sk.scss"],
     sk_element_deps = [
         "//infra-sk/modules/paramset-sk",
         "//perf/modules/alert-config-sk",
+        "//elements-sk/modules/checkbox-sk",
+        "//elements-sk/modules/icons/create-icon-sk",
+        "//elements-sk/modules/icons/delete-icon-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
@@ -16,9 +20,11 @@
         "//perf/modules/alert:index_ts_lib",
         "//perf/modules/errorMessage:index_ts_lib",
         "//perf/modules/json:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:hintable_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_srcs = [
         "alerts-page-sk.ts",
@@ -30,11 +36,11 @@
 sk_page(
     name = "alerts-page-sk-demo",
     html_file = "alerts-page-sk-demo.html",
-    sk_element_deps = [":alerts-page-sk"],
-    ts_deps = [
-        "@npm//elements-sk",
-        "@npm//fetch-mock",
+    sk_element_deps = [
+        ":alerts-page-sk",
+        "//elements-sk/modules/error-toast-sk",
     ],
+    ts_deps = ["@npm//fetch-mock"],
     ts_entry_point = "alerts-page-sk-demo.ts",
 )
 
diff --git a/perf/modules/alerts-page-sk/alerts-page-sk-demo.ts b/perf/modules/alerts-page-sk/alerts-page-sk-demo.ts
index 05ec666..1df3996 100644
--- a/perf/modules/alerts-page-sk/alerts-page-sk-demo.ts
+++ b/perf/modules/alerts-page-sk/alerts-page-sk-demo.ts
@@ -1,5 +1,5 @@
 import './index';
-import 'elements-sk/error-toast-sk';
+import '../../../elements-sk/modules/error-toast-sk';
 import fetchMock from 'fetch-mock';
 
 fetchMock.post(
diff --git a/perf/modules/alerts-page-sk/alerts-page-sk.scss b/perf/modules/alerts-page-sk/alerts-page-sk.scss
index 07d227e..9d21b42 100644
--- a/perf/modules/alerts-page-sk/alerts-page-sk.scss
+++ b/perf/modules/alerts-page-sk/alerts-page-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../themes/themes.scss';
 
 alerts-page-sk {
diff --git a/perf/modules/alerts-page-sk/alerts-page-sk.ts b/perf/modules/alerts-page-sk/alerts-page-sk.ts
index 7557ef4..2b5609b 100644
--- a/perf/modules/alerts-page-sk/alerts-page-sk.ts
+++ b/perf/modules/alerts-page-sk/alerts-page-sk.ts
@@ -4,17 +4,16 @@
  *
  * A page for editing all the alert configs.
  */
-import 'elements-sk/checkbox-sk';
-import 'elements-sk/icon/delete-icon-sk';
-import 'elements-sk/icon/create-icon-sk';
-import 'elements-sk/styles/buttons';
+import '../../../elements-sk/modules/checkbox-sk';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
+import '../../../elements-sk/modules/icons/create-icon-sk';
 import '../../../infra-sk/modules/paramset-sk';
 import '../alert-config-sk';
-import { define } from 'elements-sk/define';
-import { fromObject, toParamSet } from 'common-sk/modules/query';
+import { define } from '../../../elements-sk/modules/define';
+import { fromObject, toParamSet } from '../../../infra-sk/modules/query';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { HintableObject } from 'common-sk/modules/hintable';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { HintableObject } from '../../../infra-sk/modules/hintable';
 import { errorMessage } from '../errorMessage';
 import { Login } from '../../../infra-sk/modules/login';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
diff --git a/perf/modules/algo-select-sk/BUILD.bazel b/perf/modules/algo-select-sk/BUILD.bazel
index 3d27754..7e432b4 100644
--- a/perf/modules/algo-select-sk/BUILD.bazel
+++ b/perf/modules/algo-select-sk/BUILD.bazel
@@ -4,15 +4,16 @@
     name = "algo-select-sk",
     sass_deps = [
         "//perf/modules/themes:themes_sass_lib",
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["algo-select-sk.scss"],
+    sk_element_deps = ["//elements-sk/modules/select-sk"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//perf/modules/json:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "algo-select-sk.ts",
diff --git a/perf/modules/algo-select-sk/algo-select-sk.scss b/perf/modules/algo-select-sk/algo-select-sk.scss
index 8cbd742..05271bb 100644
--- a/perf/modules/algo-select-sk/algo-select-sk.scss
+++ b/perf/modules/algo-select-sk/algo-select-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 @import '../themes/themes.scss';
 
 algo-select-sk {
diff --git a/perf/modules/algo-select-sk/algo-select-sk.ts b/perf/modules/algo-select-sk/algo-select-sk.ts
index f6f8e04..07dfdef 100644
--- a/perf/modules/algo-select-sk/algo-select-sk.ts
+++ b/perf/modules/algo-select-sk/algo-select-sk.ts
@@ -9,11 +9,11 @@
  *
  * @attr {string} algo - The algorithm name.
  */
-import 'elements-sk/select-sk';
-import { define } from 'elements-sk/define';
+import '../../../elements-sk/modules/select-sk';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { $ } from 'common-sk/modules/dom';
-import { SelectSkSelectionChangedEventDetail } from 'elements-sk/select-sk/select-sk';
+import { $ } from '../../../infra-sk/modules/dom';
+import { SelectSkSelectionChangedEventDetail } from '../../../elements-sk/modules/select-sk/select-sk';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { ClusterAlgo } from '../json';
 
diff --git a/perf/modules/calendar-input-sk/BUILD.bazel b/perf/modules/calendar-input-sk/BUILD.bazel
index 28f2abe..f8ffbca 100644
--- a/perf/modules/calendar-input-sk/BUILD.bazel
+++ b/perf/modules/calendar-input-sk/BUILD.bazel
@@ -6,11 +6,14 @@
         "//perf/modules/themes:themes_sass_lib",
     ],
     sass_srcs = ["calendar-input-sk.scss"],
-    sk_element_deps = ["//perf/modules/calendar-sk"],
+    sk_element_deps = [
+        "//perf/modules/calendar-sk",
+        "//elements-sk/modules/icons/date-range-icon-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "calendar-input-sk.ts",
diff --git a/perf/modules/calendar-input-sk/calendar-input-sk.ts b/perf/modules/calendar-input-sk/calendar-input-sk.ts
index 0b0c8c8..908bdf8 100644
--- a/perf/modules/calendar-input-sk/calendar-input-sk.ts
+++ b/perf/modules/calendar-input-sk/calendar-input-sk.ts
@@ -8,10 +8,10 @@
  * @evt input - A CustomEvent<Date> with the new date.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
-import 'elements-sk/icon/date-range-icon-sk';
+import '../../../elements-sk/modules/icons/date-range-icon-sk';
 import '../calendar-sk';
 import { CalendarSk } from '../calendar-sk/calendar-sk';
 
diff --git a/perf/modules/calendar-sk/BUILD.bazel b/perf/modules/calendar-sk/BUILD.bazel
index 5ac4981..2cb24fe 100644
--- a/perf/modules/calendar-sk/BUILD.bazel
+++ b/perf/modules/calendar-sk/BUILD.bazel
@@ -4,12 +4,17 @@
     name = "calendar-sk",
     sass_deps = [
         "//perf/modules/themes:themes_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
     ],
     sass_srcs = ["calendar-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/icons/navigate-before-icon-sk",
+        "//elements-sk/modules/icons/navigate-next-icon-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "calendar-sk.ts",
diff --git a/perf/modules/calendar-sk/calendar-sk.scss b/perf/modules/calendar-sk/calendar-sk.scss
index e8a59fa..8025861 100644
--- a/perf/modules/calendar-sk/calendar-sk.scss
+++ b/perf/modules/calendar-sk/calendar-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../themes/themes.scss';
 
 calendar-sk {
diff --git a/perf/modules/calendar-sk/calendar-sk.ts b/perf/modules/calendar-sk/calendar-sk.ts
index 3ad2378..3d85343 100644
--- a/perf/modules/calendar-sk/calendar-sk.ts
+++ b/perf/modules/calendar-sk/calendar-sk.ts
@@ -21,12 +21,11 @@
  * detached to/from the appropriate containing element when it is used, for
  * example, a containing 'dialog' element.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
-import 'elements-sk/styles/buttons';
-import 'elements-sk/icon/navigate-before-icon-sk';
-import 'elements-sk/icon/navigate-next-icon-sk';
+import '../../../elements-sk/modules/icons/navigate-before-icon-sk';
+import '../../../elements-sk/modules/icons/navigate-next-icon-sk';
 
 /*
  * Most of the Date[1] object's methods return zero-indexed values, with exceptions such as
diff --git a/perf/modules/cid/BUILD.bazel b/perf/modules/cid/BUILD.bazel
index a19b1f0..98fb1b0 100644
--- a/perf/modules/cid/BUILD.bazel
+++ b/perf/modules/cid/BUILD.bazel
@@ -5,7 +5,7 @@
     srcs = ["cid.ts"],
     visibility = ["//visibility:public"],
     deps = [
+        "//infra-sk/modules:jsonorthrow_ts_lib",
         "//perf/modules/json:index_ts_lib",
-        "@npm//common-sk",
     ],
 )
diff --git a/perf/modules/cid/cid.ts b/perf/modules/cid/cid.ts
index e8f1aff..b105ada 100644
--- a/perf/modules/cid/cid.ts
+++ b/perf/modules/cid/cid.ts
@@ -4,7 +4,7 @@
  * Functions for working with CommitNumer's, aka Commit IDs.
  */
 
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
 import {
   CommitNumber,
   CIDHandlerResponse,
diff --git a/perf/modules/cluster-lastn-page-sk/BUILD.bazel b/perf/modules/cluster-lastn-page-sk/BUILD.bazel
index c271236..0d356ee 100644
--- a/perf/modules/cluster-lastn-page-sk/BUILD.bazel
+++ b/perf/modules/cluster-lastn-page-sk/BUILD.bazel
@@ -4,6 +4,7 @@
     name = "cluster-lastn-page-sk",
     sass_deps = [
         "//perf/modules/themes:themes_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
     ],
     sass_srcs = ["cluster-lastn-page-sk.scss"],
     sk_element_deps = [
@@ -12,15 +13,19 @@
         "//perf/modules/commit-detail-sk",
         "//perf/modules/domain-picker-sk",
         "//perf/modules/triage-status-sk",
+        "//elements-sk/modules/spinner-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//perf/modules/errorMessage:index_ts_lib",
         "//perf/modules/json:index_ts_lib",
         "//perf/modules/progress:progress_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:hintable_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "cluster-lastn-page-sk.ts",
@@ -32,10 +37,12 @@
 sk_page(
     name = "cluster-lastn-page-sk-demo",
     html_file = "cluster-lastn-page-sk-demo.html",
-    sk_element_deps = [":cluster-lastn-page-sk"],
+    sk_element_deps = [
+        ":cluster-lastn-page-sk",
+        "//elements-sk/modules/error-toast-sk",
+    ],
     ts_deps = [
         "//perf/modules/json:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//fetch-mock",
     ],
     ts_entry_point = "cluster-lastn-page-sk-demo.ts",
diff --git a/perf/modules/cluster-lastn-page-sk/cluster-lastn-page-sk-demo.ts b/perf/modules/cluster-lastn-page-sk/cluster-lastn-page-sk-demo.ts
index c76bec8..a340163 100644
--- a/perf/modules/cluster-lastn-page-sk/cluster-lastn-page-sk-demo.ts
+++ b/perf/modules/cluster-lastn-page-sk/cluster-lastn-page-sk-demo.ts
@@ -1,5 +1,5 @@
 import './index';
-import 'elements-sk/error-toast-sk';
+import '../../../elements-sk/modules/error-toast-sk';
 import fetchMock from 'fetch-mock';
 import { Alert } from '../json';
 
diff --git a/perf/modules/cluster-lastn-page-sk/cluster-lastn-page-sk.scss b/perf/modules/cluster-lastn-page-sk/cluster-lastn-page-sk.scss
index 9418674..b6453cf 100644
--- a/perf/modules/cluster-lastn-page-sk/cluster-lastn-page-sk.scss
+++ b/perf/modules/cluster-lastn-page-sk/cluster-lastn-page-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../themes/themes.scss';
 
 cluster-lastn-page-sk {
diff --git a/perf/modules/cluster-lastn-page-sk/cluster-lastn-page-sk.ts b/perf/modules/cluster-lastn-page-sk/cluster-lastn-page-sk.ts
index da6a6b2..8535a8a 100644
--- a/perf/modules/cluster-lastn-page-sk/cluster-lastn-page-sk.ts
+++ b/perf/modules/cluster-lastn-page-sk/cluster-lastn-page-sk.ts
@@ -4,18 +4,17 @@
  *
  *  Allows trying out an alert by clustering over a range of commits.
  */
-import { define } from 'elements-sk/define';
-import { fromObject } from 'common-sk/modules/query';
+import { define } from '../../../elements-sk/modules/define';
+import { fromObject } from '../../../infra-sk/modules/query';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { stateReflector } from 'common-sk/modules/stateReflector';
-import { HintableObject } from 'common-sk/modules/hintable';
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
+import { HintableObject } from '../../../infra-sk/modules/hintable';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
 import { errorMessage } from '../errorMessage';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
-import 'elements-sk/spinner-sk';
-import 'elements-sk/styles/buttons';
+import '../../../elements-sk/modules/spinner-sk';
 
 import '../cluster-summary2-sk';
 import '../commit-detail-sk';
diff --git a/perf/modules/cluster-page-sk/BUILD.bazel b/perf/modules/cluster-page-sk/BUILD.bazel
index c0d07b0..fd7aa38 100644
--- a/perf/modules/cluster-page-sk/BUILD.bazel
+++ b/perf/modules/cluster-page-sk/BUILD.bazel
@@ -4,6 +4,7 @@
     name = "cluster-page-sk",
     sass_deps = [
         "//perf/modules/themes:themes_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
     ],
     sass_srcs = ["cluster-page-sk.scss"],
     sk_element_deps = [
@@ -16,15 +17,20 @@
         "//perf/modules/commit-detail-picker-sk",
         "//perf/modules/day-range-sk",
         "//perf/modules/query-count-sk",
+        "//elements-sk/modules/checkbox-sk",
+        "//elements-sk/modules/spinner-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//perf/modules/errorMessage:index_ts_lib",
         "//perf/modules/json:index_ts_lib",
         "//perf/modules/progress:progress_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:hintable_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "cluster-page-sk.ts",
@@ -36,11 +42,11 @@
 sk_page(
     name = "cluster-page-sk-demo",
     html_file = "cluster-page-sk-demo.html",
-    sk_element_deps = [":cluster-page-sk"],
-    ts_deps = [
-        "@npm//elements-sk",
-        "@npm//fetch-mock",
+    sk_element_deps = [
+        ":cluster-page-sk",
+        "//elements-sk/modules/error-toast-sk",
     ],
+    ts_deps = ["@npm//fetch-mock"],
     ts_entry_point = "cluster-page-sk-demo.ts",
 )
 
diff --git a/perf/modules/cluster-page-sk/cluster-page-sk-demo.ts b/perf/modules/cluster-page-sk/cluster-page-sk-demo.ts
index e2dfdcc..b2e9f75 100644
--- a/perf/modules/cluster-page-sk/cluster-page-sk-demo.ts
+++ b/perf/modules/cluster-page-sk/cluster-page-sk-demo.ts
@@ -1,5 +1,5 @@
 import './index';
-import 'elements-sk/error-toast-sk';
+import '../../../elements-sk/modules/error-toast-sk';
 import fetchMock from 'fetch-mock';
 
 const paramSet = {
diff --git a/perf/modules/cluster-page-sk/cluster-page-sk.scss b/perf/modules/cluster-page-sk/cluster-page-sk.scss
index ff06a6d..fa3a6f4 100644
--- a/perf/modules/cluster-page-sk/cluster-page-sk.scss
+++ b/perf/modules/cluster-page-sk/cluster-page-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../themes/themes.scss';
 
 cluster-page-sk {
diff --git a/perf/modules/cluster-page-sk/cluster-page-sk.ts b/perf/modules/cluster-page-sk/cluster-page-sk.ts
index 532e4af..bfae503 100644
--- a/perf/modules/cluster-page-sk/cluster-page-sk.ts
+++ b/perf/modules/cluster-page-sk/cluster-page-sk.ts
@@ -5,19 +5,18 @@
  *   The top level element for clustering traces.
  *
  */
-import { define } from 'elements-sk/define';
-import { fromObject, toParamSet } from 'common-sk/modules/query';
+import { define } from '../../../elements-sk/modules/define';
+import { fromObject, toParamSet } from '../../../infra-sk/modules/query';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { stateReflector } from 'common-sk/modules/stateReflector';
-import { HintableObject } from 'common-sk/modules/hintable';
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
+import { HintableObject } from '../../../infra-sk/modules/hintable';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
 import { errorMessage } from '../errorMessage';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
-import 'elements-sk/spinner-sk';
-import 'elements-sk/checkbox-sk';
-import 'elements-sk/styles/buttons';
+import '../../../elements-sk/modules/spinner-sk';
+import '../../../elements-sk/modules/checkbox-sk';
 
 import '../../../infra-sk/modules/paramset-sk';
 import '../../../infra-sk/modules/sort-sk';
diff --git a/perf/modules/cluster-summary2-sk/BUILD.bazel b/perf/modules/cluster-summary2-sk/BUILD.bazel
index ea00400..df779d5 100644
--- a/perf/modules/cluster-summary2-sk/BUILD.bazel
+++ b/perf/modules/cluster-summary2-sk/BUILD.bazel
@@ -4,6 +4,7 @@
     name = "cluster-summary2-sk",
     sass_deps = [
         "//perf/modules/themes:themes_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
     ],
     sass_srcs = ["cluster-summary2-sk.scss"],
     sk_element_deps = [
@@ -12,6 +13,7 @@
         "//perf/modules/triage2-sk",
         "//perf/modules/word-cloud-sk",
         "//perf/modules/commit-range-sk",
+        "//elements-sk/modules/collapse-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
@@ -19,10 +21,10 @@
         "//perf/modules/errorMessage:index_ts_lib",
         "//perf/modules/json:index_ts_lib",
         "//perf/modules/window:window_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "//perf/modules/const:const_ts_lib",
         "//perf/modules/cid:cid_ts_lib",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "cluster-summary2-sk.ts",
diff --git a/perf/modules/cluster-summary2-sk/cluster-summary2-sk.scss b/perf/modules/cluster-summary2-sk/cluster-summary2-sk.scss
index 3ae9c15..bff966e 100644
--- a/perf/modules/cluster-summary2-sk/cluster-summary2-sk.scss
+++ b/perf/modules/cluster-summary2-sk/cluster-summary2-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../themes/themes.scss';
 
 cluster-summary2-sk {
diff --git a/perf/modules/cluster-summary2-sk/cluster-summary2-sk.ts b/perf/modules/cluster-summary2-sk/cluster-summary2-sk.ts
index 5e70da1..1bba34a 100644
--- a/perf/modules/cluster-summary2-sk/cluster-summary2-sk.ts
+++ b/perf/modules/cluster-summary2-sk/cluster-summary2-sk.ts
@@ -33,16 +33,15 @@
  *
  * @example
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import 'elements-sk/styles/buttons';
-import 'elements-sk/collapse-sk';
+import '../../../elements-sk/modules/collapse-sk';
 import '../commit-detail-panel-sk';
 import '../plot-simple-sk';
 import '../triage2-sk';
 import '../word-cloud-sk';
 import '../commit-range-sk';
-import { CollapseSk } from 'elements-sk/collapse-sk/collapse-sk';
+import { CollapseSk } from '../../../elements-sk/modules/collapse-sk/collapse-sk';
 import { errorMessage } from '../errorMessage';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { Login } from '../../../infra-sk/modules/login';
diff --git a/perf/modules/commit-detail-panel-sk/BUILD.bazel b/perf/modules/commit-detail-panel-sk/BUILD.bazel
index 9033933..c7e4a58 100644
--- a/perf/modules/commit-detail-panel-sk/BUILD.bazel
+++ b/perf/modules/commit-detail-panel-sk/BUILD.bazel
@@ -10,9 +10,9 @@
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//perf/modules/json:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "commit-detail-panel-sk.ts",
diff --git a/perf/modules/commit-detail-panel-sk/commit-detail-panel-sk.ts b/perf/modules/commit-detail-panel-sk/commit-detail-panel-sk.ts
index df5cfb6..82fe50e 100644
--- a/perf/modules/commit-detail-panel-sk/commit-detail-panel-sk.ts
+++ b/perf/modules/commit-detail-panel-sk/commit-detail-panel-sk.ts
@@ -25,9 +25,9 @@
  *
  * @attr {Number} selected - The index of the selected commit.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
-import { findParent } from 'common-sk/modules/dom';
+import { findParent } from '../../../infra-sk/modules/dom';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import '../commit-detail-sk';
 import { Commit } from '../json';
diff --git a/perf/modules/commit-detail-picker-sk/BUILD.bazel b/perf/modules/commit-detail-picker-sk/BUILD.bazel
index a7110ea..50d4e5e 100644
--- a/perf/modules/commit-detail-picker-sk/BUILD.bazel
+++ b/perf/modules/commit-detail-picker-sk/BUILD.bazel
@@ -4,19 +4,21 @@
     name = "commit-detail-picker-sk",
     sass_deps = [
         "//perf/modules/themes:themes_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
     ],
     sass_srcs = ["commit-detail-picker-sk.scss"],
     sk_element_deps = [
         "//perf/modules/commit-detail-panel-sk",
         "//perf/modules/day-range-sk",
+        "//elements-sk/modules/spinner-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//perf/modules/errorMessage:index_ts_lib",
         "//perf/modules/json:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "commit-detail-picker-sk.ts",
@@ -28,10 +30,12 @@
 sk_page(
     name = "commit-detail-picker-sk-demo",
     html_file = "commit-detail-picker-sk-demo.html",
-    sk_element_deps = [":commit-detail-picker-sk"],
+    sk_element_deps = [
+        ":commit-detail-picker-sk",
+        "//elements-sk/modules/error-toast-sk",
+    ],
     ts_deps = [
         "//perf/modules/json:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//fetch-mock",
     ],
     ts_entry_point = "commit-detail-picker-sk-demo.ts",
diff --git a/perf/modules/commit-detail-picker-sk/commit-detail-picker-sk-demo.ts b/perf/modules/commit-detail-picker-sk/commit-detail-picker-sk-demo.ts
index 083be42..00181c3 100644
--- a/perf/modules/commit-detail-picker-sk/commit-detail-picker-sk-demo.ts
+++ b/perf/modules/commit-detail-picker-sk/commit-detail-picker-sk-demo.ts
@@ -1,4 +1,4 @@
-import 'elements-sk/error-toast-sk';
+import '../../../elements-sk/modules/error-toast-sk';
 import fetchMock from 'fetch-mock';
 import { CommitDetailPickerSk } from './commit-detail-picker-sk';
 import { Commit } from '../json';
diff --git a/perf/modules/commit-detail-picker-sk/commit-detail-picker-sk.scss b/perf/modules/commit-detail-picker-sk/commit-detail-picker-sk.scss
index 1f8b76a..bb0d9cd 100644
--- a/perf/modules/commit-detail-picker-sk/commit-detail-picker-sk.scss
+++ b/perf/modules/commit-detail-picker-sk/commit-detail-picker-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../themes/themes.scss';
 
 commit-detail-picker-sk {
diff --git a/perf/modules/commit-detail-picker-sk/commit-detail-picker-sk.ts b/perf/modules/commit-detail-picker-sk/commit-detail-picker-sk.ts
index 7378040..adfaee4 100644
--- a/perf/modules/commit-detail-picker-sk/commit-detail-picker-sk.ts
+++ b/perf/modules/commit-detail-picker-sk/commit-detail-picker-sk.ts
@@ -7,13 +7,12 @@
  */
 
 import '../commit-detail-panel-sk';
-import 'elements-sk/styles/buttons';
-import 'elements-sk/spinner-sk';
+import '../../../elements-sk/modules/spinner-sk';
 import '../day-range-sk';
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
 import { errorMessage } from '../errorMessage';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { Commit, CommitNumber, RangeRequest } from '../json';
diff --git a/perf/modules/commit-detail-sk/BUILD.bazel b/perf/modules/commit-detail-sk/BUILD.bazel
index ab72695..52241ec 100644
--- a/perf/modules/commit-detail-sk/BUILD.bazel
+++ b/perf/modules/commit-detail-sk/BUILD.bazel
@@ -4,15 +4,17 @@
     name = "commit-detail-sk",
     sass_deps = [
         "//perf/modules/themes:themes_sass_lib",
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["commit-detail-sk.scss"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//perf/modules/json:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:upgradeproperty_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
     ],
     ts_srcs = [
         "commit-detail-sk.ts",
diff --git a/perf/modules/commit-detail-sk/commit-detail-sk.scss b/perf/modules/commit-detail-sk/commit-detail-sk.scss
index 5944657..7704e0d 100644
--- a/perf/modules/commit-detail-sk/commit-detail-sk.scss
+++ b/perf/modules/commit-detail-sk/commit-detail-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 
 commit-detail-sk {
   a,
diff --git a/perf/modules/commit-detail-sk/commit-detail-sk.ts b/perf/modules/commit-detail-sk/commit-detail-sk.ts
index 9678d6a..d818da3 100644
--- a/perf/modules/commit-detail-sk/commit-detail-sk.ts
+++ b/perf/modules/commit-detail-sk/commit-detail-sk.ts
@@ -5,11 +5,11 @@
  * An element to display information around a single commit.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { $$ } from 'common-sk/modules/dom';
-import { upgradeProperty } from 'elements-sk/upgradeProperty';
-import { diffDate } from 'common-sk/modules/human';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { upgradeProperty } from '../../../elements-sk/modules/upgradeProperty';
+import { diffDate } from '../../../infra-sk/modules/human';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { Commit } from '../json';
 
diff --git a/perf/modules/commit-range-sk/BUILD.bazel b/perf/modules/commit-range-sk/BUILD.bazel
index 90bd191..a8a14ff 100644
--- a/perf/modules/commit-range-sk/BUILD.bazel
+++ b/perf/modules/commit-range-sk/BUILD.bazel
@@ -10,12 +10,12 @@
     sass_srcs = ["commit-range-sk.scss"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "//perf/modules/json:index_ts_lib",
         "//perf/modules/window:window_ts_lib",
         "//perf/modules/const:const_ts_lib",
         "//perf/modules/cid:cid_ts_lib",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "commit-range-sk.ts",
@@ -30,8 +30,8 @@
     sk_element_deps = [":commit-range-sk"],
     ts_deps = [
         "@npm//fetch-mock",
-        "@npm//common-sk",
         "//perf/modules/const:const_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "commit-range-sk-demo.ts",
 )
diff --git a/perf/modules/commit-range-sk/commit-range-sk-demo.ts b/perf/modules/commit-range-sk/commit-range-sk-demo.ts
index b4fdf32..7824ade 100644
--- a/perf/modules/commit-range-sk/commit-range-sk-demo.ts
+++ b/perf/modules/commit-range-sk/commit-range-sk-demo.ts
@@ -1,4 +1,4 @@
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { MISSING_DATA_SENTINEL } from '../const/const';
 import { CommitRangeSk } from './commit-range-sk';
diff --git a/perf/modules/commit-range-sk/commit-range-sk.ts b/perf/modules/commit-range-sk/commit-range-sk.ts
index 566d299..388e89a 100644
--- a/perf/modules/commit-range-sk/commit-range-sk.ts
+++ b/perf/modules/commit-range-sk/commit-range-sk.ts
@@ -6,7 +6,7 @@
  * uses the global `window.perf.commit_range_url`, which can be set on Perf via
  * the command line.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { lookupCids } from '../cid/cid';
diff --git a/perf/modules/day-range-sk/BUILD.bazel b/perf/modules/day-range-sk/BUILD.bazel
index 65c0f96..e713d90 100644
--- a/perf/modules/day-range-sk/BUILD.bazel
+++ b/perf/modules/day-range-sk/BUILD.bazel
@@ -9,8 +9,8 @@
     sk_element_deps = ["//perf/modules/calendar-input-sk"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "day-range-sk.ts",
diff --git a/perf/modules/day-range-sk/day-range-sk.ts b/perf/modules/day-range-sk/day-range-sk.ts
index 79ba395..e57c6e1 100644
--- a/perf/modules/day-range-sk/day-range-sk.ts
+++ b/perf/modules/day-range-sk/day-range-sk.ts
@@ -14,7 +14,7 @@
  * @attr {Number} end - The end of the time range in seconds since the epoch.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import '../calendar-input-sk';
diff --git a/perf/modules/domain-picker-sk/BUILD.bazel b/perf/modules/domain-picker-sk/BUILD.bazel
index 55b1d30..b842594 100644
--- a/perf/modules/domain-picker-sk/BUILD.bazel
+++ b/perf/modules/domain-picker-sk/BUILD.bazel
@@ -8,15 +8,19 @@
 sk_element(
     name = "domain-picker-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["domain-picker-sk.scss"],
-    sk_element_deps = ["//perf/modules/calendar-input-sk"],
+    sk_element_deps = [
+        "//perf/modules/calendar-input-sk",
+        "//elements-sk/modules/radio-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//perf/modules/json:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "domain-picker-sk.ts",
diff --git a/perf/modules/domain-picker-sk/domain-picker-sk.scss b/perf/modules/domain-picker-sk/domain-picker-sk.scss
index 951c4a8..e6bc601 100644
--- a/perf/modules/domain-picker-sk/domain-picker-sk.scss
+++ b/perf/modules/domain-picker-sk/domain-picker-sk.scss
@@ -1,4 +1,5 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/styles/buttons';
+@import '../../../elements-sk/modules/colors';
 
 domain-picker-sk {
   display: block;
diff --git a/perf/modules/domain-picker-sk/domain-picker-sk.ts b/perf/modules/domain-picker-sk/domain-picker-sk.ts
index 28a9408..84aa8ea 100644
--- a/perf/modules/domain-picker-sk/domain-picker-sk.ts
+++ b/perf/modules/domain-picker-sk/domain-picker-sk.ts
@@ -10,13 +10,12 @@
  *   force the corresponding request_type to be always set.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { RequestType } from '../json';
 
-import 'elements-sk/radio-sk';
-import 'elements-sk/styles/buttons';
+import '../../../elements-sk/modules/radio-sk';
 import '../calendar-input-sk';
 
 // Types of domain ranges we can choose.
diff --git a/perf/modules/errorMessage/BUILD.bazel b/perf/modules/errorMessage/BUILD.bazel
index f6a73bd..70cfa37 100644
--- a/perf/modules/errorMessage/BUILD.bazel
+++ b/perf/modules/errorMessage/BUILD.bazel
@@ -4,5 +4,5 @@
     name = "index_ts_lib",
     srcs = ["index.ts"],
     visibility = ["//visibility:public"],
-    deps = ["@npm//elements-sk"],
+    deps = ["//elements-sk/modules:errormessage_ts_lib"],
 )
diff --git a/perf/modules/errorMessage/index.ts b/perf/modules/errorMessage/index.ts
index d07cafe..1f261a7 100644
--- a/perf/modules/errorMessage/index.ts
+++ b/perf/modules/errorMessage/index.ts
@@ -1,4 +1,4 @@
-import { errorMessage as elementsErrorMessage } from 'elements-sk/errorMessage';
+import { errorMessage as elementsErrorMessage } from '../../../elements-sk/modules/errorMessage';
 
 /**
  * This is the same function as element-sk errorMessage, but defaults to a 0s
diff --git a/perf/modules/explore-sk/BUILD.bazel b/perf/modules/explore-sk/BUILD.bazel
index 838b14b..3ffdf70 100644
--- a/perf/modules/explore-sk/BUILD.bazel
+++ b/perf/modules/explore-sk/BUILD.bazel
@@ -4,6 +4,7 @@
     name = "explore-sk",
     sass_deps = [
         "//perf/modules/themes:themes_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
     ],
     sass_srcs = ["explore-sk.scss"],
     sk_element_deps = [
@@ -18,6 +19,11 @@
         "//perf/modules/pivot-query-sk",
         "//perf/modules/pivot-table-sk",
         "//perf/modules/commit-range-sk",
+        "//elements-sk/modules/checkbox-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/spinner-sk",
+        "//elements-sk/modules/tabs-panel-sk",
+        "//elements-sk/modules/tabs-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
@@ -25,14 +31,17 @@
         "//perf/modules/json:index_ts_lib",
         "//perf/modules/progress:progress_ts_lib",
         "//perf/modules/window:window_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "//perf/modules/pivotutil:index_ts_lib",
         "//infra-sk/modules:linkify_ts_lib",
         "//perf/modules/paramtools:index_ts_lib",
         "//perf/modules/csv:index_ts_lib",
         "//perf/modules/const:const_ts_lib",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:hintable_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "explore-sk.ts",
diff --git a/perf/modules/explore-sk/explore-sk.scss b/perf/modules/explore-sk/explore-sk.scss
index 9931027..dcf69e6 100644
--- a/perf/modules/explore-sk/explore-sk.scss
+++ b/perf/modules/explore-sk/explore-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../themes/themes.scss';
 
 explore-sk {
diff --git a/perf/modules/explore-sk/explore-sk.ts b/perf/modules/explore-sk/explore-sk.ts
index 42fdca1..e5ff6c3 100644
--- a/perf/modules/explore-sk/explore-sk.ts
+++ b/perf/modules/explore-sk/explore-sk.ts
@@ -4,25 +4,24 @@
  *
  * Main page of Perf, for exploring data.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { stateReflector } from 'common-sk/modules/stateReflector';
-import { toParamSet, fromParamSet } from 'common-sk/modules/query';
-import { TabsSk } from 'elements-sk/tabs-sk/tabs-sk';
-import { ParamSet as CommonSkParamSet } from 'common-sk/modules/query';
-import { HintableObject } from 'common-sk/modules/hintable';
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
+import { toParamSet, fromParamSet } from '../../../infra-sk/modules/query';
+import { TabsSk } from '../../../elements-sk/modules/tabs-sk/tabs-sk';
+import { ParamSet as CommonSkParamSet } from '../../../infra-sk/modules/query';
+import { HintableObject } from '../../../infra-sk/modules/hintable';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
 import { errorMessage } from '../errorMessage';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { escapeAndLinkifyToString } from '../../../infra-sk/modules/linkify';
 
-import 'elements-sk/checkbox-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/spinner-sk';
-import 'elements-sk/styles/buttons';
-import 'elements-sk/tabs-panel-sk';
-import 'elements-sk/tabs-sk';
+import '../../../elements-sk/modules/checkbox-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/spinner-sk';
+import '../../../elements-sk/modules/tabs-panel-sk';
+import '../../../elements-sk/modules/tabs-sk';
 
 import '../../../infra-sk/modules/query-sk';
 import '../../../infra-sk/modules/paramset-sk';
diff --git a/perf/modules/ingest-file-links-sk/BUILD.bazel b/perf/modules/ingest-file-links-sk/BUILD.bazel
index 2d74e35..e685684 100644
--- a/perf/modules/ingest-file-links-sk/BUILD.bazel
+++ b/perf/modules/ingest-file-links-sk/BUILD.bazel
@@ -8,15 +8,18 @@
 sk_element(
     name = "ingest-file-links-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["ingest-file-links-sk.scss"],
+    sk_element_deps = ["//elements-sk/modules/spinner-sk"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "//perf/modules/json:index_ts_lib",
-        "@npm//common-sk",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "ingest-file-links-sk.ts",
@@ -49,11 +52,11 @@
     src = "ingest-file-links-sk_test.ts",
     deps = [
         ":ingest-file-links-sk",
+        "//elements-sk/modules/spinner-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/perf/modules/ingest-file-links-sk/ingest-file-links-sk.scss b/perf/modules/ingest-file-links-sk/ingest-file-links-sk.scss
index 3c0eacf..146e0ab 100644
--- a/perf/modules/ingest-file-links-sk/ingest-file-links-sk.scss
+++ b/perf/modules/ingest-file-links-sk/ingest-file-links-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 
 ingest-file-links-sk {
   display: block;
diff --git a/perf/modules/ingest-file-links-sk/ingest-file-links-sk.ts b/perf/modules/ingest-file-links-sk/ingest-file-links-sk.ts
index e8355e8..b982a92 100644
--- a/perf/modules/ingest-file-links-sk/ingest-file-links-sk.ts
+++ b/perf/modules/ingest-file-links-sk/ingest-file-links-sk.ts
@@ -7,12 +7,12 @@
  *
  * See also https://pkg.go.dev/go.skia.org/infra/perf/go/ingest/format#Format
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { $$ } from 'common-sk/modules/dom';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { CommitDetailsRequest, CommitNumber, ingest } from '../json';
 
diff --git a/perf/modules/ingest-file-links-sk/ingest-file-links-sk_test.ts b/perf/modules/ingest-file-links-sk/ingest-file-links-sk_test.ts
index d921338..0a5a2f0 100644
--- a/perf/modules/ingest-file-links-sk/ingest-file-links-sk_test.ts
+++ b/perf/modules/ingest-file-links-sk/ingest-file-links-sk_test.ts
@@ -1,8 +1,8 @@
 import './index';
 import { assert } from 'chai';
 import fetchMock from 'fetch-mock';
-import { $, $$ } from 'common-sk/modules/dom';
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
+import { $, $$ } from '../../../infra-sk/modules/dom';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
 import { IngestFileLinksSk } from './ingest-file-links-sk';
 
 import { setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
diff --git a/perf/modules/json-source-sk/BUILD.bazel b/perf/modules/json-source-sk/BUILD.bazel
index 30fcd55..051e562 100644
--- a/perf/modules/json-source-sk/BUILD.bazel
+++ b/perf/modules/json-source-sk/BUILD.bazel
@@ -7,14 +7,17 @@
 
 sk_element(
     name = "json-source-sk",
+    sass_deps = ["//elements-sk/modules/styles:buttons_sass_lib"],
     sass_srcs = ["json-source-sk.scss"],
+    sk_element_deps = ["//elements-sk/modules/spinner-sk"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//perf/modules/errorMessage:index_ts_lib",
         "//perf/modules/json:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -26,11 +29,11 @@
 sk_page(
     name = "json-source-sk-demo",
     html_file = "json-source-sk-demo.html",
-    sk_element_deps = [":json-source-sk"],
-    ts_deps = [
-        "@npm//elements-sk",
-        "@npm//fetch-mock",
+    sk_element_deps = [
+        ":json-source-sk",
+        "//elements-sk/modules/error-toast-sk",
     ],
+    ts_deps = ["@npm//fetch-mock"],
     ts_entry_point = "json-source-sk-demo.ts",
 )
 
diff --git a/perf/modules/json-source-sk/json-source-sk-demo.ts b/perf/modules/json-source-sk/json-source-sk-demo.ts
index e4b27be..e5d3284 100644
--- a/perf/modules/json-source-sk/json-source-sk-demo.ts
+++ b/perf/modules/json-source-sk/json-source-sk-demo.ts
@@ -1,7 +1,7 @@
 import './index';
 import fetchMock from 'fetch-mock';
 import { JSONSourceSk } from './json-source-sk';
-import 'elements-sk/error-toast-sk';
+import '../../../elements-sk/modules/error-toast-sk';
 
 fetchMock.post('/_/details/', () => ({ Hello: 'world!' }));
 
diff --git a/perf/modules/json-source-sk/json-source-sk.scss b/perf/modules/json-source-sk/json-source-sk.scss
index ece57de..6433102 100644
--- a/perf/modules/json-source-sk/json-source-sk.scss
+++ b/perf/modules/json-source-sk/json-source-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 json-source-sk {
   spinner-sk {
     width: 16px;
diff --git a/perf/modules/json-source-sk/json-source-sk.ts b/perf/modules/json-source-sk/json-source-sk.ts
index 8eb542d..57f85b9 100644
--- a/perf/modules/json-source-sk/json-source-sk.ts
+++ b/perf/modules/json-source-sk/json-source-sk.ts
@@ -7,17 +7,16 @@
  * id.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { $$ } from 'common-sk/modules/dom';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
 import { errorMessage } from '../errorMessage';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { CommitDetailsRequest, CommitNumber } from '../json';
 
-import 'elements-sk/spinner-sk';
-import 'elements-sk/styles/buttons';
+import '../../../elements-sk/modules/spinner-sk';
 
 export class JSONSourceSk extends ElementSk {
   private _json: string;
diff --git a/perf/modules/perf-scaffold-sk/BUILD.bazel b/perf/modules/perf-scaffold-sk/BUILD.bazel
index 3b20a77..8a3db06 100644
--- a/perf/modules/perf-scaffold-sk/BUILD.bazel
+++ b/perf/modules/perf-scaffold-sk/BUILD.bazel
@@ -15,11 +15,20 @@
         "//infra-sk/modules/alogin-sk",
         "//infra-sk/modules/theme-chooser-sk",
         "//infra-sk/modules/app-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/add-alert-icon-sk",
+        "//elements-sk/modules/icons/build-icon-sk",
+        "//elements-sk/modules/icons/event-icon-sk",
+        "//elements-sk/modules/icons/folder-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/icons/home-icon-sk",
+        "//elements-sk/modules/icons/sort-icon-sk",
+        "//elements-sk/modules/icons/trending-up-icon-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/perf/modules/perf-scaffold-sk/perf-scaffold-sk.ts b/perf/modules/perf-scaffold-sk/perf-scaffold-sk.ts
index 443e2d8..cf32a65 100644
--- a/perf/modules/perf-scaffold-sk/perf-scaffold-sk.ts
+++ b/perf/modules/perf-scaffold-sk/perf-scaffold-sk.ts
@@ -6,18 +6,18 @@
  * every Perf page should be a child of this element.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/icon/add-alert-icon-sk';
-import 'elements-sk/icon/build-icon-sk';
-import 'elements-sk/icon/event-icon-sk';
-import 'elements-sk/icon/folder-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/icon/home-icon-sk';
-import 'elements-sk/icon/sort-icon-sk';
-import 'elements-sk/icon/trending-up-icon-sk';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/icons/add-alert-icon-sk';
+import '../../../elements-sk/modules/icons/build-icon-sk';
+import '../../../elements-sk/modules/icons/event-icon-sk';
+import '../../../elements-sk/modules/icons/folder-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/icons/home-icon-sk';
+import '../../../elements-sk/modules/icons/sort-icon-sk';
+import '../../../elements-sk/modules/icons/trending-up-icon-sk';
 import '../../../infra-sk/modules/alogin-sk';
 import '../../../infra-sk/modules/theme-chooser-sk';
 import '../../../infra-sk/modules/app-sk';
diff --git a/perf/modules/pivot-query-sk/BUILD.bazel b/perf/modules/pivot-query-sk/BUILD.bazel
index e0d61fe..a2d8940 100644
--- a/perf/modules/pivot-query-sk/BUILD.bazel
+++ b/perf/modules/pivot-query-sk/BUILD.bazel
@@ -9,14 +9,19 @@
     name = "pivot-query-sk",
     sass_deps = [
         "//perf/modules/themes:themes_sass_lib",
+        "//elements-sk/modules/styles:select_sass_lib",
     ],
     sass_srcs = ["pivot-query-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/multi-select-sk",
+        "//elements-sk/modules/select-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "//perf/modules/json:index_ts_lib",
         "//perf/modules/pivotutil:index_ts_lib",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "pivot-query-sk.ts",
@@ -32,7 +37,7 @@
     sk_element_deps = [":pivot-query-sk"],
     ts_deps = [
         "//perf/modules/json:index_ts_lib",
-        "@npm//common-sk",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "pivot-query-sk-demo.ts",
 )
@@ -53,10 +58,10 @@
     src = "pivot-query-sk_test.ts",
     deps = [
         ":pivot-query-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "//perf/modules/json:index_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/perf/modules/pivot-query-sk/pivot-query-sk-demo.ts b/perf/modules/pivot-query-sk/pivot-query-sk-demo.ts
index 2bd91b0..7c582ca 100644
--- a/perf/modules/pivot-query-sk/pivot-query-sk-demo.ts
+++ b/perf/modules/pivot-query-sk/pivot-query-sk-demo.ts
@@ -1,4 +1,4 @@
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { ParamSet, pivot } from '../json';
 import './index';
 import { PivotQueryChangedEventDetail, PivotQuerySk } from './pivot-query-sk';
diff --git a/perf/modules/pivot-query-sk/pivot-query-sk.scss b/perf/modules/pivot-query-sk/pivot-query-sk.scss
index e1706e1..830fe0b 100644
--- a/perf/modules/pivot-query-sk/pivot-query-sk.scss
+++ b/perf/modules/pivot-query-sk/pivot-query-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/select';
 @import '../themes/themes';
 
 pivot-query-sk {
diff --git a/perf/modules/pivot-query-sk/pivot-query-sk.ts b/perf/modules/pivot-query-sk/pivot-query-sk.ts
index 1d9d238..802a65d 100644
--- a/perf/modules/pivot-query-sk/pivot-query-sk.ts
+++ b/perf/modules/pivot-query-sk/pivot-query-sk.ts
@@ -5,14 +5,13 @@
  * @evt pivot-changed - Emitted every time the control is changed by the user.
  * See PivotQueryChangedEventDetail.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
-import { MultiSelectSkSelectionChangedEventDetail } from 'elements-sk/multi-select-sk/multi-select-sk';
+import { MultiSelectSkSelectionChangedEventDetail } from '../../../elements-sk/modules/multi-select-sk/multi-select-sk';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { ParamSet, pivot } from '../json';
-import 'elements-sk/multi-select-sk';
-import 'elements-sk/select-sk';
-import 'elements-sk/styles/select';
+import '../../../elements-sk/modules/multi-select-sk';
+import '../../../elements-sk/modules/select-sk';
 import { operationDescriptions, validatePivotRequest } from '../pivotutil';
 
 const sortedOps = Object.keys(operationDescriptions).sort() as pivot.Operation[];
diff --git a/perf/modules/pivot-query-sk/pivot-query-sk_test.ts b/perf/modules/pivot-query-sk/pivot-query-sk_test.ts
index bf3d037..ce671ac 100644
--- a/perf/modules/pivot-query-sk/pivot-query-sk_test.ts
+++ b/perf/modules/pivot-query-sk/pivot-query-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 import { assert } from 'chai';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { PivotQueryChangedEventDetail, PivotQueryChangedEventName, PivotQuerySk } from './pivot-query-sk';
 
 import { eventPromise, setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
diff --git a/perf/modules/pivot-table-sk/BUILD.bazel b/perf/modules/pivot-table-sk/BUILD.bazel
index cf3b79d..697ea46 100644
--- a/perf/modules/pivot-table-sk/BUILD.bazel
+++ b/perf/modules/pivot-table-sk/BUILD.bazel
@@ -11,16 +11,21 @@
         "//perf/modules/themes:themes_sass_lib",
     ],
     sass_srcs = ["pivot-table-sk.scss"],
-    sk_element_deps = ["//infra-sk/modules/paramset-sk"],
+    sk_element_deps = [
+        "//infra-sk/modules/paramset-sk",
+        "//elements-sk/modules/icons/arrow-drop-down-icon-sk",
+        "//elements-sk/modules/icons/arrow-drop-up-icon-sk",
+        "//elements-sk/modules/icons/sort-icon-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "//perf/modules/json:index_ts_lib",
         "//perf/modules/pivotutil:index_ts_lib",
         "//perf/modules/paramtools:index_ts_lib",
-        "@npm//common-sk",
         "//perf/modules/const:const_ts_lib",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_srcs = [
         "pivot-table-sk.ts",
@@ -35,7 +40,7 @@
     sk_element_deps = [":pivot-table-sk"],
     ts_deps = [
         "//perf/modules/json:index_ts_lib",
-        "@npm//common-sk",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "pivot-table-sk-demo.ts",
 )
@@ -56,10 +61,10 @@
     src = "pivot-table-sk_test.ts",
     deps = [
         ":pivot-table-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "//perf/modules/json:index_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/perf/modules/pivot-table-sk/pivot-table-sk-demo.ts b/perf/modules/pivot-table-sk/pivot-table-sk-demo.ts
index 1aeef67..33a952a 100644
--- a/perf/modules/pivot-table-sk/pivot-table-sk-demo.ts
+++ b/perf/modules/pivot-table-sk/pivot-table-sk-demo.ts
@@ -1,4 +1,4 @@
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { DataFrame, pivot } from '../json';
 import './index';
 import { PivotTableSk } from './pivot-table-sk';
diff --git a/perf/modules/pivot-table-sk/pivot-table-sk.ts b/perf/modules/pivot-table-sk/pivot-table-sk.ts
index 714a463..fc63682 100644
--- a/perf/modules/pivot-table-sk/pivot-table-sk.ts
+++ b/perf/modules/pivot-table-sk/pivot-table-sk.ts
@@ -13,17 +13,17 @@
  * @evt Emits a change event with the sort history encoded as a string when the
  *    user sorts on a column.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
-import { toParamSet } from 'common-sk/modules/query';
+import { toParamSet } from '../../../infra-sk/modules/query';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { pivot, DataFrame, TraceSet } from '../json';
 import { operationDescriptions, validateAsPivotTable } from '../pivotutil';
 
 import '../../../infra-sk/modules/paramset-sk';
-import 'elements-sk/icon/sort-icon-sk';
-import 'elements-sk/icon/arrow-drop-down-icon-sk';
-import 'elements-sk/icon/arrow-drop-up-icon-sk';
+import '../../../elements-sk/modules/icons/sort-icon-sk';
+import '../../../elements-sk/modules/icons/arrow-drop-down-icon-sk';
+import '../../../elements-sk/modules/icons/arrow-drop-up-icon-sk';
 import { fromKey } from '../paramtools';
 import { MISSING_DATA_SENTINEL } from '../const/const';
 
diff --git a/perf/modules/pivot-table-sk/pivot-table-sk_test.ts b/perf/modules/pivot-table-sk/pivot-table-sk_test.ts
index e896e4e..bbea1f1 100644
--- a/perf/modules/pivot-table-sk/pivot-table-sk_test.ts
+++ b/perf/modules/pivot-table-sk/pivot-table-sk_test.ts
@@ -1,7 +1,7 @@
 /* eslint-disable dot-notation */
 import './index';
 import { assert } from 'chai';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 
 import { eventPromise, setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
 import { DataFrame, pivot, TraceSet } from '../json';
diff --git a/perf/modules/plot-simple-sk/BUILD.bazel b/perf/modules/plot-simple-sk/BUILD.bazel
index 98a3107..dd43fa0 100644
--- a/perf/modules/plot-simple-sk/BUILD.bazel
+++ b/perf/modules/plot-simple-sk/BUILD.bazel
@@ -35,9 +35,9 @@
         "@npm//@types/d3-scale",
         "@npm//d3-array",
         "@npm//d3-scale",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "//perf/modules/const:const_ts_lib",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -49,14 +49,15 @@
 sk_page(
     name = "plot-simple-sk-demo",
     html_file = "plot-simple-sk-demo.html",
+    sass_deps = ["//elements-sk/modules/styles:buttons_sass_lib"],
+    scss_entry_point = "plot-simple-sk-demo.scss",
     sk_element_deps = [
         "//infra-sk/modules/theme-chooser-sk",
         ":plot-simple-sk",
     ],
     ts_deps = [
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "//perf/modules/const:const_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "plot-simple-sk-demo.ts",
 )
diff --git a/perf/modules/plot-simple-sk/plot-simple-sk-demo.scss b/perf/modules/plot-simple-sk/plot-simple-sk-demo.scss
new file mode 100644
index 0000000..c7d1c55
--- /dev/null
+++ b/perf/modules/plot-simple-sk/plot-simple-sk-demo.scss
@@ -0,0 +1 @@
+@import '../../../elements-sk/modules/styles/buttons';
diff --git a/perf/modules/plot-simple-sk/plot-simple-sk-demo.ts b/perf/modules/plot-simple-sk/plot-simple-sk-demo.ts
index a0a7aeb..47415a0 100644
--- a/perf/modules/plot-simple-sk/plot-simple-sk-demo.ts
+++ b/perf/modules/plot-simple-sk/plot-simple-sk-demo.ts
@@ -1,11 +1,10 @@
 import './index';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import {
   PlotSimpleSk,
   PlotSimpleSkTraceEventDetails,
   PlotSimpleSkZoomEventDetails,
 } from './plot-simple-sk';
-import 'elements-sk/styles/buttons';
 
 import '../../../infra-sk/modules/theme-chooser-sk';
 import { MISSING_DATA_SENTINEL } from '../const/const';
diff --git a/perf/modules/plot-simple-sk/plot-simple-sk.ts b/perf/modules/plot-simple-sk/plot-simple-sk.ts
index 467ed2b..11d5ad6 100644
--- a/perf/modules/plot-simple-sk/plot-simple-sk.ts
+++ b/perf/modules/plot-simple-sk/plot-simple-sk.ts
@@ -90,7 +90,7 @@
  *
  * @attr summary {Boolean} - If present then display the summary bar.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import * as d3Scale from 'd3-scale';
 import * as d3Array from 'd3-array';
diff --git a/perf/modules/progress/BUILD.bazel b/perf/modules/progress/BUILD.bazel
index 302a295..c422ed9 100644
--- a/perf/modules/progress/BUILD.bazel
+++ b/perf/modules/progress/BUILD.bazel
@@ -5,10 +5,10 @@
     src = "progress_test.ts",
     deps = [
         ":progress_ts_lib",
+        "//elements-sk/modules/spinner-sk",
         "//perf/modules/json:index_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//elements-sk",
         "@npm//fetch-mock",
     ],
 )
@@ -18,7 +18,7 @@
     srcs = ["progress.ts"],
     visibility = ["//visibility:public"],
     deps = [
+        "//elements-sk/modules/spinner-sk",
         "//perf/modules/json:index_ts_lib",
-        "@npm//elements-sk",
     ],
 )
diff --git a/perf/modules/progress/progress.ts b/perf/modules/progress/progress.ts
index 0c84745..84cb5a5 100644
--- a/perf/modules/progress/progress.ts
+++ b/perf/modules/progress/progress.ts
@@ -1,6 +1,6 @@
 // A module to start and monitor the progress of long running server tasks.
 
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
 import { progress } from '../json';
 
 export type callback = (arg: progress.SerializedProgress)=> void;
diff --git a/perf/modules/progress/progress_test.ts b/perf/modules/progress/progress_test.ts
index 1d00268..00b72af 100644
--- a/perf/modules/progress/progress_test.ts
+++ b/perf/modules/progress/progress_test.ts
@@ -1,9 +1,9 @@
 import { assert } from 'chai';
 import fetchMock from 'fetch-mock';
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
 import { messageByName, messagesToErrorString, startRequest } from './progress';
 import { progress } from '../json';
-import 'elements-sk/spinner-sk';
+import '../../../elements-sk/modules/spinner-sk';
 
 fetchMock.config.overwriteRoutes = true;
 
diff --git a/perf/modules/query-chooser-sk/BUILD.bazel b/perf/modules/query-chooser-sk/BUILD.bazel
index 28b604d..c80d86c 100644
--- a/perf/modules/query-chooser-sk/BUILD.bazel
+++ b/perf/modules/query-chooser-sk/BUILD.bazel
@@ -9,7 +9,8 @@
     name = "query-chooser-sk",
     sass_deps = [
         "//perf/modules/themes:themes_sass_lib",
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["query-chooser-sk.scss"],
     sk_element_deps = [
@@ -19,9 +20,9 @@
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/perf/modules/query-chooser-sk/query-chooser-sk.scss b/perf/modules/query-chooser-sk/query-chooser-sk.scss
index 1c7fc97..218dbde 100644
--- a/perf/modules/query-chooser-sk/query-chooser-sk.scss
+++ b/perf/modules/query-chooser-sk/query-chooser-sk.scss
@@ -1,4 +1,5 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/styles/buttons';
+@import '../../../elements-sk/modules/colors';
 
 query-chooser-sk {
   query-count-sk {
diff --git a/perf/modules/query-chooser-sk/query-chooser-sk.ts b/perf/modules/query-chooser-sk/query-chooser-sk.ts
index bec8cb7..dcbfdd7 100644
--- a/perf/modules/query-chooser-sk/query-chooser-sk.ts
+++ b/perf/modules/query-chooser-sk/query-chooser-sk.ts
@@ -12,9 +12,9 @@
  * @attr {string} count_url - The  URL to POST the query to, passed down to quuery-count-sk.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { ParamSet, toParamSet } from 'common-sk/modules/query';
+import { ParamSet, toParamSet } from '../../../infra-sk/modules/query';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { QuerySkQueryChangeEventDetail } from '../../../infra-sk/modules/query-sk/query-sk';
 
@@ -23,7 +23,6 @@
 
 import '../query-count-sk';
 
-import 'elements-sk/styles/buttons';
 
 export class QueryChooserSk extends ElementSk {
   private _dialog: HTMLDivElement | null;
diff --git a/perf/modules/query-count-sk/BUILD.bazel b/perf/modules/query-count-sk/BUILD.bazel
index c842c81..cf4b7f5 100644
--- a/perf/modules/query-count-sk/BUILD.bazel
+++ b/perf/modules/query-count-sk/BUILD.bazel
@@ -8,13 +8,14 @@
 sk_element(
     name = "query-count-sk",
     sass_srcs = ["query-count-sk.scss"],
+    sk_element_deps = ["//elements-sk/modules/spinner-sk"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//perf/modules/errorMessage:index_ts_lib",
         "//perf/modules/json:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -26,11 +27,11 @@
 sk_page(
     name = "query-count-sk-demo",
     html_file = "query-count-sk-demo.html",
-    sk_element_deps = [":query-count-sk"],
-    ts_deps = [
-        "@npm//elements-sk",
-        "@npm//fetch-mock",
+    sk_element_deps = [
+        ":query-count-sk",
+        "//elements-sk/modules/error-toast-sk",
     ],
+    ts_deps = ["@npm//fetch-mock"],
     ts_entry_point = "query-count-sk-demo.ts",
 )
 
diff --git a/perf/modules/query-count-sk/query-count-sk-demo.ts b/perf/modules/query-count-sk/query-count-sk-demo.ts
index 1bdad90..47e92e2 100644
--- a/perf/modules/query-count-sk/query-count-sk-demo.ts
+++ b/perf/modules/query-count-sk/query-count-sk-demo.ts
@@ -1,7 +1,7 @@
 import './index';
 import fetchMock from 'fetch-mock';
 import { QueryCountSk } from './query-count-sk';
-import 'elements-sk/error-toast-sk';
+import '../../../elements-sk/modules/error-toast-sk';
 
 let count = 11;
 
diff --git a/perf/modules/query-count-sk/query-count-sk.ts b/perf/modules/query-count-sk/query-count-sk.ts
index a80c6d0..55153a8 100644
--- a/perf/modules/query-count-sk/query-count-sk.ts
+++ b/perf/modules/query-count-sk/query-count-sk.ts
@@ -12,13 +12,13 @@
  *   from the fetch response.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
 import { errorMessage } from '../errorMessage';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { CountHandlerRequest, CountHandlerResponse, ParamSet } from '../json';
-import 'elements-sk/spinner-sk';
+import '../../../elements-sk/modules/spinner-sk';
 
 export class QueryCountSk extends ElementSk {
   private _last_query = '';
diff --git a/perf/modules/triage-page-sk/BUILD.bazel b/perf/modules/triage-page-sk/BUILD.bazel
index 11badbd..8d268de 100644
--- a/perf/modules/triage-page-sk/BUILD.bazel
+++ b/perf/modules/triage-page-sk/BUILD.bazel
@@ -9,6 +9,8 @@
     name = "triage-page-sk",
     sass_deps = [
         "//perf/modules/themes:themes_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules/styles:select_sass_lib",
     ],
     sass_srcs = ["triage-page-sk.scss"],
     sk_element_deps = [
@@ -16,14 +18,19 @@
         "//perf/modules/commit-detail-sk",
         "//perf/modules/day-range-sk",
         "//perf/modules/triage-status-sk",
+        "//elements-sk/modules/spinner-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//perf/modules/errorMessage:index_ts_lib",
         "//perf/modules/json:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:hintable_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:object_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/perf/modules/triage-page-sk/triage-page-sk.scss b/perf/modules/triage-page-sk/triage-page-sk.scss
index 5f5b15a..3f045ea 100644
--- a/perf/modules/triage-page-sk/triage-page-sk.scss
+++ b/perf/modules/triage-page-sk/triage-page-sk.scss
@@ -1,3 +1,5 @@
+@import '../../../elements-sk/modules/styles/select';
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../themes/themes.scss';
 
 triage-page-sk {
diff --git a/perf/modules/triage-page-sk/triage-page-sk.ts b/perf/modules/triage-page-sk/triage-page-sk.ts
index f42c374..678d1e0 100644
--- a/perf/modules/triage-page-sk/triage-page-sk.ts
+++ b/perf/modules/triage-page-sk/triage-page-sk.ts
@@ -7,13 +7,13 @@
  * TODO(jcgregorio) Needs working demo page and tests.
  *
  */
-import { define } from 'elements-sk/define';
-import { equals, deepCopy } from 'common-sk/modules/object';
-import { fromObject } from 'common-sk/modules/query';
+import { define } from '../../../elements-sk/modules/define';
+import { equals, deepCopy } from '../../../infra-sk/modules/object';
+import { fromObject } from '../../../infra-sk/modules/query';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { stateReflector } from 'common-sk/modules/stateReflector';
-import { HintableObject } from 'common-sk/modules/hintable';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
+import { HintableObject } from '../../../infra-sk/modules/hintable';
 import { errorMessage } from '../errorMessage';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import {
@@ -30,9 +30,7 @@
   TriageResponse,
 } from '../json';
 
-import 'elements-sk/spinner-sk';
-import 'elements-sk/styles/buttons';
-import 'elements-sk/styles/select';
+import '../../../elements-sk/modules/spinner-sk';
 
 import '../cluster-summary2-sk';
 import '../commit-detail-sk';
diff --git a/perf/modules/triage-status-sk/BUILD.bazel b/perf/modules/triage-status-sk/BUILD.bazel
index 7b5a479..d9c6ba8 100644
--- a/perf/modules/triage-status-sk/BUILD.bazel
+++ b/perf/modules/triage-status-sk/BUILD.bazel
@@ -15,8 +15,8 @@
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//perf/modules/json:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/perf/modules/triage-status-sk/triage-status-sk.ts b/perf/modules/triage-status-sk/triage-status-sk.ts
index 200f4b4..737fcde 100644
--- a/perf/modules/triage-status-sk/triage-status-sk.ts
+++ b/perf/modules/triage-status-sk/triage-status-sk.ts
@@ -10,7 +10,7 @@
  *    alert, cluster_type, full_summary, and triage.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import '../tricon2-sk';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
diff --git a/perf/modules/triage2-sk/BUILD.bazel b/perf/modules/triage2-sk/BUILD.bazel
index 3e9bd53..c41a018 100644
--- a/perf/modules/triage2-sk/BUILD.bazel
+++ b/perf/modules/triage2-sk/BUILD.bazel
@@ -9,14 +9,20 @@
     name = "triage2-sk",
     sass_deps = [
         "//perf/modules/themes:themes_sass_lib",
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["triage2-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/icons/cancel-icon-sk",
+        "//elements-sk/modules/icons/check-circle-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//perf/modules/json:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/perf/modules/triage2-sk/triage2-sk.scss b/perf/modules/triage2-sk/triage2-sk.scss
index 432aa31..855cc1b 100644
--- a/perf/modules/triage2-sk/triage2-sk.scss
+++ b/perf/modules/triage2-sk/triage2-sk.scss
@@ -1,4 +1,5 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/styles/buttons';
+@import '../../../elements-sk/modules/colors';
 @import '../themes/themes.scss';
 
 // Legacy color scheme.
diff --git a/perf/modules/triage2-sk/triage2-sk.ts b/perf/modules/triage2-sk/triage2-sk.ts
index 862b083..16ba936 100644
--- a/perf/modules/triage2-sk/triage2-sk.ts
+++ b/perf/modules/triage2-sk/triage2-sk.ts
@@ -13,13 +13,12 @@
  * @example
  *   <triage2-sk value=positive></triage2-sk>
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
-import 'elements-sk/icon/check-circle-icon-sk';
-import 'elements-sk/icon/cancel-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/styles/buttons';
+import '../../../elements-sk/modules/icons/check-circle-icon-sk';
+import '../../../elements-sk/modules/icons/cancel-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
 import { Status } from '../json';
 
 // TODO(jcgregorio) Maybe go2ts could emit isFoo guard functions?
diff --git a/perf/modules/tricon2-sk/BUILD.bazel b/perf/modules/tricon2-sk/BUILD.bazel
index f862ed5..908d4fc 100644
--- a/perf/modules/tricon2-sk/BUILD.bazel
+++ b/perf/modules/tricon2-sk/BUILD.bazel
@@ -9,13 +9,19 @@
     name = "tricon2-sk",
     sass_deps = [
         "//perf/modules/themes:themes_sass_lib",
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["tricon2-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/icons/cancel-icon-sk",
+        "//elements-sk/modules/icons/check-circle-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/perf/modules/tricon2-sk/tricon2-sk.scss b/perf/modules/tricon2-sk/tricon2-sk.scss
index 7895b2d..f3a9654 100644
--- a/perf/modules/tricon2-sk/tricon2-sk.scss
+++ b/perf/modules/tricon2-sk/tricon2-sk.scss
@@ -1,4 +1,5 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/styles/buttons';
+@import '../../../elements-sk/modules/colors';
 
 @import '../themes/themes.scss';
 
diff --git a/perf/modules/tricon2-sk/tricon2-sk.ts b/perf/modules/tricon2-sk/tricon2-sk.ts
index 28d6b2c..0f05020 100644
--- a/perf/modules/tricon2-sk/tricon2-sk.ts
+++ b/perf/modules/tricon2-sk/tricon2-sk.ts
@@ -8,13 +8,12 @@
  *     "untriaged", "positive", or "negative".
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
-import 'elements-sk/icon/check-circle-icon-sk';
-import 'elements-sk/icon/cancel-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/styles/buttons';
+import '../../../elements-sk/modules/icons/check-circle-icon-sk';
+import '../../../elements-sk/modules/icons/cancel-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
 
 export class TriconSk extends ElementSk {
   constructor() {
diff --git a/perf/modules/trybot-page-sk/BUILD.bazel b/perf/modules/trybot-page-sk/BUILD.bazel
index fcbd266..93f35c3 100644
--- a/perf/modules/trybot-page-sk/BUILD.bazel
+++ b/perf/modules/trybot-page-sk/BUILD.bazel
@@ -16,6 +16,10 @@
         "//perf/modules/day-range-sk",
         "//perf/modules/plot-simple-sk",
         "//perf/modules/query-count-sk",
+        "//elements-sk/modules/icons/timeline-icon-sk",
+        "//elements-sk/modules/spinner-sk",
+        "//elements-sk/modules/tabs-panel-sk",
+        "//elements-sk/modules/tabs-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
@@ -25,9 +29,12 @@
         "//perf/modules/progress:progress_ts_lib",
         "//perf/modules/trybot:calcs_ts_lib",
         "//perf/modules/window:window_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:hintable_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -43,12 +50,12 @@
         "//infra-sk/modules/query-sk",
         "//perf/modules/commit-detail-picker-sk",
         ":trybot-page-sk",
+        "//elements-sk/modules/error-toast-sk",
     ],
     ts_deps = [
         "//perf/modules/json:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "trybot-page-sk-demo.ts",
 )
diff --git a/perf/modules/trybot-page-sk/trybot-page-sk-demo.ts b/perf/modules/trybot-page-sk/trybot-page-sk-demo.ts
index 0eac5b9..369f134 100644
--- a/perf/modules/trybot-page-sk/trybot-page-sk-demo.ts
+++ b/perf/modules/trybot-page-sk/trybot-page-sk-demo.ts
@@ -1,7 +1,7 @@
 import fetchMock from 'fetch-mock';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { Commit } from '../json';
-import 'elements-sk/error-toast-sk';
+import '../../../elements-sk/modules/error-toast-sk';
 
 import { CommitDetailPickerSk } from '../commit-detail-picker-sk/commit-detail-picker-sk';
 import { QuerySk } from '../../../infra-sk/modules/query-sk/query-sk';
diff --git a/perf/modules/trybot-page-sk/trybot-page-sk.ts b/perf/modules/trybot-page-sk/trybot-page-sk.ts
index 76ff8ea..5cb0a5a 100644
--- a/perf/modules/trybot-page-sk/trybot-page-sk.ts
+++ b/perf/modules/trybot-page-sk/trybot-page-sk.ts
@@ -5,14 +5,14 @@
  * This page allows the user to select either a CL or an existing commit in the
  * repo to analyze looking for regressions.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
-import { toParamSet } from 'common-sk/modules/query';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { stateReflector } from 'common-sk/modules/stateReflector';
-import { HintableObject } from 'common-sk/modules/hintable';
-import { TabSelectedSkEventDetail } from 'elements-sk/tabs-sk/tabs-sk';
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
+import { toParamSet } from '../../../infra-sk/modules/query';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
+import { HintableObject } from '../../../infra-sk/modules/hintable';
+import { TabSelectedSkEventDetail } from '../../../elements-sk/modules/tabs-sk/tabs-sk';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
 import { errorMessage } from '../errorMessage';
 import { byParams, AveForParam } from '../trybot/calcs';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
@@ -40,10 +40,10 @@
 import '../plot-simple-sk';
 import '../window/window';
 
-import 'elements-sk/spinner-sk';
-import 'elements-sk/tabs-sk';
-import 'elements-sk/tabs-panel-sk';
-import 'elements-sk/icon/timeline-icon-sk';
+import '../../../elements-sk/modules/spinner-sk';
+import '../../../elements-sk/modules/tabs-sk';
+import '../../../elements-sk/modules/tabs-panel-sk';
+import '../../../elements-sk/modules/icons/timeline-icon-sk';
 import { PlotSimpleSk, PlotSimpleSkTraceEventDetails } from '../plot-simple-sk/plot-simple-sk';
 import { addParamsToParamSet, fromKey, makeKey } from '../paramtools';
 import { ParamSetSk } from '../../../infra-sk/modules/paramset-sk/paramset-sk';
diff --git a/perf/modules/word-cloud-sk/BUILD.bazel b/perf/modules/word-cloud-sk/BUILD.bazel
index a553913..112d782 100644
--- a/perf/modules/word-cloud-sk/BUILD.bazel
+++ b/perf/modules/word-cloud-sk/BUILD.bazel
@@ -9,14 +9,14 @@
     name = "word-cloud-sk",
     sass_deps = [
         "//perf/modules/themes:themes_sass_lib",
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["word-cloud-sk.scss"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//perf/modules/json:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/perf/modules/word-cloud-sk/word-cloud-sk.scss b/perf/modules/word-cloud-sk/word-cloud-sk.scss
index 158e27e..a7bf01e 100644
--- a/perf/modules/word-cloud-sk/word-cloud-sk.scss
+++ b/perf/modules/word-cloud-sk/word-cloud-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 
 @import '../themes/themes.scss';
 
diff --git a/perf/modules/word-cloud-sk/word-cloud-sk.ts b/perf/modules/word-cloud-sk/word-cloud-sk.ts
index 1f0b2a8..e21d1f4 100644
--- a/perf/modules/word-cloud-sk/word-cloud-sk.ts
+++ b/perf/modules/word-cloud-sk/word-cloud-sk.ts
@@ -7,7 +7,7 @@
  *
  * @example
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { ValuePercent } from '../json';
diff --git a/puppeteer-tests/modules/screenshots-viewer-sk/BUILD.bazel b/puppeteer-tests/modules/screenshots-viewer-sk/BUILD.bazel
index b073450..4dc51e1 100644
--- a/puppeteer-tests/modules/screenshots-viewer-sk/BUILD.bazel
+++ b/puppeteer-tests/modules/screenshots-viewer-sk/BUILD.bazel
@@ -11,10 +11,11 @@
     sass_srcs = ["screenshots-viewer-sk.scss"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "//puppeteer-tests/modules:rpc_types_ts_lib",
-        "@npm//common-sk",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "screenshots-viewer-sk.ts",
diff --git a/puppeteer-tests/modules/screenshots-viewer-sk/screenshots-viewer-sk.ts b/puppeteer-tests/modules/screenshots-viewer-sk/screenshots-viewer-sk.ts
index c56118c..83372cd 100644
--- a/puppeteer-tests/modules/screenshots-viewer-sk/screenshots-viewer-sk.ts
+++ b/puppeteer-tests/modules/screenshots-viewer-sk/screenshots-viewer-sk.ts
@@ -1,6 +1,6 @@
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { stateReflector } from 'common-sk/modules/stateReflector';
-import { define } from 'elements-sk/define';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { GetScreenshotsRPCResponse, Screenshot } from '../rpc_types';
diff --git a/scrap/modules/scrap-exchange-sk/BUILD.bazel b/scrap/modules/scrap-exchange-sk/BUILD.bazel
index 8b1e3d6..dcf7b1b 100644
--- a/scrap/modules/scrap-exchange-sk/BUILD.bazel
+++ b/scrap/modules/scrap-exchange-sk/BUILD.bazel
@@ -8,11 +8,14 @@
 sk_element(
     name = "scrap-exchange-sk",
     sass_srcs = ["scrap-exchange-sk.scss"],
-    sk_element_deps = ["//infra-sk/modules/theme-chooser-sk"],
+    sk_element_deps = [
+        "//infra-sk/modules/theme-chooser-sk",
+        "//elements-sk/modules/error-toast-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/scrap/modules/scrap-exchange-sk/scrap-exchange-sk.ts b/scrap/modules/scrap-exchange-sk/scrap-exchange-sk.ts
index 3b129dc..3e08b16 100644
--- a/scrap/modules/scrap-exchange-sk/scrap-exchange-sk.ts
+++ b/scrap/modules/scrap-exchange-sk/scrap-exchange-sk.ts
@@ -3,12 +3,12 @@
  * @description <h2><code>scrap-exchange-sk</code></h2>
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
 import '../../../infra-sk/modules/theme-chooser-sk';
-import 'elements-sk/error-toast-sk';
+import '../../../elements-sk/modules/error-toast-sk';
 
 export class ScrapExchangeSk extends ElementSk {
   constructor() {
diff --git a/shaders/modules/debugger-app-sk/BUILD.bazel b/shaders/modules/debugger-app-sk/BUILD.bazel
index 658710f..1c91688 100644
--- a/shaders/modules/debugger-app-sk/BUILD.bazel
+++ b/shaders/modules/debugger-app-sk/BUILD.bazel
@@ -38,9 +38,9 @@
         "//shaders/modules/sksl-constants:sksl-constants_ts_lib",
         "@npm//@types/codemirror",
         "@npm//codemirror",
-        "@npm//elements-sk",
         "@npm//lit-html",
-        "@npm//common-sk",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -81,12 +81,12 @@
     deps = [
         ":debugger-app-sk",
         ":demo_data_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//@types/codemirror",
         "@npm//chai",
         "@npm//codemirror",
-        "@npm//common-sk",
     ],
 )
 
diff --git a/shaders/modules/debugger-app-sk/debugger-app-sk.ts b/shaders/modules/debugger-app-sk/debugger-app-sk.ts
index cc44a33..1d28806 100644
--- a/shaders/modules/debugger-app-sk/debugger-app-sk.ts
+++ b/shaders/modules/debugger-app-sk/debugger-app-sk.ts
@@ -3,10 +3,10 @@
  * @description <h2><code>debugger-app-sk</code></h2>
  *
  */
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import 'codemirror/mode/clike/clike'; // Syntax highlighting for c-like languages.
 import CodeMirror, { EditorConfiguration } from 'codemirror';
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
 import { classMap } from 'lit-html/directives/class-map';
 
diff --git a/shaders/modules/debugger-app-sk/debugger-app-sk_test.ts b/shaders/modules/debugger-app-sk/debugger-app-sk_test.ts
index 92c0f40..c7083cd 100644
--- a/shaders/modules/debugger-app-sk/debugger-app-sk_test.ts
+++ b/shaders/modules/debugger-app-sk/debugger-app-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 import { assert } from 'chai';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
 import { DebuggerAppSk } from './debugger-app-sk';
 import { exampleTraceString } from './demo_data';
diff --git a/shaders/modules/edit-child-shader-sk/BUILD.bazel b/shaders/modules/edit-child-shader-sk/BUILD.bazel
index eeef7ed..3e3a5cc 100644
--- a/shaders/modules/edit-child-shader-sk/BUILD.bazel
+++ b/shaders/modules/edit-child-shader-sk/BUILD.bazel
@@ -9,15 +9,16 @@
     name = "edit-child-shader-sk",
     sass_deps = [
         "//shaders/modules/themes:themes_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
     ],
     sass_srcs = ["edit-child-shader-sk.scss"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//shaders/modules/json:index_ts_lib",
         "//shaders/modules/shadernode:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "edit-child-shader-sk.ts",
@@ -30,7 +31,7 @@
     name = "edit-child-shader-sk-demo",
     html_file = "edit-child-shader-sk-demo.html",
     sk_element_deps = [":edit-child-shader-sk"],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "edit-child-shader-sk-demo.ts",
 )
 
@@ -50,10 +51,10 @@
     src = "edit-child-shader-sk_test.ts",
     deps = [
         ":edit-child-shader-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "//shaders/modules/json:index_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/shaders/modules/edit-child-shader-sk/edit-child-shader-sk-demo.ts b/shaders/modules/edit-child-shader-sk/edit-child-shader-sk-demo.ts
index 381a50d..1236038 100644
--- a/shaders/modules/edit-child-shader-sk/edit-child-shader-sk-demo.ts
+++ b/shaders/modules/edit-child-shader-sk/edit-child-shader-sk-demo.ts
@@ -1,4 +1,4 @@
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { EditChildShaderSk } from './edit-child-shader-sk';
 import './index';
 
diff --git a/shaders/modules/edit-child-shader-sk/edit-child-shader-sk.scss b/shaders/modules/edit-child-shader-sk/edit-child-shader-sk.scss
index 5664622..3b40f86 100644
--- a/shaders/modules/edit-child-shader-sk/edit-child-shader-sk.scss
+++ b/shaders/modules/edit-child-shader-sk/edit-child-shader-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../themes/themes.scss';
 
 edit-child-shader-sk {
diff --git a/shaders/modules/edit-child-shader-sk/edit-child-shader-sk.ts b/shaders/modules/edit-child-shader-sk/edit-child-shader-sk.ts
index 83b23d1..5ca0580 100644
--- a/shaders/modules/edit-child-shader-sk/edit-child-shader-sk.ts
+++ b/shaders/modules/edit-child-shader-sk/edit-child-shader-sk.ts
@@ -6,13 +6,12 @@
  *
  * May be expanded in the future to also edit the ScrapHashOrName.
  */
-import { $$ } from 'common-sk/modules/dom';
-import { define } from 'elements-sk/define';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { ChildShader } from '../json';
 import { childShaderUniformNameRegex } from '../shadernode';
-import 'elements-sk/styles/buttons';
 
 const defaultChildShader: ChildShader = {
   UniformName: 'childShader',
diff --git a/shaders/modules/edit-child-shader-sk/edit-child-shader-sk_test.ts b/shaders/modules/edit-child-shader-sk/edit-child-shader-sk_test.ts
index 1c7c711..395920d 100644
--- a/shaders/modules/edit-child-shader-sk/edit-child-shader-sk_test.ts
+++ b/shaders/modules/edit-child-shader-sk/edit-child-shader-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 import { assert } from 'chai';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { EditChildShaderSk } from './edit-child-shader-sk';
 
 import { setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
diff --git a/shaders/modules/shadernode/BUILD.bazel b/shaders/modules/shadernode/BUILD.bazel
index 89679e4..a1147f0 100644
--- a/shaders/modules/shadernode/BUILD.bazel
+++ b/shaders/modules/shadernode/BUILD.bazel
@@ -24,10 +24,10 @@
     srcs = ["index.ts"],
     visibility = ["//visibility:public"],
     deps = [
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
         "//infra-sk/modules/uniform:uniform_ts_lib",
         "//shaders/modules/json:index_ts_lib",
         "//shaders/wasm_libs:canvaskit_types",  # keep
-        "@npm//common-sk",
-        "@npm//elements-sk",
     ],
 )
diff --git a/shaders/modules/shadernode/index.ts b/shaders/modules/shadernode/index.ts
index 4433515..2363070 100644
--- a/shaders/modules/shadernode/index.ts
+++ b/shaders/modules/shadernode/index.ts
@@ -6,8 +6,8 @@
  *    node.compile();
  *    const shader = node.getShader(predefinedUniformValues);
  */
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import type {
   CanvasKit,
   MallocObj,
diff --git a/shaders/modules/shaders-app-sk/BUILD.bazel b/shaders/modules/shaders-app-sk/BUILD.bazel
index 19cb99a..15160f4 100644
--- a/shaders/modules/shaders-app-sk/BUILD.bazel
+++ b/shaders/modules/shaders-app-sk/BUILD.bazel
@@ -21,6 +21,8 @@
         "@npm//:node_modules/codemirror/lib/codemirror.css",
         "@npm//:node_modules/codemirror/theme/ambiance.css",
         "@npm//:node_modules/codemirror/theme/base16-light.css",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules/styles:select_sass_lib",
     ],
     sass_srcs = ["shaders-app-sk.scss"],
     sk_element_deps = [
@@ -35,6 +37,10 @@
         "//infra-sk/modules/uniform-time-sk",
         "//shaders/modules/edit-child-shader-sk",
         "//infra-sk/modules/app-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/add-icon-sk",
+        "//elements-sk/modules/icons/delete-icon-sk",
+        "//elements-sk/modules/icons/edit-icon-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
@@ -44,9 +50,12 @@
         "//shaders/wasm_libs:canvaskit_types",  # keep
         "@npm//@types/codemirror",
         "@npm//codemirror",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:hintable_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/shaders/modules/shaders-app-sk/shaders-app-sk.scss b/shaders/modules/shaders-app-sk/shaders-app-sk.scss
index cf7984c..ae95e16 100644
--- a/shaders/modules/shaders-app-sk/shaders-app-sk.scss
+++ b/shaders/modules/shaders-app-sk/shaders-app-sk.scss
@@ -1,6 +1,8 @@
 @use 'node_modules/codemirror/lib/codemirror.css';
 @use 'node_modules/codemirror/theme/ambiance.css';
 @use 'node_modules/codemirror/theme/base16-light.css';
+@import '../../../elements-sk/modules/styles/select';
+@import '../../../elements-sk/modules/styles/buttons';
 
 @import '../themes/themes.scss';
 
diff --git a/shaders/modules/shaders-app-sk/shaders-app-sk.ts b/shaders/modules/shaders-app-sk/shaders-app-sk.ts
index 3de9663..c5b980a 100644
--- a/shaders/modules/shaders-app-sk/shaders-app-sk.ts
+++ b/shaders/modules/shaders-app-sk/shaders-app-sk.ts
@@ -4,15 +4,15 @@
  * @description <h2><code>shaders-app-sk</code></h2>
  *
  */
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import 'codemirror/mode/clike/clike'; // Syntax highlighting for c-like languages.
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
 import { unsafeHTML } from 'lit-html/directives/unsafe-html';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import CodeMirror from 'codemirror';
-import { stateReflector } from 'common-sk/modules/stateReflector';
-import { HintableObject } from 'common-sk/modules/hintable';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
+import { HintableObject } from '../../../infra-sk/modules/hintable';
 import type {
   Canvas,
   CanvasKit,
@@ -24,12 +24,10 @@
 from '../../wasm_libs/types/canvaskit'; // gazelle:ignore
 import { isDarkMode } from '../../../infra-sk/modules/theme-chooser-sk/theme-chooser-sk';
 
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/styles/buttons';
-import 'elements-sk/styles/select';
-import 'elements-sk/icon/edit-icon-sk';
-import 'elements-sk/icon/add-icon-sk';
-import 'elements-sk/icon/delete-icon-sk';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/icons/edit-icon-sk';
+import '../../../elements-sk/modules/icons/add-icon-sk';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
 import '../../../infra-sk/modules/theme-chooser-sk';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import '../../../infra-sk/modules/app-sk';
diff --git a/skcq/modules/BUILD.bazel b/skcq/modules/BUILD.bazel
index 491bd5d..d6b3cc4 100644
--- a/skcq/modules/BUILD.bazel
+++ b/skcq/modules/BUILD.bazel
@@ -5,8 +5,8 @@
     srcs = ["skcq.ts"],
     visibility = ["//visibility:public"],
     deps = [
-        "@npm//common-sk",
-        "@npm//elements-sk",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
 )
 
diff --git a/skcq/modules/processing-table-sk/BUILD.bazel b/skcq/modules/processing-table-sk/BUILD.bazel
index 1d55e42..1bfd8ce 100644
--- a/skcq/modules/processing-table-sk/BUILD.bazel
+++ b/skcq/modules/processing-table-sk/BUILD.bazel
@@ -9,22 +9,27 @@
     name = "processing-table-sk",
     sass_deps = [
         "//skcq/modules:style_sass_lib",
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["processing-table-sk.scss"],
     sk_element_deps = [
         "//infra-sk/modules/app-sk",
         "//infra-sk/modules/login-sk",
         "//infra-sk/modules/theme-chooser-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/folder-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/icons/home-icon-sk",
+        "//elements-sk/modules/spinner-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//infra-sk/modules:string_ts_lib",
         "//skcq/modules/json:index_ts_lib",
         "//skcq/modules:skcq_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/skcq/modules/processing-table-sk/processing-table-sk.scss b/skcq/modules/processing-table-sk/processing-table-sk.scss
index 1726cc5..a926aec 100644
--- a/skcq/modules/processing-table-sk/processing-table-sk.scss
+++ b/skcq/modules/processing-table-sk/processing-table-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 @import '../style.scss';
 
 processing-table-sk {
diff --git a/skcq/modules/processing-table-sk/processing-table-sk.ts b/skcq/modules/processing-table-sk/processing-table-sk.ts
index d321cf9..482a0a8 100644
--- a/skcq/modules/processing-table-sk/processing-table-sk.ts
+++ b/skcq/modules/processing-table-sk/processing-table-sk.ts
@@ -6,16 +6,16 @@
  *                          changes else displays only CQ runs.
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
-import { diffDate } from 'common-sk/modules/human';
+import { diffDate } from '../../../infra-sk/modules/human';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/icon/folder-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/icon/home-icon-sk';
-import 'elements-sk/spinner-sk';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/icons/folder-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/icons/home-icon-sk';
+import '../../../elements-sk/modules/spinner-sk';
 
 import '../../../infra-sk/modules/app-sk';
 import '../../../infra-sk/modules/login-sk';
diff --git a/skcq/modules/skcq-scaffold-sk/BUILD.bazel b/skcq/modules/skcq-scaffold-sk/BUILD.bazel
index 4a0fdd7..14111b7 100644
--- a/skcq/modules/skcq-scaffold-sk/BUILD.bazel
+++ b/skcq/modules/skcq-scaffold-sk/BUILD.bazel
@@ -16,11 +16,16 @@
         "//infra-sk/modules/app-sk",
         "//infra-sk/modules/login-sk",
         "//infra-sk/modules/theme-chooser-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/folder-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/icons/home-icon-sk",
+        "//elements-sk/modules/spinner-sk",
     ],
     ts_deps = [
-        "@npm//elements-sk",
         "@npm//lit-html",
         "//infra-sk/modules/ElementSk:index_ts_lib",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/skcq/modules/skcq-scaffold-sk/skcq-scaffold-sk.ts b/skcq/modules/skcq-scaffold-sk/skcq-scaffold-sk.ts
index 8110bc2..4bb3046 100644
--- a/skcq/modules/skcq-scaffold-sk/skcq-scaffold-sk.ts
+++ b/skcq/modules/skcq-scaffold-sk/skcq-scaffold-sk.ts
@@ -11,15 +11,15 @@
  *
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/icon/folder-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/icon/home-icon-sk';
-import 'elements-sk/spinner-sk';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/icons/folder-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/icons/home-icon-sk';
+import '../../../elements-sk/modules/spinner-sk';
 
 import '../../../infra-sk/modules/app-sk';
 import '../../../infra-sk/modules/login-sk';
diff --git a/skcq/modules/skcq-sk/BUILD.bazel b/skcq/modules/skcq-sk/BUILD.bazel
index 73feec9..8b1c84a 100644
--- a/skcq/modules/skcq-sk/BUILD.bazel
+++ b/skcq/modules/skcq-sk/BUILD.bazel
@@ -9,7 +9,7 @@
     name = "skcq-sk",
     sass_deps = [
         "//skcq/modules:style_sass_lib",
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["skcq-sk.scss"],
     sk_element_deps = [
@@ -17,11 +17,16 @@
         "//infra-sk/modules/login-sk",
         "//infra-sk/modules/theme-chooser-sk",
         "//skcq/modules/processing-table-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/folder-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/icons/home-icon-sk",
+        "//elements-sk/modules/spinner-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/skcq/modules/skcq-sk/skcq-sk.scss b/skcq/modules/skcq-sk/skcq-sk.scss
index e758a7b..6a13fa6 100644
--- a/skcq/modules/skcq-sk/skcq-sk.scss
+++ b/skcq/modules/skcq-sk/skcq-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 @import '../style.scss';
 
 skcq-sk {
diff --git a/skcq/modules/skcq-sk/skcq-sk.ts b/skcq/modules/skcq-sk/skcq-sk.ts
index de93c1e..1c25172 100644
--- a/skcq/modules/skcq-sk/skcq-sk.ts
+++ b/skcq/modules/skcq-sk/skcq-sk.ts
@@ -4,15 +4,15 @@
  *
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/icon/folder-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/icon/home-icon-sk';
-import 'elements-sk/spinner-sk';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/icons/folder-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/icons/home-icon-sk';
+import '../../../elements-sk/modules/spinner-sk';
 
 import '../../../infra-sk/modules/app-sk';
 import '../../../infra-sk/modules/login-sk';
diff --git a/skcq/modules/skcq.ts b/skcq/modules/skcq.ts
index d0bbdff..befae89 100644
--- a/skcq/modules/skcq.ts
+++ b/skcq/modules/skcq.ts
@@ -1,6 +1,6 @@
 // Functions used by more than one element.
-import { errorMessage } from 'elements-sk/errorMessage';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { errorMessage } from '../../elements-sk/modules/errorMessage';
+import { jsonOrThrow } from '../../infra-sk/modules/jsonOrThrow';
 
 /**
  * Does a POST to the specified URL with the specified content.
diff --git a/skcq/modules/verifiers-detail-sk/BUILD.bazel b/skcq/modules/verifiers-detail-sk/BUILD.bazel
index 4903c46..516fbeb 100644
--- a/skcq/modules/verifiers-detail-sk/BUILD.bazel
+++ b/skcq/modules/verifiers-detail-sk/BUILD.bazel
@@ -16,15 +16,21 @@
         "//infra-sk/modules/app-sk",
         "//infra-sk/modules/login-sk",
         "//infra-sk/modules/theme-chooser-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/folder-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/icons/home-icon-sk",
+        "//elements-sk/modules/spinner-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//infra-sk/modules:linkify_ts_lib",
         "//skcq/modules/json:index_ts_lib",
         "//skcq/modules:skcq_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:upgradeproperty_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/skcq/modules/verifiers-detail-sk/verifiers-detail-sk.ts b/skcq/modules/verifiers-detail-sk/verifiers-detail-sk.ts
index 809988d..ff0537b 100644
--- a/skcq/modules/verifiers-detail-sk/verifiers-detail-sk.ts
+++ b/skcq/modules/verifiers-detail-sk/verifiers-detail-sk.ts
@@ -11,17 +11,17 @@
  *
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
-import { upgradeProperty } from 'elements-sk/upgradeProperty';
-import { diffDate } from 'common-sk/modules/human';
+import { upgradeProperty } from '../../../elements-sk/modules/upgradeProperty';
+import { diffDate } from '../../../infra-sk/modules/human';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/icon/folder-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/icon/home-icon-sk';
-import 'elements-sk/spinner-sk';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/icons/folder-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/icons/home-icon-sk';
+import '../../../elements-sk/modules/spinner-sk';
 
 import '../../../infra-sk/modules/app-sk';
 import '../../../infra-sk/modules/login-sk';
diff --git a/skottie/modules/skottie-audio-sk/BUILD.bazel b/skottie/modules/skottie-audio-sk/BUILD.bazel
index 953cfd4..3261d4a 100644
--- a/skottie/modules/skottie-audio-sk/BUILD.bazel
+++ b/skottie/modules/skottie-audio-sk/BUILD.bazel
@@ -7,9 +7,9 @@
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//skottie/modules:types_ts_lib",
         "@npm//@types/howler",
-        "@npm//elements-sk",
         "@npm//howler",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/skottie/modules/skottie-audio-sk/skottie-audio-sk.ts b/skottie/modules/skottie-audio-sk/skottie-audio-sk.ts
index 5eadad3..4ea20d5 100644
--- a/skottie/modules/skottie-audio-sk/skottie-audio-sk.ts
+++ b/skottie/modules/skottie-audio-sk/skottie-audio-sk.ts
@@ -29,7 +29,7 @@
  *
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { Howl } from 'howler';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
diff --git a/skottie/modules/skottie-config-sk/BUILD.bazel b/skottie/modules/skottie-config-sk/BUILD.bazel
index fa0e089..8087690 100644
--- a/skottie/modules/skottie-config-sk/BUILD.bazel
+++ b/skottie/modules/skottie-config-sk/BUILD.bazel
@@ -8,16 +8,18 @@
 sk_element(
     name = "skottie-config-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["skottie-config-sk.scss"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//skottie/modules:audio_ts_lib",
         "//skottie/modules:types_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -30,6 +32,6 @@
     name = "skottie-config-sk-demo",
     html_file = "skottie-config-sk-demo.html",
     sk_element_deps = [":skottie-config-sk"],
-    ts_deps = ["@npm//common-sk"],
+    ts_deps = ["//infra-sk/modules:dom_ts_lib"],
     ts_entry_point = "skottie-config-sk-demo.ts",
 )
diff --git a/skottie/modules/skottie-config-sk/skottie-config-sk-demo.ts b/skottie/modules/skottie-config-sk/skottie-config-sk-demo.ts
index 8cb7791..c4f2649 100644
--- a/skottie/modules/skottie-config-sk/skottie-config-sk-demo.ts
+++ b/skottie/modules/skottie-config-sk/skottie-config-sk-demo.ts
@@ -1,5 +1,5 @@
 import './index';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { SkottieConfigSk } from './skottie-config-sk';
 
 (function() {
diff --git a/skottie/modules/skottie-config-sk/skottie-config-sk.scss b/skottie/modules/skottie-config-sk/skottie-config-sk.scss
index 72b4c79..ceca887 100644
--- a/skottie/modules/skottie-config-sk/skottie-config-sk.scss
+++ b/skottie/modules/skottie-config-sk/skottie-config-sk.scss
@@ -1,4 +1,5 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/styles/buttons';
+@import '../../../elements-sk/modules/colors';
 
 skottie-config-sk {
   display: inline-block;
diff --git a/skottie/modules/skottie-config-sk/skottie-config-sk.ts b/skottie/modules/skottie-config-sk/skottie-config-sk.ts
index a13e5f1..b1a9971 100644
--- a/skottie/modules/skottie-config-sk/skottie-config-sk.ts
+++ b/skottie/modules/skottie-config-sk/skottie-config-sk.ts
@@ -25,11 +25,10 @@
  * @evt cancelled - This event is generated when the user presses Cancel.
  *
  */
-import 'elements-sk/styles/buttons';
-import { define } from 'elements-sk/define';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { define } from '../../../elements-sk/modules/define';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html } from 'lit-html';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { SoundMap } from '../audio';
 import { LottieAnimation } from '../types';
diff --git a/skottie/modules/skottie-drive-sk/BUILD.bazel b/skottie/modules/skottie-drive-sk/BUILD.bazel
index 8f903fb..ca956a5 100644
--- a/skottie/modules/skottie-drive-sk/BUILD.bazel
+++ b/skottie/modules/skottie-drive-sk/BUILD.bazel
@@ -3,20 +3,22 @@
 sk_element(
     name = "skottie-drive-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["skottie-drive-sk.scss"],
     sk_element_deps = [
         "//skottie/modules/skottie-player-sk",
         "//infra-sk/modules/app-sk",
         "//infra-sk/modules/theme-chooser-sk",
+        "//elements-sk/modules/error-toast-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//skottie/modules:types_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/skottie/modules/skottie-drive-sk/skottie-drive-sk.scss b/skottie/modules/skottie-drive-sk/skottie-drive-sk.scss
index f9777ae..c06a38d 100644
--- a/skottie/modules/skottie-drive-sk/skottie-drive-sk.scss
+++ b/skottie/modules/skottie-drive-sk/skottie-drive-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 
 skottie-drive-sk {
   display: block;
diff --git a/skottie/modules/skottie-drive-sk/skottie-drive-sk.ts b/skottie/modules/skottie-drive-sk/skottie-drive-sk.ts
index a666a75..428a959 100644
--- a/skottie/modules/skottie-drive-sk/skottie-drive-sk.ts
+++ b/skottie/modules/skottie-drive-sk/skottie-drive-sk.ts
@@ -25,10 +25,10 @@
  *
  */
 import '../skottie-player-sk';
-import 'elements-sk/error-toast-sk';
-import { $$ } from 'common-sk/modules/dom';
-import { define } from 'elements-sk/define';
-import { errorMessage } from 'elements-sk/errorMessage';
+import '../../../elements-sk/modules/error-toast-sk';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html } from 'lit-html';
 import { until } from 'lit-html/directives/until.js';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
diff --git a/skottie/modules/skottie-embed-sk/BUILD.bazel b/skottie/modules/skottie-embed-sk/BUILD.bazel
index 6ef8658..b08ed82 100644
--- a/skottie/modules/skottie-embed-sk/BUILD.bazel
+++ b/skottie/modules/skottie-embed-sk/BUILD.bazel
@@ -11,9 +11,11 @@
     sk_element_deps = ["//skottie/modules/skottie-player-sk"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:hintable_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/skottie/modules/skottie-embed-sk/skottie-embed-sk.ts b/skottie/modules/skottie-embed-sk/skottie-embed-sk.ts
index a5795c4..25b3015 100644
--- a/skottie/modules/skottie-embed-sk/skottie-embed-sk.ts
+++ b/skottie/modules/skottie-embed-sk/skottie-embed-sk.ts
@@ -16,11 +16,11 @@
  *  </iframe>
  */
 import '../skottie-player-sk';
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { stateReflector } from 'common-sk/modules/stateReflector';
-import { HintableObject } from 'common-sk/modules/hintable';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
+import { HintableObject } from '../../../infra-sk/modules/hintable';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { SkottiePlayerSk } from '../skottie-player-sk/skottie-player-sk';
 
diff --git a/skottie/modules/skottie-gif-exporter-sk/BUILD.bazel b/skottie/modules/skottie-gif-exporter-sk/BUILD.bazel
index b6198c3..252fc99 100644
--- a/skottie/modules/skottie-gif-exporter-sk/BUILD.bazel
+++ b/skottie/modules/skottie-gif-exporter-sk/BUILD.bazel
@@ -3,13 +3,16 @@
 sk_element(
     name = "skottie-gif-exporter-sk",
     sass_srcs = ["skottie-gif-exporter-sk.scss"],
-    sk_element_deps = ["//skottie/modules/skottie-player-sk"],
+    sk_element_deps = [
+        "//skottie/modules/skottie-player-sk",
+        "//elements-sk/modules/select-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//skottie/modules/helpers:gifstorage_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/skottie/modules/skottie-gif-exporter-sk/skottie-gif-exporter-sk.ts b/skottie/modules/skottie-gif-exporter-sk/skottie-gif-exporter-sk.ts
index b98a59e..85f496f 100644
--- a/skottie/modules/skottie-gif-exporter-sk/skottie-gif-exporter-sk.ts
+++ b/skottie/modules/skottie-gif-exporter-sk/skottie-gif-exporter-sk.ts
@@ -9,11 +9,11 @@
  * @evt start - This event is generated when the saving process starts.
  *
  */
-import { define } from 'elements-sk/define';
-import 'elements-sk/select-sk';
+import { define } from '../../../elements-sk/modules/define';
+import '../../../elements-sk/modules/select-sk';
 import { html } from 'lit-html';
-import { bytes, diffDate } from 'common-sk/modules/human';
-import { SelectSkSelectionChangedEventDetail } from 'elements-sk/select-sk/select-sk';
+import { bytes, diffDate } from '../../../infra-sk/modules/human';
+import { SelectSkSelectionChangedEventDetail } from '../../../elements-sk/modules/select-sk/select-sk';
 import gifStorage from '../helpers/gifStorage';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { SkottiePlayerSk } from '../skottie-player-sk/skottie-player-sk';
diff --git a/skottie/modules/skottie-inline-sk/BUILD.bazel b/skottie/modules/skottie-inline-sk/BUILD.bazel
index c591680..646f568 100644
--- a/skottie/modules/skottie-inline-sk/BUILD.bazel
+++ b/skottie/modules/skottie-inline-sk/BUILD.bazel
@@ -11,9 +11,9 @@
     sk_element_deps = ["//skottie/modules/skottie-player-sk"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/skottie/modules/skottie-inline-sk/skottie-inline-sk.ts b/skottie/modules/skottie-inline-sk/skottie-inline-sk.ts
index 2b40ca7..32b45ba 100644
--- a/skottie/modules/skottie-inline-sk/skottie-inline-sk.ts
+++ b/skottie/modules/skottie-inline-sk/skottie-inline-sk.ts
@@ -23,8 +23,8 @@
  *  </skottie-inline-sk>
  */
 import '../skottie-player-sk';
-import { define } from 'elements-sk/define';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { define } from '../../../elements-sk/modules/define';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { SkottiePlayerSk } from '../skottie-player-sk/skottie-player-sk';
diff --git a/skottie/modules/skottie-library-sk/BUILD.bazel b/skottie/modules/skottie-library-sk/BUILD.bazel
index e6e026f..e40226d 100644
--- a/skottie/modules/skottie-library-sk/BUILD.bazel
+++ b/skottie/modules/skottie-library-sk/BUILD.bazel
@@ -8,10 +8,10 @@
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//skottie/modules/skottie-text-editor-sk:text-replace_ts_lib",
         "//skottie/modules:types_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//jszip",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/skottie/modules/skottie-library-sk/skottie-library-sk.ts b/skottie/modules/skottie-library-sk/skottie-library-sk.ts
index 5f9d8fb..e561e00 100644
--- a/skottie/modules/skottie-library-sk/skottie-library-sk.ts
+++ b/skottie/modules/skottie-library-sk/skottie-library-sk.ts
@@ -16,8 +16,8 @@
  *
  */
 import '../skottie-player-sk';
-import { $$ } from 'common-sk/modules/dom';
-import { define } from 'elements-sk/define';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import JSZip, { JSZipObject } from 'jszip';
 import { replaceTextsByLayerName, TextData } from '../skottie-text-editor-sk/text-replace';
diff --git a/skottie/modules/skottie-performance-sk/BUILD.bazel b/skottie/modules/skottie-performance-sk/BUILD.bazel
index 8d86f06..5331b73 100644
--- a/skottie/modules/skottie-performance-sk/BUILD.bazel
+++ b/skottie/modules/skottie-performance-sk/BUILD.bazel
@@ -6,9 +6,9 @@
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "@npm//chart.js",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/skottie/modules/skottie-performance-sk/skottie-performance-sk.ts b/skottie/modules/skottie-performance-sk/skottie-performance-sk.ts
index aefd75f..e32cf37 100644
--- a/skottie/modules/skottie-performance-sk/skottie-performance-sk.ts
+++ b/skottie/modules/skottie-performance-sk/skottie-performance-sk.ts
@@ -10,9 +10,9 @@
  *
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import {
   Chart,
   BarController,
diff --git a/skottie/modules/skottie-player-sk/BUILD.bazel b/skottie/modules/skottie-player-sk/BUILD.bazel
index 86d8a7a..77ab8d3 100644
--- a/skottie/modules/skottie-player-sk/BUILD.bazel
+++ b/skottie/modules/skottie-player-sk/BUILD.bazel
@@ -3,16 +3,22 @@
 sk_element(
     name = "skottie-player-sk",
     sass_deps = [
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["skottie-player-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/icons/pause-icon-sk",
+        "//elements-sk/modules/icons/play-arrow-icon-sk",
+        "//elements-sk/modules/icons/settings-icon-sk",
+        "//elements-sk/modules/spinner-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//skottie/modules:types_ts_lib",
         "@npm//canvaskit-wasm",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/skottie/modules/skottie-player-sk/skottie-player-sk.scss b/skottie/modules/skottie-player-sk/skottie-player-sk.scss
index 4366586..d199928 100644
--- a/skottie/modules/skottie-player-sk/skottie-player-sk.scss
+++ b/skottie/modules/skottie-player-sk/skottie-player-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 
 skottie-player-sk {
   display: inline-block;
diff --git a/skottie/modules/skottie-player-sk/skottie-player-sk.ts b/skottie/modules/skottie-player-sk/skottie-player-sk.ts
index 5b33dbd..81b10d5 100644
--- a/skottie/modules/skottie-player-sk/skottie-player-sk.ts
+++ b/skottie/modules/skottie-player-sk/skottie-player-sk.ts
@@ -7,12 +7,12 @@
  * </p>
  *
  */
-import { $$ } from 'common-sk/modules/dom';
-import 'elements-sk/icon/pause-icon-sk';
-import 'elements-sk/icon/play-arrow-icon-sk';
-import 'elements-sk/icon/settings-icon-sk';
-import 'elements-sk/spinner-sk';
-import { define } from 'elements-sk/define';
+import { $$ } from '../../../infra-sk/modules/dom';
+import '../../../elements-sk/modules/icons/pause-icon-sk';
+import '../../../elements-sk/modules/icons/play-arrow-icon-sk';
+import '../../../elements-sk/modules/icons/settings-icon-sk';
+import '../../../elements-sk/modules/spinner-sk';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
 import { repeat } from 'lit-html/directives/repeat';
 import {
diff --git a/skottie/modules/skottie-shader-editor-sk/BUILD.bazel b/skottie/modules/skottie-shader-editor-sk/BUILD.bazel
index 2da812b..771ffb9 100644
--- a/skottie/modules/skottie-shader-editor-sk/BUILD.bazel
+++ b/skottie/modules/skottie-shader-editor-sk/BUILD.bazel
@@ -10,8 +10,8 @@
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//skottie/modules:types_ts_lib",
         ":shader-replace_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/skottie/modules/skottie-shader-editor-sk/skottie-shader-editor-sk.ts b/skottie/modules/skottie-shader-editor-sk/skottie-shader-editor-sk.ts
index aa18cb1..4778146 100644
--- a/skottie/modules/skottie-shader-editor-sk/skottie-shader-editor-sk.ts
+++ b/skottie/modules/skottie-shader-editor-sk/skottie-shader-editor-sk.ts
@@ -17,7 +17,7 @@
  *              Supported values are default and presentation
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ShaderData } from './shader-replace';
 import {
diff --git a/skottie/modules/skottie-sk/BUILD.bazel b/skottie/modules/skottie-sk/BUILD.bazel
index 1b78bd5..71487b5 100644
--- a/skottie/modules/skottie-sk/BUILD.bazel
+++ b/skottie/modules/skottie-sk/BUILD.bazel
@@ -40,6 +40,9 @@
         "//skottie/modules/skottie-text-editor-sk",
         "//infra-sk/modules/app-sk",
         "//infra-sk/modules/theme-chooser-sk",
+        "//elements-sk/modules/checkbox-sk",
+        "//elements-sk/modules/collapse-sk",
+        "//elements-sk/modules/error-toast-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
@@ -49,12 +52,15 @@
         "//skottie/modules:audio_ts_lib",
         "//skottie/modules:types_ts_lib",
         "@npm//@types/jsoneditor",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//jsoneditor",
         "@npm//lit-html",
         "@npm//lottie-web",
         "//skottie/modules/skottie-shader-editor-sk:shader-replace_ts_lib",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -70,8 +76,8 @@
     sk_element_deps = [":skottie-sk"],
     ts_deps = [
         ":test_gear_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "skottie-sk-demo.ts",
 )
diff --git a/skottie/modules/skottie-sk/skottie-sk-demo.ts b/skottie/modules/skottie-sk/skottie-sk-demo.ts
index becc45b..73a6a11 100644
--- a/skottie/modules/skottie-sk/skottie-sk-demo.ts
+++ b/skottie/modules/skottie-sk/skottie-sk-demo.ts
@@ -1,7 +1,7 @@
 import './index';
 
 import fetchMock from 'fetch-mock';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { gear, withText } from './test_gear';
 import { SkottieSk } from './skottie-sk';
 
diff --git a/skottie/modules/skottie-sk/skottie-sk.ts b/skottie/modules/skottie-sk/skottie-sk.ts
index 7e389b6..2b31b0e 100644
--- a/skottie/modules/skottie-sk/skottie-sk.ts
+++ b/skottie/modules/skottie-sk/skottie-sk.ts
@@ -9,18 +9,18 @@
  */
 import '../skottie-config-sk';
 import '../skottie-player-sk';
-import 'elements-sk/checkbox-sk';
-import 'elements-sk/collapse-sk';
-import 'elements-sk/error-toast-sk';
-import { $$ } from 'common-sk/modules/dom';
-import { errorMessage } from 'elements-sk/errorMessage';
-import { define } from 'elements-sk/define';
+import '../../../elements-sk/modules/checkbox-sk';
+import '../../../elements-sk/modules/collapse-sk';
+import '../../../elements-sk/modules/error-toast-sk';
+import { $$ } from '../../../infra-sk/modules/dom';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { stateReflector } from 'common-sk/modules/stateReflector';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
 import JSONEditor from 'jsoneditor';
 import LottiePlayer from 'lottie-web';
-import { CollapseSk } from 'elements-sk/collapse-sk/collapse-sk';
+import { CollapseSk } from '../../../elements-sk/modules/collapse-sk/collapse-sk';
 import { SkottieGifExporterSk } from '../skottie-gif-exporter-sk/skottie-gif-exporter-sk';
 import '../skottie-gif-exporter-sk';
 import '../skottie-text-editor-sk';
diff --git a/skottie/modules/skottie-text-editor-sk/BUILD.bazel b/skottie/modules/skottie-text-editor-sk/BUILD.bazel
index 3ed36d7..d9f7a74 100644
--- a/skottie/modules/skottie-text-editor-sk/BUILD.bazel
+++ b/skottie/modules/skottie-text-editor-sk/BUILD.bazel
@@ -10,8 +10,8 @@
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//skottie/modules:types_ts_lib",
         ":text-replace_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/skottie/modules/skottie-text-editor-sk/skottie-text-editor-sk.ts b/skottie/modules/skottie-text-editor-sk/skottie-text-editor-sk.ts
index a5b8a1d..26f4c99 100644
--- a/skottie/modules/skottie-text-editor-sk/skottie-text-editor-sk.ts
+++ b/skottie/modules/skottie-text-editor-sk/skottie-text-editor-sk.ts
@@ -17,7 +17,7 @@
  *         Supported values are default and presentation
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ifDefined } from 'lit-html/directives/if-defined';
 import { ExtraLayerData, TextData } from './text-replace';
diff --git a/status/modules/BUILD.bazel b/status/modules/BUILD.bazel
index 43a1f0d..78ebf3c 100644
--- a/status/modules/BUILD.bazel
+++ b/status/modules/BUILD.bazel
@@ -11,9 +11,9 @@
     srcs = ["styles.scss"],
     visibility = ["//visibility:public"],
     deps = [
+        "//elements-sk/modules/themes:color-palette_sass_lib",
+        "//elements-sk/modules/themes:themes_sass_lib",
         "//infra-sk:themes_sass_lib",
-        "@npm//:node_modules/elements-sk/themes/color-palette.scss",
-        "@npm//:node_modules/elements-sk/themes/themes.scss",
     ],
 )
 
diff --git a/status/modules/autoroller-status-sk/BUILD.bazel b/status/modules/autoroller-status-sk/BUILD.bazel
index fca86c7..269fe37 100644
--- a/status/modules/autoroller-status-sk/BUILD.bazel
+++ b/status/modules/autoroller-status-sk/BUILD.bazel
@@ -9,8 +9,8 @@
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//status/modules/rpc:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "autoroller-status-sk.ts",
@@ -46,11 +46,11 @@
     src = "autoroller-status-sk_test.ts",
     deps = [
         ":autoroller-status-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "//status/modules/rpc-mock:index_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
 
diff --git a/status/modules/autoroller-status-sk/autoroller-status-sk.ts b/status/modules/autoroller-status-sk/autoroller-status-sk.ts
index 45047a8..158f5e8 100644
--- a/status/modules/autoroller-status-sk/autoroller-status-sk.ts
+++ b/status/modules/autoroller-status-sk/autoroller-status-sk.ts
@@ -7,7 +7,7 @@
  * @event rollers-update: Periodic event for updated roller status. Detail
  * is of type Array<AutorollerStatus>
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { StatusService, GetStatusService, AutorollerStatus } from '../rpc';
diff --git a/status/modules/autoroller-status-sk/autoroller-status-sk_test.ts b/status/modules/autoroller-status-sk/autoroller-status-sk_test.ts
index 9cc9730..56b0269 100644
--- a/status/modules/autoroller-status-sk/autoroller-status-sk_test.ts
+++ b/status/modules/autoroller-status-sk/autoroller-status-sk_test.ts
@@ -1,5 +1,5 @@
 import './index';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import { expect } from 'chai';
 import { AutorollerStatusSk } from './autoroller-status-sk';
 
diff --git a/status/modules/branches-sk/BUILD.bazel b/status/modules/branches-sk/BUILD.bazel
index f52600c..01fa323 100644
--- a/status/modules/branches-sk/BUILD.bazel
+++ b/status/modules/branches-sk/BUILD.bazel
@@ -10,10 +10,10 @@
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//infra-sk/modules:string_ts_lib",
         "//status/modules/rpc:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "//status/modules:util_ts_lib",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "branches-sk.ts",
diff --git a/status/modules/branches-sk/branches-sk.ts b/status/modules/branches-sk/branches-sk.ts
index eec280b..8668dbc 100644
--- a/status/modules/branches-sk/branches-sk.ts
+++ b/status/modules/branches-sk/branches-sk.ts
@@ -4,8 +4,8 @@
  *
  *  Custom element for displaying branches.
  */
-import { define } from 'elements-sk/define';
-import { $$ } from 'common-sk/modules/dom';
+import { define } from '../../../elements-sk/modules/define';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { truncate } from '../../../infra-sk/modules/string';
diff --git a/status/modules/bugs-status-sk/BUILD.bazel b/status/modules/bugs-status-sk/BUILD.bazel
index df5a16e..cf96d7a 100644
--- a/status/modules/bugs-status-sk/BUILD.bazel
+++ b/status/modules/bugs-status-sk/BUILD.bazel
@@ -9,9 +9,10 @@
     ts_deps = [
         "//bugs-central/modules/json:index_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "bugs-status-sk.ts",
@@ -51,10 +52,10 @@
     deps = [
         ":bugs-status-sk",
         "//bugs-central/modules/json:index_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/status/modules/bugs-status-sk/bugs-status-sk.ts b/status/modules/bugs-status-sk/bugs-status-sk.ts
index fb93622..581054a 100644
--- a/status/modules/bugs-status-sk/bugs-status-sk.ts
+++ b/status/modules/bugs-status-sk/bugs-status-sk.ts
@@ -4,10 +4,10 @@
  *
  * Custom element to display untriaged Skia bugs.
  */
-import { define } from 'elements-sk/define';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { define } from '../../../elements-sk/modules/define';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html, TemplateResult } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { GetClientCountsResponse } from '../../../bugs-central/modules/json';
 
diff --git a/status/modules/bugs-status-sk/bugs-status-sk_test.ts b/status/modules/bugs-status-sk/bugs-status-sk_test.ts
index 3a8de08..a577f7e 100644
--- a/status/modules/bugs-status-sk/bugs-status-sk_test.ts
+++ b/status/modules/bugs-status-sk/bugs-status-sk_test.ts
@@ -1,7 +1,7 @@
 import './index';
 import { expect } from 'chai';
 import fetchMock from 'fetch-mock';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import { BugsStatusSk } from './bugs-status-sk';
 import { GetClientCountsResponse, StatusData } from '../../../bugs-central/modules/json';
 
diff --git a/status/modules/capacity-sk/BUILD.bazel b/status/modules/capacity-sk/BUILD.bazel
index a26a493..e0bb014 100644
--- a/status/modules/capacity-sk/BUILD.bazel
+++ b/status/modules/capacity-sk/BUILD.bazel
@@ -11,13 +11,22 @@
         "//infra-sk/modules/app-sk",
         "//infra-sk/modules/login-sk",
         "//infra-sk/modules/theme-chooser-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/arrow-drop-down-icon-sk",
+        "//elements-sk/modules/icons/arrow-drop-up-icon-sk",
+        "//elements-sk/modules/icons/battery-charging-80-icon-sk",
+        "//elements-sk/modules/icons/dashboard-icon-sk",
+        "//elements-sk/modules/icons/devices-icon-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//status/modules/rpc:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:hintable_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "capacity-sk.ts",
diff --git a/status/modules/capacity-sk/capacity-sk.ts b/status/modules/capacity-sk/capacity-sk.ts
index f815056..4f526e4 100644
--- a/status/modules/capacity-sk/capacity-sk.ts
+++ b/status/modules/capacity-sk/capacity-sk.ts
@@ -9,22 +9,22 @@
  *
  * @example
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import '../../../infra-sk/modules/theme-chooser-sk';
 import '../../../infra-sk/modules/app-sk';
 import '../../../infra-sk/modules/login-sk';
 import '../../../ct/modules/input-sk';
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/icon/battery-charging-80-icon-sk';
-import 'elements-sk/icon/dashboard-icon-sk';
-import 'elements-sk/icon/devices-icon-sk';
-import 'elements-sk/icon/arrow-drop-down-icon-sk';
-import 'elements-sk/icon/arrow-drop-up-icon-sk';
-import { errorMessage } from 'elements-sk/errorMessage';
-import { $$, DomReady } from 'common-sk/modules/dom';
-import { stateReflector } from 'common-sk/modules/stateReflector';
-import { HintableObject } from 'common-sk/modules/hintable';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/icons/battery-charging-80-icon-sk';
+import '../../../elements-sk/modules/icons/dashboard-icon-sk';
+import '../../../elements-sk/modules/icons/devices-icon-sk';
+import '../../../elements-sk/modules/icons/arrow-drop-down-icon-sk';
+import '../../../elements-sk/modules/icons/arrow-drop-up-icon-sk';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
+import { $$, DomReady } from '../../../infra-sk/modules/dom';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
+import { HintableObject } from '../../../infra-sk/modules/hintable';
 import {
   StatusService, GetStatusService, BotSet, BotSet_DimensionsEntry,
 } from '../rpc';
diff --git a/status/modules/comments-sk/BUILD.bazel b/status/modules/comments-sk/BUILD.bazel
index 8a85ab6..440ebe6 100644
--- a/status/modules/comments-sk/BUILD.bazel
+++ b/status/modules/comments-sk/BUILD.bazel
@@ -2,18 +2,24 @@
 
 sk_element(
     name = "comments-sk",
+    sass_deps = ["//elements-sk/modules/styles:buttons_sass_lib"],
     sass_srcs = ["comments-sk.scss"],
     sk_element_deps = [
         "//ct/modules/input-sk",
         "//infra-sk/modules/human-date-sk",
+        "//elements-sk/modules/checkbox-sk",
+        "//elements-sk/modules/icons/check-box-icon-sk",
+        "//elements-sk/modules/icons/check-box-outline-blank-icon-sk",
+        "//elements-sk/modules/icons/delete-icon-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//infra-sk/modules:linkify_ts_lib",
         "//status/modules/rpc:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "comments-sk.ts",
@@ -29,7 +35,7 @@
     ts_deps = [
         "//status/modules/rpc-mock:index_ts_lib",
         ":test_data_ts_lib",
-        "@npm//common-sk",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "comments-sk-demo.ts",
 )
@@ -51,11 +57,11 @@
     deps = [
         ":comments-sk",
         ":test_data_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "//status/modules/rpc-mock:index_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
 
diff --git a/status/modules/comments-sk/comments-sk-demo.ts b/status/modules/comments-sk/comments-sk-demo.ts
index 5d62e0c..74017a0 100644
--- a/status/modules/comments-sk/comments-sk-demo.ts
+++ b/status/modules/comments-sk/comments-sk-demo.ts
@@ -1,4 +1,4 @@
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { SetupMocks } from '../rpc-mock';
 import { CommentsSk } from './comments-sk';
 import './index';
diff --git a/status/modules/comments-sk/comments-sk.scss b/status/modules/comments-sk/comments-sk.scss
index 2009916..eb94022 100644
--- a/status/modules/comments-sk/comments-sk.scss
+++ b/status/modules/comments-sk/comments-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 comments-sk {
   table {
     width: 100%;
diff --git a/status/modules/comments-sk/comments-sk.ts b/status/modules/comments-sk/comments-sk.ts
index c9f49e6..abfb074 100644
--- a/status/modules/comments-sk/comments-sk.ts
+++ b/status/modules/comments-sk/comments-sk.ts
@@ -15,10 +15,10 @@
  * @property showIgnoreFailure: boolean - Display ignoreFailure field of comments.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
-import { errorMessage } from 'elements-sk/errorMessage';
-import { $$ } from 'common-sk/modules/dom';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import {
   AddCommentRequest, Comment, GetStatusService, StatusService,
@@ -27,11 +27,10 @@
 
 import '../../../ct/modules/input-sk';
 import '../../../infra-sk/modules/human-date-sk';
-import 'elements-sk/icon/check-box-icon-sk';
-import 'elements-sk/icon/check-box-outline-blank-icon-sk';
-import 'elements-sk/icon/delete-icon-sk';
-import 'elements-sk/checkbox-sk';
-import 'elements-sk/styles/buttons';
+import '../../../elements-sk/modules/icons/check-box-icon-sk';
+import '../../../elements-sk/modules/icons/check-box-outline-blank-icon-sk';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
+import '../../../elements-sk/modules/checkbox-sk';
 
 // Helper class for parent to set comments to display, as well as metadata
 // about them and any comments added by the user.
diff --git a/status/modules/comments-sk/comments-sk_test.ts b/status/modules/comments-sk/comments-sk_test.ts
index 11a60d0..aa11286 100644
--- a/status/modules/comments-sk/comments-sk_test.ts
+++ b/status/modules/comments-sk/comments-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 import { expect } from 'chai';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import { CommentsSk } from './comments-sk';
 
 import { eventPromise, setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
diff --git a/status/modules/commits-table-sk/BUILD.bazel b/status/modules/commits-table-sk/BUILD.bazel
index e24abbb..4b97d8f 100644
--- a/status/modules/commits-table-sk/BUILD.bazel
+++ b/status/modules/commits-table-sk/BUILD.bazel
@@ -4,11 +4,23 @@
     name = "commits-table-sk",
     sass_deps = [
         "//status/modules:styles_sass_lib",
+        "//elements-sk/modules/styles:select_sass_lib",
     ],
     sass_srcs = ["commits-table-sk.scss"],
     sk_element_deps = [
         "//status/modules/branches-sk",
         "//status/modules/details-dialog-sk",
+        "//elements-sk/modules/icons/add-icon-sk",
+        "//elements-sk/modules/icons/autorenew-icon-sk",
+        "//elements-sk/modules/icons/block-icon-sk",
+        "//elements-sk/modules/icons/comment-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/icons/redo-icon-sk",
+        "//elements-sk/modules/icons/texture-icon-sk",
+        "//elements-sk/modules/icons/undo-icon-sk",
+        "//elements-sk/modules/radio-sk",
+        "//elements-sk/modules/select-sk",
+        "//elements-sk/modules/tabs-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
@@ -16,10 +28,14 @@
         "//status/modules/rpc:index_ts_lib",
         "//status/modules/rpc:status_ts_lib",
         "//status/modules:settings_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "//status/modules:util_ts_lib",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:hintable_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
+        "//infra-sk/modules:statereflector_ts_lib",
     ],
     ts_srcs = [
         "commits-table-sk.ts",
@@ -34,13 +50,13 @@
     sk_element_deps = [
         "//infra-sk/modules/theme-chooser-sk",
         ":commits-table-sk",
+        "//elements-sk/modules/error-toast-sk",
     ],
     ts_deps = [
         "//status/modules/rpc-mock:index_ts_lib",
         "//status/modules:settings_ts_lib",
         ":test_data_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "commits-table-sk-demo.ts",
 )
@@ -50,6 +66,7 @@
     src = "commits-table-sk_test.ts",
     deps = [
         ":commits-table-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "//status/modules:settings_ts_lib",
         "//status/modules/rpc:index_ts_lib",
@@ -57,7 +74,6 @@
         "//status/modules/rpc-mock:test_data_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
 
diff --git a/status/modules/commits-table-sk/commits-table-sk-demo.ts b/status/modules/commits-table-sk/commits-table-sk-demo.ts
index 9858cb9..31b7f60 100644
--- a/status/modules/commits-table-sk/commits-table-sk-demo.ts
+++ b/status/modules/commits-table-sk/commits-table-sk-demo.ts
@@ -1,7 +1,7 @@
 import './index';
 import '../../../infra-sk/modules/theme-chooser-sk';
-import 'elements-sk/error-toast-sk';
-import { $$ } from 'common-sk/modules/dom';
+import '../../../elements-sk/modules/error-toast-sk';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { mockIncrementalResponse, SetupMocks } from '../rpc-mock';
 import { SetTestSettings } from '../settings';
 import { sameTimestamp } from './test_data';
diff --git a/status/modules/commits-table-sk/commits-table-sk.scss b/status/modules/commits-table-sk/commits-table-sk.scss
index 3b9c489..fac1f1f 100644
--- a/status/modules/commits-table-sk/commits-table-sk.scss
+++ b/status/modules/commits-table-sk/commits-table-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/select';
 @import '../styles.scss';
 
 * {
diff --git a/status/modules/commits-table-sk/commits-table-sk.ts b/status/modules/commits-table-sk/commits-table-sk.ts
index a4d2204..f81415d 100644
--- a/status/modules/commits-table-sk/commits-table-sk.ts
+++ b/status/modules/commits-table-sk/commits-table-sk.ts
@@ -12,30 +12,29 @@
  * @event repo-changed - Occurs when user selects a repo. Event has {detail: '<new repo>'}
  */
 
-import { $, $$, DomReady } from 'common-sk/modules/dom';
-import { fromObject } from 'common-sk/modules/query';
-import { stateReflector } from 'common-sk/modules/stateReflector';
-import { HintableObject } from 'common-sk/modules/hintable';
-import { define } from 'elements-sk/define';
+import { $, $$, DomReady } from '../../../infra-sk/modules/dom';
+import { fromObject } from '../../../infra-sk/modules/query';
+import { stateReflector } from '../../../infra-sk/modules/stateReflector';
+import { HintableObject } from '../../../infra-sk/modules/hintable';
+import { define } from '../../../elements-sk/modules/define';
 import { html, TemplateResult } from 'lit-html';
 import { styleMap } from 'lit-html/directives/style-map';
 import { classMap } from 'lit-html/directives/class-map';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { Commit } from '../util';
 
-import 'elements-sk/radio-sk';
-import 'elements-sk/tabs-sk';
-import 'elements-sk/select-sk';
-import 'elements-sk/icon/add-icon-sk';
-import 'elements-sk/icon/autorenew-icon-sk';
-import 'elements-sk/icon/block-icon-sk';
-import 'elements-sk/icon/comment-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/icon/redo-icon-sk';
-import 'elements-sk/icon/texture-icon-sk';
-import 'elements-sk/icon/undo-icon-sk';
-import 'elements-sk/styles/select';
+import '../../../elements-sk/modules/radio-sk';
+import '../../../elements-sk/modules/tabs-sk';
+import '../../../elements-sk/modules/select-sk';
+import '../../../elements-sk/modules/icons/add-icon-sk';
+import '../../../elements-sk/modules/icons/autorenew-icon-sk';
+import '../../../elements-sk/modules/icons/block-icon-sk';
+import '../../../elements-sk/modules/icons/comment-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/icons/redo-icon-sk';
+import '../../../elements-sk/modules/icons/texture-icon-sk';
+import '../../../elements-sk/modules/icons/undo-icon-sk';
 import '../branches-sk';
 import '../details-dialog-sk';
 import {
diff --git a/status/modules/commits-table-sk/commits-table-sk_test.ts b/status/modules/commits-table-sk/commits-table-sk_test.ts
index 8cd6822..9f07ea8 100644
--- a/status/modules/commits-table-sk/commits-table-sk_test.ts
+++ b/status/modules/commits-table-sk/commits-table-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import { expect } from 'chai';
 import {
   setUpElementUnderTest,
diff --git a/status/modules/details-dialog-sk/BUILD.bazel b/status/modules/details-dialog-sk/BUILD.bazel
index a59d708..3bfbaf7 100644
--- a/status/modules/details-dialog-sk/BUILD.bazel
+++ b/status/modules/details-dialog-sk/BUILD.bazel
@@ -9,11 +9,15 @@
     name = "details-dialog-sk",
     sass_deps = [
         "//status/modules:styles_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
     ],
     sass_srcs = ["details-dialog-sk.scss"],
     sk_element_deps = [
         "//infra-sk/modules/task-driver-sk",
         "//status/modules/comments-sk",
+        "//elements-sk/modules/icons/close-icon-sk",
+        "//elements-sk/modules/icons/content-copy-icon-sk",
+        "//elements-sk/modules/icons/launch-icon-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
@@ -21,10 +25,12 @@
         "//infra-sk/modules:login_ts_lib",
         "//status/modules/rpc:index_ts_lib",
         "//status/modules:settings_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
         "//status/modules:util_ts_lib",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "details-dialog-sk.ts",
@@ -44,8 +50,8 @@
         "//infra-sk/modules/task-driver-sk:test_data_ts_lib",
         "//status/modules:settings_ts_lib",
         ":test_data_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "details-dialog-sk-demo.ts",
 )
@@ -67,12 +73,12 @@
     deps = [
         ":details-dialog-sk",
         ":test_data_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "//infra-sk/modules/task-driver-sk:test_data_ts_lib",
         "//status/modules:settings_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/status/modules/details-dialog-sk/details-dialog-sk-demo.ts b/status/modules/details-dialog-sk/details-dialog-sk-demo.ts
index a754f8e..f79fdd8 100644
--- a/status/modules/details-dialog-sk/details-dialog-sk-demo.ts
+++ b/status/modules/details-dialog-sk/details-dialog-sk-demo.ts
@@ -1,6 +1,6 @@
 import './index';
 import '../../../infra-sk/modules/theme-chooser-sk';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { DetailsDialogSk } from './details-dialog-sk';
 import {
diff --git a/status/modules/details-dialog-sk/details-dialog-sk.scss b/status/modules/details-dialog-sk/details-dialog-sk.scss
index e6b5a40..612015f 100644
--- a/status/modules/details-dialog-sk/details-dialog-sk.scss
+++ b/status/modules/details-dialog-sk/details-dialog-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../styles.scss';
 
 details-dialog-sk {
diff --git a/status/modules/details-dialog-sk/details-dialog-sk.ts b/status/modules/details-dialog-sk/details-dialog-sk.ts
index 1be8f41..6be21c0 100644
--- a/status/modules/details-dialog-sk/details-dialog-sk.ts
+++ b/status/modules/details-dialog-sk/details-dialog-sk.ts
@@ -5,12 +5,12 @@
  * @property repo {string} - The repo associated with the tasks/taskspecs/commits that will be
  * displayed.
  */
-import { define } from 'elements-sk/define';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { define } from '../../../elements-sk/modules/define';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html, TemplateResult } from 'lit-html';
 import { until } from 'lit-html/directives/until.js';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { $$ } from 'common-sk/modules/dom';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { Login } from '../../../infra-sk/modules/login';
 import { escapeAndLinkify } from '../../../infra-sk/modules/linkify';
@@ -22,10 +22,9 @@
 } from '../settings';
 
 import '../comments-sk';
-import 'elements-sk/styles/buttons';
-import 'elements-sk/icon/close-icon-sk';
-import 'elements-sk/icon/content-copy-icon-sk';
-import 'elements-sk/icon/launch-icon-sk';
+import '../../../elements-sk/modules/icons/close-icon-sk';
+import '../../../elements-sk/modules/icons/content-copy-icon-sk';
+import '../../../elements-sk/modules/icons/launch-icon-sk';
 import '../../../infra-sk/modules/task-driver-sk';
 
 // Type defining the text and action of the upper-right button of the dialog.
diff --git a/status/modules/details-dialog-sk/details-dialog-sk_test.ts b/status/modules/details-dialog-sk/details-dialog-sk_test.ts
index 2ff4c03..cd833f4 100644
--- a/status/modules/details-dialog-sk/details-dialog-sk_test.ts
+++ b/status/modules/details-dialog-sk/details-dialog-sk_test.ts
@@ -1,7 +1,7 @@
 import './index';
 import { expect } from 'chai';
 import fetchMock from 'fetch-mock';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import { DetailsDialogSk } from './details-dialog-sk';
 
 import { setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
diff --git a/status/modules/gold-status-sk/BUILD.bazel b/status/modules/gold-status-sk/BUILD.bazel
index 453a78c..107bc40 100644
--- a/status/modules/gold-status-sk/BUILD.bazel
+++ b/status/modules/gold-status-sk/BUILD.bazel
@@ -14,9 +14,10 @@
     ts_deps = [
         "//golden/modules:rpc_types_ts_lib",
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "gold-status-sk.ts",
@@ -56,10 +57,10 @@
     deps = [
         ":gold-status-sk",
         "//golden/modules:rpc_types_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/status/modules/gold-status-sk/gold-status-sk.ts b/status/modules/gold-status-sk/gold-status-sk.ts
index f205902..64a0069 100644
--- a/status/modules/gold-status-sk/gold-status-sk.ts
+++ b/status/modules/gold-status-sk/gold-status-sk.ts
@@ -6,10 +6,10 @@
 
  * Custom element to display untriaged Gold iamges.
  */
-import { define } from 'elements-sk/define';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { define } from '../../../elements-sk/modules/define';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { GUICorpusStatus, StatusResponse } from '../../../golden/modules/rpc_types';
 
diff --git a/status/modules/gold-status-sk/gold-status-sk_test.ts b/status/modules/gold-status-sk/gold-status-sk_test.ts
index 6797b8c..816accd 100644
--- a/status/modules/gold-status-sk/gold-status-sk_test.ts
+++ b/status/modules/gold-status-sk/gold-status-sk_test.ts
@@ -1,7 +1,7 @@
 import './index';
 import { expect } from 'chai';
 import fetchMock from 'fetch-mock';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import { GoldStatusSk } from './gold-status-sk';
 import { StatusResponse } from '../../../golden/modules/rpc_types';
 
diff --git a/status/modules/navigation-sk/BUILD.bazel b/status/modules/navigation-sk/BUILD.bazel
index 3b8c7e9..bdbf874 100644
--- a/status/modules/navigation-sk/BUILD.bazel
+++ b/status/modules/navigation-sk/BUILD.bazel
@@ -11,10 +11,15 @@
         "//status/modules:styles_sass_lib",
     ],
     sass_srcs = ["navigation-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/icons/battery-charging-80-icon-sk",
+        "//elements-sk/modules/icons/dashboard-icon-sk",
+        "//elements-sk/modules/icons/devices-icon-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -49,9 +54,9 @@
     src = "navigation-sk_test.ts",
     deps = [
         ":navigation-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/status/modules/navigation-sk/navigation-sk.ts b/status/modules/navigation-sk/navigation-sk.ts
index f1cac05..f16c497 100644
--- a/status/modules/navigation-sk/navigation-sk.ts
+++ b/status/modules/navigation-sk/navigation-sk.ts
@@ -5,14 +5,14 @@
  * Element that offers navigation links for available pages.
  *
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
-import 'elements-sk/icon/battery-charging-80-icon-sk';
-import 'elements-sk/icon/dashboard-icon-sk';
-import 'elements-sk/icon/devices-icon-sk';
+import '../../../elements-sk/modules/icons/battery-charging-80-icon-sk';
+import '../../../elements-sk/modules/icons/dashboard-icon-sk';
+import '../../../elements-sk/modules/icons/devices-icon-sk';
 
 export class NavigationSk extends ElementSk {
   private static template = (el: NavigationSk) => html` <div class="table">
diff --git a/status/modules/navigation-sk/navigation-sk_test.ts b/status/modules/navigation-sk/navigation-sk_test.ts
index 151c0b2..a1ed45a 100644
--- a/status/modules/navigation-sk/navigation-sk_test.ts
+++ b/status/modules/navigation-sk/navigation-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 import { expect } from 'chai';
-import { $ } from 'common-sk/modules/dom';
+import { $ } from '../../../infra-sk/modules/dom';
 import { NavigationSk } from './navigation-sk';
 
 import { setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
diff --git a/status/modules/perf-status-sk/BUILD.bazel b/status/modules/perf-status-sk/BUILD.bazel
index 51e5e47..7f09e09 100644
--- a/status/modules/perf-status-sk/BUILD.bazel
+++ b/status/modules/perf-status-sk/BUILD.bazel
@@ -14,9 +14,10 @@
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//perf/modules/json:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -55,11 +56,11 @@
     src = "perf-status-sk_test.ts",
     deps = [
         ":perf-status-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "//perf/modules/json:index_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/status/modules/perf-status-sk/perf-status-sk.ts b/status/modules/perf-status-sk/perf-status-sk.ts
index f84a38f..e13fe93 100644
--- a/status/modules/perf-status-sk/perf-status-sk.ts
+++ b/status/modules/perf-status-sk/perf-status-sk.ts
@@ -4,10 +4,10 @@
  *
  * Custom element for displaying status of Perf regressions.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { AlertsStatus } from '../../../perf/modules/json';
 
diff --git a/status/modules/perf-status-sk/perf-status-sk_test.ts b/status/modules/perf-status-sk/perf-status-sk_test.ts
index ed17ebb..dbfd929 100644
--- a/status/modules/perf-status-sk/perf-status-sk_test.ts
+++ b/status/modules/perf-status-sk/perf-status-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 import { expect } from 'chai';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
 import { PerfStatusSk } from './perf-status-sk';
diff --git a/status/modules/rotations-sk/BUILD.bazel b/status/modules/rotations-sk/BUILD.bazel
index da802b0..572de19 100644
--- a/status/modules/rotations-sk/BUILD.bazel
+++ b/status/modules/rotations-sk/BUILD.bazel
@@ -14,8 +14,8 @@
     sk_element_deps = ["//status/modules/tree-status-sk"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -33,8 +33,8 @@
     ],
     ts_deps = [
         "//status/modules/tree-status-sk:test_data_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "rotations-sk-demo.ts",
 )
@@ -55,9 +55,9 @@
     src = "rotations-sk_test.ts",
     deps = [
         ":rotations-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
     ],
 )
diff --git a/status/modules/rotations-sk/rotations-sk-demo.ts b/status/modules/rotations-sk/rotations-sk-demo.ts
index 21033c1..c8ad222 100644
--- a/status/modules/rotations-sk/rotations-sk-demo.ts
+++ b/status/modules/rotations-sk/rotations-sk-demo.ts
@@ -1,7 +1,7 @@
 import './index';
 import '../tree-status-sk';
 import fetchMock from 'fetch-mock';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import {
   treeStatusResp,
   generalRoleResp,
diff --git a/status/modules/rotations-sk/rotations-sk.ts b/status/modules/rotations-sk/rotations-sk.ts
index 85f8851..1d97738 100644
--- a/status/modules/rotations-sk/rotations-sk.ts
+++ b/status/modules/rotations-sk/rotations-sk.ts
@@ -4,7 +4,7 @@
  *
  * Custom element for displaying current rotations for Skia, GPU, Android, and Infra.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { unsafeHTML } from 'lit-html/directives/unsafe-html.js';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
diff --git a/status/modules/rotations-sk/rotations-sk_test.ts b/status/modules/rotations-sk/rotations-sk_test.ts
index c638a52..5c33695 100644
--- a/status/modules/rotations-sk/rotations-sk_test.ts
+++ b/status/modules/rotations-sk/rotations-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 import { expect } from 'chai';
-import { $, $$ } from 'common-sk/modules/dom';
+import { $, $$ } from '../../../infra-sk/modules/dom';
 import { RotationsSk } from './rotations-sk';
 
 import { setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
diff --git a/status/modules/status-sk/BUILD.bazel b/status/modules/status-sk/BUILD.bazel
index 1f3b982..8003686 100644
--- a/status/modules/status-sk/BUILD.bazel
+++ b/status/modules/status-sk/BUILD.bazel
@@ -24,14 +24,18 @@
         "//status/modules/perf-status-sk",
         "//status/modules/rotations-sk",
         "//status/modules/tree-status-sk",
+        "//elements-sk/modules/collapse-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/expand-less-icon-sk",
+        "//elements-sk/modules/icons/expand-more-icon-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//status/modules/rpc:index_ts_lib",
         "//status/modules:settings_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -51,8 +55,8 @@
         "//status/modules/rpc-mock:index_ts_lib",
         "//status/modules/tree-status-sk:test_data_ts_lib",
         "//status/modules:settings_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "status-sk-demo.ts",
 )
@@ -75,6 +79,7 @@
         ":status-sk",
         "//bugs-central/modules/json:index_ts_lib",
         "//golden/modules:rpc_types_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "//perf/modules/json:index_ts_lib",
         "//status/modules:settings_ts_lib",
@@ -82,7 +87,6 @@
         "//status/modules/tree-status-sk:test_data_ts_lib",
         "@npm//@types/chai",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
     ],
 )
diff --git a/status/modules/status-sk/status-sk-demo.ts b/status/modules/status-sk/status-sk-demo.ts
index 4380756..37b2b70 100644
--- a/status/modules/status-sk/status-sk-demo.ts
+++ b/status/modules/status-sk/status-sk-demo.ts
@@ -1,5 +1,5 @@
 import './index';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { getAutorollerStatusesResponse, incrementalResponse0, SetupMocks } from '../rpc-mock';
 import { AlertsStatus } from '../../../perf/modules/json/index';
diff --git a/status/modules/status-sk/status-sk.ts b/status/modules/status-sk/status-sk.ts
index 2de0d4d..8ec6760 100644
--- a/status/modules/status-sk/status-sk.ts
+++ b/status/modules/status-sk/status-sk.ts
@@ -4,9 +4,9 @@
  *
  * The majority of the Status page.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
 import '../../../infra-sk/modules/theme-chooser-sk';
@@ -20,10 +20,10 @@
 import '../perf-status-sk';
 import '../rotations-sk';
 import '../tree-status-sk';
-import 'elements-sk/collapse-sk';
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/icon/expand-less-icon-sk';
-import 'elements-sk/icon/expand-more-icon-sk';
+import '../../../elements-sk/modules/collapse-sk';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/icons/expand-less-icon-sk';
+import '../../../elements-sk/modules/icons/expand-more-icon-sk';
 import { defaultRepo, repoUrl, treeStatusBaseUrl } from '../settings';
 import { TreeStatus } from '../tree-status-sk/tree-status-sk';
 import { RotationsSk } from '../rotations-sk/rotations-sk';
diff --git a/status/modules/status-sk/status-sk_test.ts b/status/modules/status-sk/status-sk_test.ts
index fbf44bd..94c4c17 100644
--- a/status/modules/status-sk/status-sk_test.ts
+++ b/status/modules/status-sk/status-sk_test.ts
@@ -1,6 +1,6 @@
 import './index';
 import { expect } from 'chai';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { StatusSk } from './status-sk';
 
diff --git a/status/modules/styles.scss b/status/modules/styles.scss
index 0f6b322..07a968e 100644
--- a/status/modules/styles.scss
+++ b/status/modules/styles.scss
@@ -1,5 +1,5 @@
-@import 'node_modules/elements-sk/themes/color-palette.scss';
-@import 'node_modules/elements-sk/themes/themes.scss';
+@import '../../elements-sk/modules/themes/color-palette';
+@import '../../elements-sk/modules/themes/themes';
 @import '../../infra-sk/themes';
 
 body,
diff --git a/status/modules/tree-status-sk/BUILD.bazel b/status/modules/tree-status-sk/BUILD.bazel
index f91edb8..7b6cde2 100644
--- a/status/modules/tree-status-sk/BUILD.bazel
+++ b/status/modules/tree-status-sk/BUILD.bazel
@@ -18,11 +18,19 @@
         "//status/modules:styles_sass_lib",
     ],
     sass_srcs = ["tree-status-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/icons/android-icon-sk",
+        "//elements-sk/modules/icons/devices-other-icon-sk",
+        "//elements-sk/modules/icons/gesture-icon-sk",
+        "//elements-sk/modules/icons/star-icon-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -37,8 +45,8 @@
     sk_element_deps = [":tree-status-sk"],
     ts_deps = [
         ":test_data_ts_lib",
-        "@npm//common-sk",
         "@npm//fetch-mock",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_entry_point = "tree-status-sk-demo.ts",
 )
@@ -60,11 +68,11 @@
     deps = [
         ":test_data_ts_lib",
         ":tree-status-sk",
+        "//infra-sk/modules:dom_ts_lib",
         "//infra-sk/modules:test_util_ts_lib",
         "@npm//@types/chai",
         "@npm//@types/sinon",
         "@npm//chai",
-        "@npm//common-sk",
         "@npm//fetch-mock",
         "@npm//sinon",
     ],
diff --git a/status/modules/tree-status-sk/tree-status-sk-demo.ts b/status/modules/tree-status-sk/tree-status-sk-demo.ts
index 7cc0747..6716b16 100644
--- a/status/modules/tree-status-sk/tree-status-sk-demo.ts
+++ b/status/modules/tree-status-sk/tree-status-sk-demo.ts
@@ -1,5 +1,5 @@
 import './index';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import fetchMock from 'fetch-mock';
 import { TreeStatusSk } from './tree-status-sk';
 import {
diff --git a/status/modules/tree-status-sk/tree-status-sk.ts b/status/modules/tree-status-sk/tree-status-sk.ts
index e859175..d57e7c0 100644
--- a/status/modules/tree-status-sk/tree-status-sk.ts
+++ b/status/modules/tree-status-sk/tree-status-sk.ts
@@ -9,16 +9,16 @@
  * @property baseURL: string - The base URL for getting tree status of specific repos.
  * @property repo: string - The repository we are currently looking at.
 */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { diffDate } from 'common-sk/modules/human';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { diffDate } from '../../../infra-sk/modules/human';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
-import 'elements-sk/icon/star-icon-sk';
-import 'elements-sk/icon/gesture-icon-sk';
-import 'elements-sk/icon/android-icon-sk';
-import 'elements-sk/icon/devices-other-icon-sk';
+import '../../../elements-sk/modules/icons/star-icon-sk';
+import '../../../elements-sk/modules/icons/gesture-icon-sk';
+import '../../../elements-sk/modules/icons/android-icon-sk';
+import '../../../elements-sk/modules/icons/devices-other-icon-sk';
 
 export interface Rotation {
   role: string;
diff --git a/status/modules/tree-status-sk/tree-status-sk_test.ts b/status/modules/tree-status-sk/tree-status-sk_test.ts
index 1238bc7..c46911e 100644
--- a/status/modules/tree-status-sk/tree-status-sk_test.ts
+++ b/status/modules/tree-status-sk/tree-status-sk_test.ts
@@ -3,7 +3,7 @@
 import sinon from 'sinon';
 import { expect } from 'chai';
 import fetchMock from 'fetch-mock';
-import { $ } from 'common-sk/modules/dom';
+import { $ } from '../../../infra-sk/modules/dom';
 import { eventPromise, setUpElementUnderTest } from '../../../infra-sk/modules/test_util';
 import { TreeStatus, TreeStatusSk } from './tree-status-sk';
 import {
diff --git a/task_scheduler/modules/BUILD.bazel b/task_scheduler/modules/BUILD.bazel
index 3b9fe74..3b73719 100644
--- a/task_scheduler/modules/BUILD.bazel
+++ b/task_scheduler/modules/BUILD.bazel
@@ -5,7 +5,7 @@
     srcs = ["colors.scss"],
     visibility = ["//visibility:public"],
     deps = [
-        "@npm//:node_modules/elements-sk/themes/color-palette.scss",
-        "@npm//:node_modules/elements-sk/themes/themes.scss",
+        "//elements-sk/modules/themes:color-palette_sass_lib",
+        "//elements-sk/modules/themes:themes_sass_lib",
     ],
 )
diff --git a/task_scheduler/modules/colors.scss b/task_scheduler/modules/colors.scss
index 18979fc..951ce33 100644
--- a/task_scheduler/modules/colors.scss
+++ b/task_scheduler/modules/colors.scss
@@ -5,8 +5,8 @@
 
     @import '../colors';
 */
-@import 'node_modules/elements-sk/themes/color-palette.scss';
-@import 'node_modules/elements-sk/themes/themes.scss';
+@import '../../elements-sk/modules/themes/color-palette';
+@import '../../elements-sk/modules/themes/themes';
 
 :root {
   --primary: var(--blue-grey-600);
diff --git a/task_scheduler/modules/gantt-chart-sk/BUILD.bazel b/task_scheduler/modules/gantt-chart-sk/BUILD.bazel
index 6d05dfa..ae10e36 100644
--- a/task_scheduler/modules/gantt-chart-sk/BUILD.bazel
+++ b/task_scheduler/modules/gantt-chart-sk/BUILD.bazel
@@ -10,8 +10,9 @@
     sass_deps = ["//task_scheduler/modules:colors_sass_lib"],
     sass_srcs = ["gantt-chart-sk.scss"],
     ts_deps = [
-        "@npm//common-sk",
         "@npm//lit-html",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
     ],
     ts_srcs = [
         "gantt-chart-sk.ts",
diff --git a/task_scheduler/modules/gantt-chart-sk/gantt-chart-sk.ts b/task_scheduler/modules/gantt-chart-sk/gantt-chart-sk.ts
index 5868da3..15f1880 100644
--- a/task_scheduler/modules/gantt-chart-sk/gantt-chart-sk.ts
+++ b/task_scheduler/modules/gantt-chart-sk/gantt-chart-sk.ts
@@ -3,9 +3,9 @@
  * @description Tools for displaying Gantt charts.
  */
 
-import { strDuration } from 'common-sk/modules/human';
+import { strDuration } from '../../../infra-sk/modules/human';
 import { render, svg } from 'lit-html';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 
 export interface Block {
   start: Date;
diff --git a/task_scheduler/modules/job-search-sk/BUILD.bazel b/task_scheduler/modules/job-search-sk/BUILD.bazel
index 5d72e37..01b2013 100644
--- a/task_scheduler/modules/job-search-sk/BUILD.bazel
+++ b/task_scheduler/modules/job-search-sk/BUILD.bazel
@@ -9,14 +9,18 @@
     name = "job-search-sk",
     sass_deps = [
         "//task_scheduler/modules:colors_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules/styles:table_sass_lib",
     ],
     sass_srcs = ["job-search-sk.scss"],
+    sk_element_deps = ["//elements-sk/modules/icons/delete-icon-sk"],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//task_scheduler/modules/rpc:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/task_scheduler/modules/job-search-sk/job-search-sk.scss b/task_scheduler/modules/job-search-sk/job-search-sk.scss
index 4a2dcea..cef696f 100644
--- a/task_scheduler/modules/job-search-sk/job-search-sk.scss
+++ b/task_scheduler/modules/job-search-sk/job-search-sk.scss
@@ -1,3 +1,5 @@
+@import '../../../elements-sk/modules/styles/table';
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../colors';
 
 job-search-sk {
diff --git a/task_scheduler/modules/job-search-sk/job-search-sk.ts b/task_scheduler/modules/job-search-sk/job-search-sk.ts
index 9a9c03e..f553862 100644
--- a/task_scheduler/modules/job-search-sk/job-search-sk.ts
+++ b/task_scheduler/modules/job-search-sk/job-search-sk.ts
@@ -4,9 +4,9 @@
  *
  * Provides UI for searching the jobs in the DB.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { ParamSet, toParamSet, fromParamSet } from 'common-sk/modules/query';
+import { ParamSet, toParamSet, fromParamSet } from '../../../infra-sk/modules/query';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import {
   TaskSchedulerService,
@@ -15,10 +15,8 @@
   Job,
   JobStatus,
 } from '../rpc';
-import 'elements-sk/icon/delete-icon-sk';
-import 'elements-sk/styles/buttons';
-import 'elements-sk/styles/table';
-import { $$ } from 'common-sk/modules/dom';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
+import { $$ } from '../../../infra-sk/modules/dom';
 
 // Names and types of search terms.
 interface DisplaySearchTerm {
diff --git a/task_scheduler/modules/job-sk/BUILD.bazel b/task_scheduler/modules/job-sk/BUILD.bazel
index 3600c8a..a7e2e90 100644
--- a/task_scheduler/modules/job-sk/BUILD.bazel
+++ b/task_scheduler/modules/job-sk/BUILD.bazel
@@ -7,18 +7,26 @@
 
 sk_element(
     name = "job-sk",
-    sass_deps = ["//infra-sk:themes_sass_lib"],
+    sass_deps = [
+        "//infra-sk:themes_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules/styles:table_sass_lib",
+    ],
     sass_srcs = ["job-sk.scss"],
     sk_element_deps = [
         "//infra-sk/modules/human-date-sk",
         "//task_scheduler/modules/task-graph-sk",
+        "//elements-sk/modules/icons/delete-icon-sk",
+        "//elements-sk/modules/icons/search-icon-sk",
+        "//elements-sk/modules/icons/timeline-icon-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//task_scheduler/modules/rpc:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/task_scheduler/modules/job-sk/job-sk.scss b/task_scheduler/modules/job-sk/job-sk.scss
index 82665da..66963e0 100644
--- a/task_scheduler/modules/job-sk/job-sk.scss
+++ b/task_scheduler/modules/job-sk/job-sk.scss
@@ -1,3 +1,5 @@
+@import '../../../elements-sk/modules/styles/buttons';
+@import '../../../elements-sk/modules/styles/table';
 @import '../../../infra-sk/themes.scss';
 
 job-sk {
diff --git a/task_scheduler/modules/job-sk/job-sk.ts b/task_scheduler/modules/job-sk/job-sk.ts
index 0dbccf1..171d60e 100644
--- a/task_scheduler/modules/job-sk/job-sk.ts
+++ b/task_scheduler/modules/job-sk/job-sk.ts
@@ -8,12 +8,10 @@
  *
  * @example
  */
-import { diffDate } from 'common-sk/modules/human';
-import { define } from 'elements-sk/define';
-import 'elements-sk/styles/table';
-import 'elements-sk/styles/buttons';
+import { diffDate } from '../../../infra-sk/modules/human';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import {
   GetTaskSchedulerService,
@@ -26,9 +24,9 @@
 import { TaskGraphSk } from '../task-graph-sk/task-graph-sk';
 import '../task-graph-sk';
 import '../../../infra-sk/modules/human-date-sk';
-import 'elements-sk/icon/delete-icon-sk';
-import 'elements-sk/icon/search-icon-sk';
-import 'elements-sk/icon/timeline-icon-sk';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
+import '../../../elements-sk/modules/icons/search-icon-sk';
+import '../../../elements-sk/modules/icons/timeline-icon-sk';
 
 const jobStatusToTextClass = new Map<JobStatus, [string, string]>();
 jobStatusToTextClass.set(JobStatus.JOB_STATUS_IN_PROGRESS, [
diff --git a/task_scheduler/modules/job-timeline-sk/BUILD.bazel b/task_scheduler/modules/job-timeline-sk/BUILD.bazel
index e9eb3ef..cdbbc72 100644
--- a/task_scheduler/modules/job-timeline-sk/BUILD.bazel
+++ b/task_scheduler/modules/job-timeline-sk/BUILD.bazel
@@ -14,7 +14,7 @@
     sk_element_deps = ["//task_scheduler/modules/gantt-chart-sk"],
     ts_deps = [
         "//task_scheduler/modules/rpc:index_ts_lib",
-        "@npm//elements-sk",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/task_scheduler/modules/job-timeline-sk/job-timeline-sk.ts b/task_scheduler/modules/job-timeline-sk/job-timeline-sk.ts
index 82dd2c8..3e606eb 100644
--- a/task_scheduler/modules/job-timeline-sk/job-timeline-sk.ts
+++ b/task_scheduler/modules/job-timeline-sk/job-timeline-sk.ts
@@ -5,7 +5,7 @@
  * Displays a timeline of the tasks which comprise a given job, to easily
  * determine where time is being spent.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { Job, Task } from '../rpc';
 import {
   draw, Block, Lane, Data,
diff --git a/task_scheduler/modules/job-trigger-sk/BUILD.bazel b/task_scheduler/modules/job-trigger-sk/BUILD.bazel
index e591b74..2290989 100644
--- a/task_scheduler/modules/job-trigger-sk/BUILD.bazel
+++ b/task_scheduler/modules/job-trigger-sk/BUILD.bazel
@@ -9,14 +9,20 @@
     name = "job-trigger-sk",
     sass_deps = [
         "//task_scheduler/modules:colors_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
     ],
     sass_srcs = ["job-trigger-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/icons/add-icon-sk",
+        "//elements-sk/modules/icons/delete-icon-sk",
+        "//elements-sk/modules/icons/send-icon-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//task_scheduler/modules/rpc:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:query_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/task_scheduler/modules/job-trigger-sk/job-trigger-sk.scss b/task_scheduler/modules/job-trigger-sk/job-trigger-sk.scss
index 307bf7a..9270e3b 100644
--- a/task_scheduler/modules/job-trigger-sk/job-trigger-sk.scss
+++ b/task_scheduler/modules/job-trigger-sk/job-trigger-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../colors';
 
 job-trigger-sk {
diff --git a/task_scheduler/modules/job-trigger-sk/job-trigger-sk.ts b/task_scheduler/modules/job-trigger-sk/job-trigger-sk.ts
index b18e610..35fffe5 100644
--- a/task_scheduler/modules/job-trigger-sk/job-trigger-sk.ts
+++ b/task_scheduler/modules/job-trigger-sk/job-trigger-sk.ts
@@ -4,7 +4,7 @@
  *
  * Provides an interface for triggering jobs.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import {
@@ -14,11 +14,10 @@
   TriggerJobsRequest,
   TriggerJobsResponse,
 } from '../rpc';
-import 'elements-sk/icon/add-icon-sk';
-import 'elements-sk/icon/delete-icon-sk';
-import 'elements-sk/icon/send-icon-sk';
-import 'elements-sk/styles/buttons';
-import { toParamSet, fromParamSet } from 'common-sk/modules/query';
+import '../../../elements-sk/modules/icons/add-icon-sk';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
+import '../../../elements-sk/modules/icons/send-icon-sk';
+import { toParamSet, fromParamSet } from '../../../infra-sk/modules/query';
 
 interface TriggeredJob {
   name: string;
diff --git a/task_scheduler/modules/skip-tasks-sk/BUILD.bazel b/task_scheduler/modules/skip-tasks-sk/BUILD.bazel
index e4ddd59..803ae88 100644
--- a/task_scheduler/modules/skip-tasks-sk/BUILD.bazel
+++ b/task_scheduler/modules/skip-tasks-sk/BUILD.bazel
@@ -9,15 +9,21 @@
     name = "skip-tasks-sk",
     sass_deps = [
         "//task_scheduler/modules:colors_sass_lib",
+        "//elements-sk/modules/styles:buttons_sass_lib",
+        "//elements-sk/modules/styles:table_sass_lib",
     ],
     sass_srcs = ["skip-tasks-sk.scss"],
-    sk_element_deps = ["//infra-sk/modules/multi-input-sk"],
+    sk_element_deps = [
+        "//infra-sk/modules/multi-input-sk",
+        "//elements-sk/modules/icons/add-icon-sk",
+        "//elements-sk/modules/icons/delete-icon-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//task_scheduler/modules/rpc:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/task_scheduler/modules/skip-tasks-sk/skip-tasks-sk.scss b/task_scheduler/modules/skip-tasks-sk/skip-tasks-sk.scss
index b094b22..77db167 100644
--- a/task_scheduler/modules/skip-tasks-sk/skip-tasks-sk.scss
+++ b/task_scheduler/modules/skip-tasks-sk/skip-tasks-sk.scss
@@ -1,3 +1,5 @@
+@import '../../../elements-sk/modules/styles/table';
+@import '../../../elements-sk/modules/styles/buttons';
 @import '../colors';
 
 skip-tasks-sk {
diff --git a/task_scheduler/modules/skip-tasks-sk/skip-tasks-sk.ts b/task_scheduler/modules/skip-tasks-sk/skip-tasks-sk.ts
index a4b67fb..fb828c1 100644
--- a/task_scheduler/modules/skip-tasks-sk/skip-tasks-sk.ts
+++ b/task_scheduler/modules/skip-tasks-sk/skip-tasks-sk.ts
@@ -4,7 +4,7 @@
  *
  * Provides UI for manipulating rules to prevent triggering of matching tasks.
  */
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import '../../../infra-sk/modules/multi-input-sk';
@@ -16,11 +16,9 @@
   GetSkipTaskRulesResponse,
   DeleteSkipTaskRuleResponse,
 } from '../rpc';
-import { $$ } from 'common-sk/modules/dom';
-import 'elements-sk/icon/add-icon-sk';
-import 'elements-sk/icon/delete-icon-sk';
-import 'elements-sk/styles/buttons';
-import 'elements-sk/styles/table';
+import { $$ } from '../../../infra-sk/modules/dom';
+import '../../../elements-sk/modules/icons/add-icon-sk';
+import '../../../elements-sk/modules/icons/delete-icon-sk';
 
 export class SkipTasksSk extends ElementSk {
   private static template = (ele: SkipTasksSk) => html`
diff --git a/task_scheduler/modules/task-graph-sk/BUILD.bazel b/task_scheduler/modules/task-graph-sk/BUILD.bazel
index 2e7a9ff..f0cae91 100644
--- a/task_scheduler/modules/task-graph-sk/BUILD.bazel
+++ b/task_scheduler/modules/task-graph-sk/BUILD.bazel
@@ -13,8 +13,8 @@
     sass_srcs = ["task-graph-sk.scss"],
     ts_deps = [
         "//task_scheduler/modules/rpc:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
@@ -29,11 +29,9 @@
     sk_element_deps = [
         "//infra-sk/modules/theme-chooser-sk",
         ":task-graph-sk",
+        "//elements-sk/modules/error-toast-sk",
     ],
-    ts_deps = [
-        "//task_scheduler/modules/rpc-mock:index_ts_lib",
-        "@npm//elements-sk",
-    ],
+    ts_deps = ["//task_scheduler/modules/rpc-mock:index_ts_lib"],
     ts_entry_point = "task-graph-sk-demo.ts",
 )
 
diff --git a/task_scheduler/modules/task-graph-sk/task-graph-sk-demo.ts b/task_scheduler/modules/task-graph-sk/task-graph-sk-demo.ts
index 2a40d04..ab5b2dc 100644
--- a/task_scheduler/modules/task-graph-sk/task-graph-sk-demo.ts
+++ b/task_scheduler/modules/task-graph-sk/task-graph-sk-demo.ts
@@ -1,4 +1,4 @@
-import 'elements-sk/error-toast-sk';
+import '../../../elements-sk/modules/error-toast-sk';
 import { TaskGraphSk } from './task-graph-sk';
 import { job2 } from '../rpc-mock';
 import '../../../infra-sk/modules/theme-chooser-sk';
diff --git a/task_scheduler/modules/task-graph-sk/task-graph-sk.ts b/task_scheduler/modules/task-graph-sk/task-graph-sk.ts
index 5044a6c..e80de6a 100644
--- a/task_scheduler/modules/task-graph-sk/task-graph-sk.ts
+++ b/task_scheduler/modules/task-graph-sk/task-graph-sk.ts
@@ -6,7 +6,7 @@
  */
 
 import { render, svg } from 'lit-html';
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 
 import {
   Job,
diff --git a/task_scheduler/modules/task-scheduler-scaffold-sk/BUILD.bazel b/task_scheduler/modules/task-scheduler-scaffold-sk/BUILD.bazel
index f1a4aa9..ff1748a 100644
--- a/task_scheduler/modules/task-scheduler-scaffold-sk/BUILD.bazel
+++ b/task_scheduler/modules/task-scheduler-scaffold-sk/BUILD.bazel
@@ -9,18 +9,26 @@
     name = "task-scheduler-scaffold-sk",
     sass_deps = [
         "//task_scheduler/modules:colors_sass_lib",
-        "@npm//:node_modules/elements-sk/colors.scss",
+        "//elements-sk/modules:colors_sass_lib",
     ],
     sass_srcs = ["task-scheduler-scaffold-sk.scss"],
     sk_element_deps = [
         "//infra-sk/modules/app-sk",
         "//infra-sk/modules/login-sk",
         "//infra-sk/modules/theme-chooser-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/block-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/icons/home-icon-sk",
+        "//elements-sk/modules/icons/search-icon-sk",
+        "//elements-sk/modules/icons/send-icon-sk",
+        "//elements-sk/modules/spinner-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/task_scheduler/modules/task-scheduler-scaffold-sk/task-scheduler-scaffold-sk.scss b/task_scheduler/modules/task-scheduler-scaffold-sk/task-scheduler-scaffold-sk.scss
index cdf3bdc..6238275 100644
--- a/task_scheduler/modules/task-scheduler-scaffold-sk/task-scheduler-scaffold-sk.scss
+++ b/task_scheduler/modules/task-scheduler-scaffold-sk/task-scheduler-scaffold-sk.scss
@@ -1,4 +1,4 @@
-@import 'node_modules/elements-sk/colors.scss';
+@import '../../../elements-sk/modules/colors';
 @import '../colors';
 
 task-scheduler-scaffold-sk {
diff --git a/task_scheduler/modules/task-scheduler-scaffold-sk/task-scheduler-scaffold-sk.ts b/task_scheduler/modules/task-scheduler-scaffold-sk/task-scheduler-scaffold-sk.ts
index 79548a5..5c505c1 100644
--- a/task_scheduler/modules/task-scheduler-scaffold-sk/task-scheduler-scaffold-sk.ts
+++ b/task_scheduler/modules/task-scheduler-scaffold-sk/task-scheduler-scaffold-sk.ts
@@ -17,23 +17,23 @@
  * @attr {boolean} testing_offline - If we should operate entirely in offline
  *     mode.
  */
-import { define } from 'elements-sk/define';
-import { errorMessage } from 'elements-sk/errorMessage';
+import { define } from '../../../elements-sk/modules/define';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
 import { html } from 'lit-html';
-import { SpinnerSk } from 'elements-sk/spinner-sk/spinner-sk';
+import { SpinnerSk } from '../../../elements-sk/modules/spinner-sk/spinner-sk';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
 import '../../../infra-sk/modules/app-sk';
 import '../../../infra-sk/modules/login-sk';
 import '../../../infra-sk/modules/theme-chooser-sk';
 
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/icon/block-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/icon/home-icon-sk';
-import 'elements-sk/icon/search-icon-sk';
-import 'elements-sk/icon/send-icon-sk';
-import 'elements-sk/spinner-sk';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/icons/block-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/icons/home-icon-sk';
+import '../../../elements-sk/modules/icons/search-icon-sk';
+import '../../../elements-sk/modules/icons/send-icon-sk';
+import '../../../elements-sk/modules/spinner-sk';
 
 /**
  * Moves the elements from one NodeList to the given HTMLElement.
diff --git a/task_scheduler/modules/task-sk/BUILD.bazel b/task_scheduler/modules/task-sk/BUILD.bazel
index 5d2d6d2..d55092c 100644
--- a/task_scheduler/modules/task-sk/BUILD.bazel
+++ b/task_scheduler/modules/task-sk/BUILD.bazel
@@ -9,6 +9,7 @@
     name = "task-sk",
     sass_deps = [
         "//task_scheduler/modules:colors_sass_lib",
+        "//elements-sk/modules/styles:table_sass_lib",
     ],
     sass_srcs = ["task-sk.scss"],
     sk_element_deps = [
@@ -18,9 +19,10 @@
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//task_scheduler/modules/rpc:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:human_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/task_scheduler/modules/task-sk/task-sk.scss b/task_scheduler/modules/task-sk/task-sk.scss
index 8a1e68d..9266c92 100644
--- a/task_scheduler/modules/task-sk/task-sk.scss
+++ b/task_scheduler/modules/task-sk/task-sk.scss
@@ -1,3 +1,4 @@
+@import '../../../elements-sk/modules/styles/table';
 @import '../colors';
 
 task-sk {
diff --git a/task_scheduler/modules/task-sk/task-sk.ts b/task_scheduler/modules/task-sk/task-sk.ts
index 0a10b0b..c925ee6 100644
--- a/task_scheduler/modules/task-sk/task-sk.ts
+++ b/task_scheduler/modules/task-sk/task-sk.ts
@@ -8,11 +8,10 @@
  * @attr {string} swarming - URL of the Swarming server.
  * @attr {string} taskID - Unique ID of the task to display.
  */
-import { diffDate } from 'common-sk/modules/human';
-import { define } from 'elements-sk/define';
-import 'elements-sk/styles/table';
+import { diffDate } from '../../../infra-sk/modules/human';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import {
   GetTaskSchedulerService,
diff --git a/tree_status/modules/display-tree-status-sk/BUILD.bazel b/tree_status/modules/display-tree-status-sk/BUILD.bazel
index 8dab1b2..3ae3e5b 100644
--- a/tree_status/modules/display-tree-status-sk/BUILD.bazel
+++ b/tree_status/modules/display-tree-status-sk/BUILD.bazel
@@ -9,8 +9,8 @@
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//tree_status/modules/json:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "display-tree-status-sk.ts",
diff --git a/tree_status/modules/display-tree-status-sk/display-tree-status-sk.ts b/tree_status/modules/display-tree-status-sk/display-tree-status-sk.ts
index ae6eddf..41e3165 100644
--- a/tree_status/modules/display-tree-status-sk/display-tree-status-sk.ts
+++ b/tree_status/modules/display-tree-status-sk/display-tree-status-sk.ts
@@ -9,7 +9,7 @@
  *
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { Status } from '../json';
diff --git a/tree_status/modules/enter-tree-status-sk/BUILD.bazel b/tree_status/modules/enter-tree-status-sk/BUILD.bazel
index 5613dc3..fb562c2 100644
--- a/tree_status/modules/enter-tree-status-sk/BUILD.bazel
+++ b/tree_status/modules/enter-tree-status-sk/BUILD.bazel
@@ -7,9 +7,9 @@
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//tree_status/modules/json:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "enter-tree-status-sk.ts",
diff --git a/tree_status/modules/enter-tree-status-sk/enter-tree-status-sk.ts b/tree_status/modules/enter-tree-status-sk/enter-tree-status-sk.ts
index f36258d..d5c3384 100644
--- a/tree_status/modules/enter-tree-status-sk/enter-tree-status-sk.ts
+++ b/tree_status/modules/enter-tree-status-sk/enter-tree-status-sk.ts
@@ -21,12 +21,12 @@
  *
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 
 import '../list-autorollers-sk';
 
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
 import { AutorollerSnapshot } from '../json';
diff --git a/tree_status/modules/list-autorollers-sk/BUILD.bazel b/tree_status/modules/list-autorollers-sk/BUILD.bazel
index c01c5c1..b85b5fe 100644
--- a/tree_status/modules/list-autorollers-sk/BUILD.bazel
+++ b/tree_status/modules/list-autorollers-sk/BUILD.bazel
@@ -3,12 +3,16 @@
 sk_element(
     name = "list-autorollers-sk",
     sass_srcs = ["list-autorollers-sk.scss"],
+    sk_element_deps = [
+        "//elements-sk/modules/checkbox-sk",
+        "//elements-sk/modules/radio-sk",
+    ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//tree_status/modules/json:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/tree_status/modules/list-autorollers-sk/list-autorollers-sk.ts b/tree_status/modules/list-autorollers-sk/list-autorollers-sk.ts
index ee6ebe7..a06ae71 100644
--- a/tree_status/modules/list-autorollers-sk/list-autorollers-sk.ts
+++ b/tree_status/modules/list-autorollers-sk/list-autorollers-sk.ts
@@ -17,15 +17,15 @@
  *
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { findParent } from 'common-sk/modules/dom';
-import { CheckOrRadio } from 'elements-sk/checkbox-sk/checkbox-sk';
+import { findParent } from '../../../infra-sk/modules/dom';
+import { CheckOrRadio } from '../../../elements-sk/modules/checkbox-sk/checkbox-sk';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { AutorollerSnapshot } from '../json';
 
-import 'elements-sk/checkbox-sk';
-import 'elements-sk/radio-sk';
+import '../../../elements-sk/modules/checkbox-sk';
+import '../../../elements-sk/modules/radio-sk';
 
 export class ListAutorollersSk extends ElementSk {
   private checkedAutorollers: Set<string> = new Set();
diff --git a/tree_status/modules/tree-scaffold-sk/BUILD.bazel b/tree_status/modules/tree-scaffold-sk/BUILD.bazel
index 5cd1337..f08f556 100644
--- a/tree_status/modules/tree-scaffold-sk/BUILD.bazel
+++ b/tree_status/modules/tree-scaffold-sk/BUILD.bazel
@@ -7,11 +7,15 @@
         "//infra-sk/modules/app-sk",
         "//infra-sk/modules/login-sk",
         "//infra-sk/modules/theme-chooser-sk",
+        "//elements-sk/modules/error-toast-sk",
+        "//elements-sk/modules/icons/folder-icon-sk",
+        "//elements-sk/modules/icons/help-icon-sk",
+        "//elements-sk/modules/icons/home-icon-sk",
     ],
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/tree_status/modules/tree-scaffold-sk/tree-scaffold-sk.ts b/tree_status/modules/tree-scaffold-sk/tree-scaffold-sk.ts
index 1568800..b9c9452 100644
--- a/tree_status/modules/tree-scaffold-sk/tree-scaffold-sk.ts
+++ b/tree_status/modules/tree-scaffold-sk/tree-scaffold-sk.ts
@@ -9,14 +9,14 @@
  *
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 
-import 'elements-sk/error-toast-sk';
-import 'elements-sk/icon/folder-icon-sk';
-import 'elements-sk/icon/help-icon-sk';
-import 'elements-sk/icon/home-icon-sk';
+import '../../../elements-sk/modules/error-toast-sk';
+import '../../../elements-sk/modules/icons/folder-icon-sk';
+import '../../../elements-sk/modules/icons/help-icon-sk';
+import '../../../elements-sk/modules/icons/home-icon-sk';
 
 import '../../../infra-sk/modules/app-sk';
 import '../../../infra-sk/modules/login-sk';
diff --git a/tree_status/modules/tree-status-sk/BUILD.bazel b/tree_status/modules/tree-status-sk/BUILD.bazel
index 1ef04bb..c04f41c 100644
--- a/tree_status/modules/tree-status-sk/BUILD.bazel
+++ b/tree_status/modules/tree-status-sk/BUILD.bazel
@@ -13,9 +13,11 @@
     ts_deps = [
         "//infra-sk/modules/ElementSk:index_ts_lib",
         "//tree_status/modules/json:index_ts_lib",
-        "@npm//common-sk",
-        "@npm//elements-sk",
         "@npm//lit-html",
+        "//elements-sk/modules:define_ts_lib",
+        "//elements-sk/modules:errormessage_ts_lib",
+        "//infra-sk/modules:dom_ts_lib",
+        "//infra-sk/modules:jsonorthrow_ts_lib",
     ],
     ts_srcs = [
         "index.ts",
diff --git a/tree_status/modules/tree-status-sk/tree-status-sk.ts b/tree_status/modules/tree-status-sk/tree-status-sk.ts
index 2be20f7..277c23d 100644
--- a/tree_status/modules/tree-status-sk/tree-status-sk.ts
+++ b/tree_status/modules/tree-status-sk/tree-status-sk.ts
@@ -9,15 +9,15 @@
  *
  */
 
-import { define } from 'elements-sk/define';
+import { define } from '../../../elements-sk/modules/define';
 import { html } from 'lit-html';
-import { errorMessage } from 'elements-sk/errorMessage';
-import { jsonOrThrow } from 'common-sk/modules/jsonOrThrow';
+import { errorMessage } from '../../../elements-sk/modules/errorMessage';
+import { jsonOrThrow } from '../../../infra-sk/modules/jsonOrThrow';
 
 import '../display-tree-status-sk';
 import '../enter-tree-status-sk';
 
-import { $$ } from 'common-sk/modules/dom';
+import { $$ } from '../../../infra-sk/modules/dom';
 import { ElementSk } from '../../../infra-sk/modules/ElementSk';
 import { AutorollerSnapshot, Status } from '../json';
 import { EnterTreeStatus } from '../enter-tree-status-sk/enter-tree-status-sk';