diff --git a/dashboards.js b/dashboards.js
new file mode 100644
index 0000000000000000000000000000000000000000..23de0e374d191d191480ab440f1a59c4220e7b01
--- /dev/null
+++ b/dashboards.js
@@ -0,0 +1,46 @@
+'use strict';
+
+// Include gulp
+const { src, dest } = require('gulp');
+
+// Include Our Plugins
+const sass = require('gulp-sass')(require('sass'));
+const prefix = require('gulp-autoprefixer');
+const rename = require('gulp-rename');
+const minify = require('gulp-minify');
+const clean = require('gulp-clean-css');
+
+/**
+ * Error handler function so we can see when errors happen.
+ * @param {object} err error that was thrown
+ * @returns {undefined}
+ */
+function handleError(err) {
+  // eslint-disable-next-line no-console
+  console.error(err.toString());
+  this.emit('end');
+}
+
+// Export our tasks.
+module.exports = {
+
+  // Compile Sass.
+  compileDashboards: function() {
+    return src([
+        './src/patterns/global.scss',
+        './src/patterns/01-core/**/*.scss',
+        './src/patterns/03-layouts/layout/**/*.scss',
+        './src/patterns/04-components/00-cms-styles/dashboards/*.scss',
+        './src/patterns/04-components/form-view-search/*.scss'
+      ])
+      .pipe(sass.sync({
+        includePaths: ['node_modules'],
+        outputStyle: 'expanded'
+      }).on('error', handleError))
+      .pipe(prefix({ cascade: false }))
+      .pipe(rename(function(path) { path.dirname = ''; return path;}))
+      .pipe(clean())
+      .pipe(rename('dashboard.css'))
+      .pipe(dest('./dist/css'));
+  }
+};