diff --git a/xtask/src/gen_doc.rs b/xtask/src/gen_doc.rs
index a79c46e7fd3e6192891d93a80e534391fe7e3b1d..ca07f7dd27f3ce7f7832c9e1337d328c5fd990b4 100644
--- a/xtask/src/gen_doc.rs
+++ b/xtask/src/gen_doc.rs
@@ -315,10 +315,26 @@ pub(super) fn gen_doc() -> Result<()> {
     Command::new("cargo")
         .args([
             "doc",
-            "--workspace",
+            "--package=pallet-*",
+            "--package=*-runtime",
+            "--package=*distance*",
+            "--package=*membership*",
             "--no-deps",
             "--document-private-items",
             "--features=runtime-benchmarks",
+            "--package=pallet-atomic-swap",
+            "--package=pallet-authority-discovery",
+            "--package=pallet-balances",
+            "--package=pallet-collective",
+            "--package=pallet-im-online",
+            "--package=pallet-preimage",
+            "--package=pallet-proxy",
+            "--package=pallet-scheduler",
+            "--package=pallet-session",
+            "--package=pallet-sudo",
+            "--package=pallet-timestamp",
+            "--package=pallet-treasury",
+            "--package=pallet-utility",
         ])
         .status()
         .expect("cargo doc failed to execute");