Index: .csslintrc
===================================================================
--- .csslintrc	(revision 0)
+++ .csslintrc	(working copy)
@@ -0,0 +1,39 @@
+{
+    "adjoining-classes": false,
+    "box-sizing": false,
+    "compatible-vendor-prefixes": false,
+    "duplicate-background-images": false,
+    "import": false,
+    "important": false,
+    "outline-none": false,
+    "overqualified-elements": false,
+    "text-indent": false,
+
+    "ids": false,
+    "box-model": false,
+    "qualified-headings": false,
+    "unique-headings": false,
+    "universal-selector": false,
+    "regex-selectors": false,
+    "floats": false,
+    "font-sizes": false,
+
+    "bulletproof-font-face": true,
+    "display-property-grouping": true,
+    "duplicate-properties": true,
+    "empty-rules": true,
+    "errors": true,
+    "fallback-colors": true,
+    "font-sizes": true,
+    "gradients": true,
+    "known-properties": true,
+    "rules-count": true,
+    "selector-max": true,
+    "selector-max-approaching": true,
+    "shorthand": true,
+    "star-property-hack": true,
+    "underscore-property-hack": true,
+    "unqualified-attributes": true,
+    "vendor-prefix": true,
+    "zero-units": true
+}
Index: .editorconfig
===================================================================
--- .editorconfig	(revision 29876)
+++ .editorconfig	(working copy)
@@ -13,7 +13,7 @@
 trim_trailing_whitespace = true
 indent_style = tab
 
-[{.jshintrc,*.json,*.yml}]
+[{.csslintrc,.jshintrc,*.json,*.yml}]
 indent_style = space
 indent_size = 2
 
Index: Gruntfile.js
===================================================================
--- Gruntfile.js	(revision 29876)
+++ Gruntfile.js	(working copy)
@@ -125,6 +125,29 @@
 				}
 			}
 		},
+		csslint: {
+			options: {
+				csslintrc: '.csslintrc'
+			},
+			core: {
+				expand: true,
+				cwd: SOURCE_DIR,
+				src: [
+					'wp-admin/css/*.css',
+					'wp-content/themes/twenty{ten,eleven,twelve,thirteen,fourteen,fifteen}/**/*.css',
+					'wp-includes/css/*.css'
+				]
+			},
+			build: {
+				expand: true,
+				cwd: BUILD_DIR,
+				src: [
+					'wp-admin/css/**/*.css',
+					'wp-content/themes/twenty{ten,eleven,twelve,thirteen,fourteen,fifteen}/**/*.css',
+					'wp-includes/css/**/*.css'
+				]
+			}
+		},
 		cssmin: {
 			options: {
 				'wp-admin': ['wp-admin', 'color-picker', 'customize-controls', 'customize-widgets', 'ie', 'install', 'login', 'deprecated-*']
@@ -461,10 +484,10 @@
 	// Register tasks.
 
 	// RTL task.
-	grunt.registerTask('rtl', ['cssjanus:core', 'cssjanus:colors']);
+	grunt.registerTask('rtl', ['cssjanus:core', 'cssjanus:colors', 'csslint:build']);
 
 	// Color schemes task.
-	grunt.registerTask('colors', ['sass:colors', 'autoprefixer:colors']);
+	grunt.registerTask('colors', ['sass:colors', 'autoprefixer:colors', 'csslint:build']);
 
 	// JSHint task.
 	grunt.registerTask('jshint:corejs', ['jshint:grunt', 'jshint:tests', 'jshint:themes', 'jshint:core']);
@@ -471,14 +494,14 @@
 
 	// Pre-commit task.
 	grunt.registerTask('precommit', 'Runs front-end dev/test tasks in preparation for a commit.',
-		['autoprefixer:core', 'imagemin:core', 'jshint:corejs', 'qunit:compiled']);
+		['csslint:core', 'autoprefixer:core', 'imagemin:core', 'jshint:corejs', 'qunit:compiled']);
 
 	// Copy task.
 	grunt.registerTask('copy:all', ['copy:files', 'copy:wp-admin-rtl', 'copy:version']);
 
 	// Build task.
-	grunt.registerTask('build', ['clean:all', 'copy:all', 'cssmin:core', 'colors', 'rtl', 'cssmin:rtl', 'cssmin:colors',
-		'uglify:core', 'uglify:jqueryui', 'concat:tinymce', 'compress:tinymce', 'clean:tinymce', 'jsvalidate:build']);
+	grunt.registerTask('build', ['clean:all', 'copy:all', 'csslint:core' , 'cssmin:core', 'colors', 'rtl', 'cssmin:rtl', 'cssmin:colors',
+		'uglify:core', 'uglify:jqueryui', 'concat:tinymce', 'compress:tinymce', 'clean:tinymce', 'jsvalidate:build', 'csslint:build']);
 
 	// Testing tasks.
 	grunt.registerMultiTask('phpunit', 'Runs PHPUnit tests, including the ajax and multisite tests.', function() {
Index: package.json
===================================================================
--- package.json	(revision 29876)
+++ package.json	(working copy)
@@ -15,6 +15,7 @@
     "grunt-contrib-compress": "~0.10.0",
     "grunt-contrib-concat": "~0.5.0",
     "grunt-contrib-copy": "~0.5.0",
+    "grunt-contrib-csslint": "~0.3.1",
     "grunt-contrib-cssmin": "~0.10.0",
     "grunt-contrib-imagemin": "~0.4.1",
     "grunt-contrib-jshint": "~0.10.0",
