diff --git a/.travis.yml b/.travis.yml
index 9bab337f336541a553d415a6c8eadf36e899bdf8..c90bba8deeadb813e94879d9a4b311d2922c5d8a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,12 +3,14 @@ env:
   global:
     - TRAVIS=true
   matrix:
-    - TASK=spinach DB=mysql
+    - TASK=spinach_project DB=mysql
+    - TASK=spinach_other DB=mysql
     - TASK=spec:api DB=mysql
     - TASK=spec:feature DB=mysql
     - TASK=spec:other DB=mysql
     - TASK=jasmine:ci DB=mysql
-    - TASK=spinach DB=postgresql
+    - TASK=spinach_project DB=postgresql
+    - TASK=spinach_other DB=postgresql
     - TASK=spec:api DB=postgresql
     - TASK=spec:feature DB=postgresql
     - TASK=spec:other DB=postgresql
diff --git a/features/admin/active_tab.feature b/features/admin/active_tab.feature
index 15fcda45e40324a432654503604d32ad51d86ba2..b28e16f0d6ac030b6d8a8596631dea077a206a5e 100644
--- a/features/admin/active_tab.feature
+++ b/features/admin/active_tab.feature
@@ -1,3 +1,4 @@
+@admin
 Feature: Admin active tab
   Background:
     Given I sign in as an admin
diff --git a/features/admin/broadcast_messages.feature b/features/admin/broadcast_messages.feature
index 5f16120b7cc0788db24cf9452996872faaf250ec..b2c3112320ad2bc81c434ccd717250f83e7f2bd8 100644
--- a/features/admin/broadcast_messages.feature
+++ b/features/admin/broadcast_messages.feature
@@ -1,3 +1,4 @@
+@admin
 Feature: Admin Broadcast Messages
   Background:
     Given I sign in as an admin
diff --git a/features/admin/groups.feature b/features/admin/groups.feature
index 352c1b3803ffebd550d8edbb98c7503899252670..1a465c1be559571c616beac98d0cbad53f577194 100644
--- a/features/admin/groups.feature
+++ b/features/admin/groups.feature
@@ -1,3 +1,4 @@
+@admin
 Feature: Admin Groups
   Background:
     Given I sign in as an admin
diff --git a/features/admin/logs.feature b/features/admin/logs.feature
index d07f00480801d86d66400144efcf1042f24f0980..ceb3bc34927a9939fcc1b01adbd6d1e191571cb3 100644
--- a/features/admin/logs.feature
+++ b/features/admin/logs.feature
@@ -1,3 +1,4 @@
+@admin
 Feature: Admin Logs
   Background:
     Given I sign in as an admin
diff --git a/features/admin/projects.feature b/features/admin/projects.feature
index 4a4ee1c11e0603231c73446c2d97803a2b35ea9b..fb07ccdb3520420985134e18f02d354771dd259a 100644
--- a/features/admin/projects.feature
+++ b/features/admin/projects.feature
@@ -1,3 +1,4 @@
+@admin
 Feature: Admin Projects
   Background:
     Given I sign in as an admin
diff --git a/features/admin/users.feature b/features/admin/users.feature
index ce9f32f50d9c4f74b0e711f9ac76fec7d984ce40..ce31aafd2906686dbaf5c35e8cd39911233d0e28 100644
--- a/features/admin/users.feature
+++ b/features/admin/users.feature
@@ -1,3 +1,4 @@
+@admin
 Feature: Admin Users
   Background:
     Given I sign in as an admin
diff --git a/features/dashboard/active_tab.feature b/features/dashboard/active_tab.feature
index 3e1cf5aa0ca801195aeae46b4c7656f189a9f692..22dfa2f7840acadbd1535ce5c21cbd58bdf2319c 100644
--- a/features/dashboard/active_tab.feature
+++ b/features/dashboard/active_tab.feature
@@ -1,3 +1,4 @@
+@dashboard
 Feature: Dashboard active tab
   Background:
     Given I sign in as a user
diff --git a/features/dashboard/archived_projects.feature b/features/dashboard/archived_projects.feature
index 399c9b53d814e9532d09e68a0ffc7fe5a928127c..e23238d225c3f3a0eabc57146a15cdc1b83d6eca 100644
--- a/features/dashboard/archived_projects.feature
+++ b/features/dashboard/archived_projects.feature
@@ -1,3 +1,4 @@
+@dashboard
 Feature: Dashboard with archived projects
   Background:
     Given I sign in as a user
