diff --git a/Dangerfile b/Dangerfile
index 32f4b4d23c372ed5135c0af450df41c920d9fb27..95dd48aae9e742d76d1ccc13d2fb354167969dad 100644
--- a/Dangerfile
+++ b/Dangerfile
@@ -13,3 +13,4 @@ danger.import_dangerfile(path: 'danger/prettier')
 danger.import_dangerfile(path: 'danger/eslint')
 danger.import_dangerfile(path: 'danger/roulette')
 danger.import_dangerfile(path: 'danger/single_codebase')
+danger.import_dangerfile(path: 'danger/gitlab_ui_wg')
diff --git a/danger/gitlab_ui_wg/Dangerfile b/danger/gitlab_ui_wg/Dangerfile
new file mode 100644
index 0000000000000000000000000000000000000000..02d94fa5ab76b3d68a526ccf19f243983c147d90
--- /dev/null
+++ b/danger/gitlab_ui_wg/Dangerfile
@@ -0,0 +1,55 @@
+def mention_single_codebase_approvers
+  frontend_maintainers = %w(@filipa @iamphill @psimyn @sarahghp @mishunov)
+  ux_maintainers = %w(@tauriedavis @rverissimo)
+
+  rows = []
+  users = []
+
+  if gitlab.mr_labels.include?('frontend')
+    frontend_maintainer = frontend_maintainers.sample
+
+    rows << "| ~frontend | `#{frontend_maintainer}`"
+    users << frontend_maintainer
+  end
+
+  if gitlab.mr_labels.include?('UX')
+    ux_maintainers = ux_maintainers.sample
+
+    rows << "| ~UX | `#{ux_maintainers}`"
+    users << ux_maintainers
+  end
+
+  if rows.empty?
+    backup_maintainer = frontend_maintainers.sample
+
+    rows << "| ~frontend / ~UX | `#{backup_maintainer}`"
+    users << backup_maintainer
+  end
+
+  markdown(<<~MARKDOWN.strip)
+    ## GitLab UI Working Group changes
+
+    This merge request contains changes related to the work of [cleaning up CSS and creating
+    reusable components](https://gitlab.com/groups/gitlab-org/-/epics/950).
+    These changes will need to be reviewed and approved by the following engineers:
+
+    | Category | Reviewer
+    |----------|---------
+    #{rows.join("\n")}
+
+    To make sure this happens, please follow these steps:
+
+    1. Add all of the mentioned users to the list of merge request approvals.
+    2. Assign the merge request to the first person in the above list.
+
+    If you are a reviewer, please follow these steps:
+
+    1. Review the merge request. If it is good to go, approve it.
+    2. Once approved, assign to the next person in the above list. If you are
+       the last person in the list, merge the merge request.
+  MARKDOWN
+end
+
+if gitlab.mr_labels.include?('CSS cleanup')
+  mention_single_codebase_approvers
+end
diff --git a/danger/roulette/Dangerfile b/danger/roulette/Dangerfile
index 808bc96a0a017da8deee5140017866db09a80f00..3a4625c4eb641f83f0db7f9a8c5fe5d970679cd0 100644
--- a/danger/roulette/Dangerfile
+++ b/danger/roulette/Dangerfile
@@ -60,7 +60,9 @@ categories = changes.keys - [:unknown]
 
 # Single codebase MRs are reviewed using a slightly different process, so we
 # disable the review roulette for such MRs.
-if changes.any? && !gitlab.mr_labels.include?('single codebase')
+# CSS Clean up MRs are reviewed using a slightly different process, so we
+# disable the review roulette for such MRs.
+if changes.any? && !gitlab.mr_labels.include?('single codebase') && !gitlab.mr_labels.include?('CSS cleanup')
   team =
     begin
       helper.project_team