diff --git a/features/dashboard/dashboard.feature b/features/dashboard/dashboard.feature
index e249f392de783969a5bd1f2f52e801990fc342a4..bebaa78e46c5c6f5cd0ea7c5d83184aa46e8c4b4 100644
--- a/features/dashboard/dashboard.feature
+++ b/features/dashboard/dashboard.feature
@@ -1,3 +1,4 @@
+@dashboard
 Feature: Dashboard
   Background:
     Given I sign in as a user
diff --git a/features/dashboard/event_filters.feature b/features/dashboard/event_filters.feature
index e0c6b84b008cf153ae1f135bb934c2c4e7c55265..41de0ae83179ad1cff37f5f0ee5a660fdc8789da 100644
--- a/features/dashboard/event_filters.feature
+++ b/features/dashboard/event_filters.feature
@@ -1,3 +1,4 @@
+@dashboard
 Feature: Event filters
   Background:
     Given I sign in as a user
diff --git a/features/dashboard/help.feature b/features/dashboard/help.feature
index 02ec688f8046b81de127c27fa704d630df7e3d07..56a0a860ab9153a9d3d31d562961adfc51c020ef 100644
--- a/features/dashboard/help.feature
+++ b/features/dashboard/help.feature
@@ -1,3 +1,4 @@
+@dashboard
 Feature: Help
   Background:
     Given I sign in as a user
diff --git a/features/dashboard/issues.feature b/features/dashboard/issues.feature
index d316b2d92057f962cfc5d84026bcc4cb44487cfa..72627e43e05c9484b2104af9b6f96079c5ae4e8d 100644
--- a/features/dashboard/issues.feature
+++ b/features/dashboard/issues.feature
@@ -1,3 +1,4 @@
+@dashboard
 Feature: Dashboard Issues
   Background:
     Given I sign in as a user
diff --git a/features/dashboard/merge_requests.feature b/features/dashboard/merge_requests.feature
index de560300735d9c24e16018fdc15ebe233a1e2e3d..dcef1290e7e3ac96d30ab0e8728ab738e6b246d4 100644
--- a/features/dashboard/merge_requests.feature
+++ b/features/dashboard/merge_requests.feature
@@ -1,3 +1,4 @@
+@dashboard
 Feature: Dashboard Merge Requests
   Background:
     Given I sign in as a user
diff --git a/features/dashboard/projects.feature b/features/dashboard/projects.feature
index 7d8c129face87b2534cf41d34a0135eae0c97667..5214cfc28eff9dd3cecb67f495be8be08ff6d7e5 100644
--- a/features/dashboard/projects.feature
+++ b/features/dashboard/projects.feature
@@ -1,3 +1,4 @@
+@dashboard
 Feature: Dashboard projects
   Background:
     Given I sign in as a user
diff --git a/features/dashboard/search.feature b/features/dashboard/search.feature
index 91d870f46f3bf57c6c6baeb70a151f7723572e99..24c450286979ff1fb9b8186f353e241c3a1e2aa9 100644
--- a/features/dashboard/search.feature
+++ b/features/dashboard/search.feature
@@ -1,3 +1,4 @@
+@dashboard
 Feature: Dashboard Search
   Background:
     Given I sign in as a user
diff --git a/features/profile/active_tab.feature b/features/profile/active_tab.feature
index 475641a33eddaa0636d0695e540765cb88a7b823..a99409d9fd72c97adbb471058d543c23adbade87 100644
--- a/features/profile/active_tab.feature
+++ b/features/profile/active_tab.feature
@@ -1,3 +1,4 @@
+@profile
 Feature: Profile active tab
   Background:
     Given I sign in as a user
diff --git a/features/profile/emails.feature b/features/profile/emails.feature
index 148fc7660813ebe6696323bb7b4b2364b0dceb88..19ed949f6ae5d84a841d3614a890945e983e02b0 100644
--- a/features/profile/emails.feature
+++ b/features/profile/emails.feature
@@ -1,3 +1,4 @@
+@profile
 Feature: Profile Emails
   Background:
     Given I sign in as a user
diff --git a/features/profile/group.feature b/features/profile/group.feature
index 70b682e2913d384fa4ca2fe97401d2a650dcae29..e2fbfde77be5402dd87e6ccbe8c4cda06047a631 100644
--- a/features/profile/group.feature
+++ b/features/profile/group.feature
@@ -1,3 +1,4 @@
+@profile
 Feature: Profile Group
   Background:
     Given I sign in as "John Doe"
diff --git a/features/profile/notifications.feature b/features/profile/notifications.feature
index e7937953c1be8492bd592fb39a4ee117b2729c65..55997d44dec28477bba861b2788c1a893f5a9534 100644
--- a/features/profile/notifications.feature
+++ b/features/profile/notifications.feature
@@ -1,3 +1,4 @@
+@profile
 Feature: Profile Notifications
   Background:
     Given I sign in as a user
diff --git a/features/profile/profile.feature b/features/profile/profile.feature
index 44bb190f62431efbee0df21ab44e68e0dfaa5cf0..d2125e013bc344daecb20541b16dbc577ca16cb4 100644
--- a/features/profile/profile.feature
+++ b/features/profile/profile.feature
@@ -1,3 +1,4 @@
+@profile
 Feature: Profile
   Background:
     Given I sign in as a user
diff --git a/features/profile/ssh_keys.feature b/features/profile/ssh_keys.feature
index 018d124e41230c9a97ff59ffbff04572f5aae750..581503fc5f9d9a00bf1ce8d02a0d1813f3980b08 100644
--- a/features/profile/ssh_keys.feature
+++ b/features/profile/ssh_keys.feature
@@ -1,3 +1,4 @@
+@profile
 Feature: Profile SSH Keys
   Background:
     Given I sign in as a user
diff --git a/features/public/projects.feature b/features/public/projects.feature
index 57fe834b4bfd38173132bea847c3ba307ba68407..c7bb3b4f8ce01ebda2883f1c0dfc65baccfe0c1d 100644
--- a/features/public/projects.feature
+++ b/features/public/projects.feature
@@ -1,3 +1,4 @@
+@public
 Feature: Public Projects Feature
   Background:
     Given public project "Community"
diff --git a/features/public/public_groups.feature b/features/public/public_groups.feature
index 7f1ec718e35fce0897c522e5bd85953d145c1f41..8bbda8cb6d4a80a90e23be0c364f28e467a2c7bf 100644
--- a/features/public/public_groups.feature
+++ b/features/public/public_groups.feature
@@ -1,3 +1,4 @@
+@public
 Feature: Public Projects Feature
   Background:
     Given group "TestGroup" has private project "Enterprise"
diff --git a/features/snippets/discover.feature b/features/snippets/discover.feature
index d6fd2cd7808b4566cccbfd58152da57bd6dbbfa8..f0b8d3a408a8daad88a0c68336a7c86c8693f36e 100644
--- a/features/snippets/discover.feature
+++ b/features/snippets/discover.feature
@@ -1,3 +1,4 @@
+@snippets
 Feature: Discover Snippets
   Background:
     Given I sign in as a user
diff --git a/features/snippets/snippets.feature b/features/snippets/snippets.feature
index 1119defa17dc63fb0ac46717ac03c4d22603dab2..3ee8720ddd5fa963be353c5ac40da798e8762ef1 100644
--- a/features/snippets/snippets.feature
+++ b/features/snippets/snippets.feature
@@ -1,3 +1,4 @@
+@snippets
 Feature: Snippets Feature
   Background:
     Given I sign in as a user
diff --git a/features/snippets/user.feature b/features/snippets/user.feature
index 4c8a91501c40503b7481359f4a7441bb5b3fc2e0..d032a33686b94ca701823a6f0efdf5be76433d58 100644
--- a/features/snippets/user.feature
+++ b/features/snippets/user.feature
@@ -1,3 +1,4 @@
+@snippets
 Feature: User Snippets
   Background:
     Given I sign in as a user
diff --git a/lib/tasks/spinach.rake b/lib/tasks/spinach.rake
index dcc7d0fe01c24287fc3cfd9334cbfb0596425126..507b315759d2557c83f2a33181d62939f0967f3a 100644
--- a/lib/tasks/spinach.rake
+++ b/lib/tasks/spinach.rake
@@ -6,7 +6,28 @@ task :spinach do
     %W(rake gitlab:setup),
     %W(spinach),
   ]
+  run_commands(cmds)
+end
+
+desc "GITLAB | Run project spinach features"
+task :spinach_project do
+  cmds = [
+    %W(rake gitlab:setup),
+    %W(spinach --tags ~@admin,~@dashboard,~@profile,~@public,~@snippets),
+  ]
+  run_commands(cmds)
+end
+
+desc "GITLAB | Run other spinach features"
+task :spinach_other do
+  cmds = [
+    %W(rake gitlab:setup),
+    %W(spinach --tags @admin,@dashboard,@profile,@public,@snippets),
+  ]
+  run_commands(cmds)
+end
 
+def run_commands(cmds)
   cmds.each do |cmd|
     system({'RAILS_ENV' => 'test', 'force' => 'yes'}, *cmd) or raise("#{cmd} failed!")
   end